18764 lines
960 KiB
Text
18764 lines
960 KiB
Text
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 1
|
|
DAKAKT MAC 20-JAN-77 11:00 DIAGNOSTIC PARAMETERS SEQ 0011
|
|
|
|
1 ;DAKAK
|
|
2
|
|
3 000000 MCNVER==0
|
|
4 000002 DECVER==2
|
|
5
|
|
6
|
|
7 XLIST
|
|
8 LIST
|
|
9 LALL
|
|
10
|
|
11 NAME \MCNVER,\DECVER^
|
|
12
|
|
13 TITLE DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2
|
|
14 ^
|
|
15
|
|
16 ;(MULTIPY, INTERGER MULTIPLY, DIVIDE, INTERGER DIVIDE)
|
|
17
|
|
18 ;COPYRIGHT 1975,1977
|
|
19 ;DIGITAL EQUIPMENT CORPORATION
|
|
20 ;MARLBORO, MASS. 01752
|
|
21
|
|
22 ;JOHN R. KIRCHOFF
|
|
23
|
|
24 000137 LOC 137
|
|
25 000137 000000 000002 MCNVER,,DECVER
|
|
26
|
|
27 NOSYM
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2
|
|
DAKAKT MAC 20-JAN-77 11:00 DIAGNOSTIC PARAMETERS SEQ 0012
|
|
|
|
28 SUBTTL DIAGNOSTIC PARAMETERS
|
|
29
|
|
30 ;OPERATOR DEFINITIONS
|
|
31
|
|
32 001000 000000 OPDEF ER1 [1B8]
|
|
33 002000 000000 OPDEF ER2 [2B8]
|
|
34 003000 000000 OPDEF ER3 [3B8]
|
|
35 004000 000000 OPDEF ER4 [4B8]
|
|
36 005000 000000 OPDEF ER5 [5B8]
|
|
37 006000 000000 OPDEF ER6 [6B8]
|
|
38 007000 000000 OPDEF ER7 [7B8]
|
|
39 010000 000000 OPDEF ER10 [10B8]
|
|
40 011000 000000 OPDEF ER11 [11B8]
|
|
41 012000 000000 OPDEF ER12 [12B8]
|
|
42 013000 000000 OPDEF ER13 [13B8]
|
|
43
|
|
44 043570 LUUO1=ERRMES
|
|
45 043570 LUUO2=ERRMES
|
|
46 043570 LUUO3=ERRMES
|
|
47 043570 LUUO4=ERRMES
|
|
48 043570 LUUO5=ERRMES
|
|
49 043570 LUUO6=ERRMES
|
|
50 043570 LUUO7=ERRMES
|
|
51 043570 LUUO10=ERRMES
|
|
52 043570 LUUO11=ERRMES
|
|
53 043570 LUUO12=ERRMES
|
|
54 043570 LUUO13=ERRMES
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3
|
|
DAKAKT MAC 20-JAN-77 11:00 DIAGNOSTIC PARAMETERS SEQ 0013
|
|
|
|
55 ;SUBROUTINE ASSEMBLY DEFINITIONS
|
|
56
|
|
57 000040 DEBUG=40
|
|
58 000001 EXCASB=1
|
|
59 000001 USRASB=1
|
|
60 000001 KI10=1
|
|
61 000001 KA10=1
|
|
62 000001 KLOLD==1
|
|
63 000001 PGMEND=1
|
|
64 000001 ERDIAG=1
|
|
65
|
|
66 ;SPECIAL FEATURE DEFINITIONS
|
|
67
|
|
68 030000 SADR1=BEGIN
|
|
69 030000 SADR2=BEGIN
|
|
70 030000 SADR3=BEGIN
|
|
71 030000 SADR4=BEGIN
|
|
72 254000 030000 SADR5=JRST BEGIN
|
|
73 254000 030000 SADR6=JRST BEGIN
|
|
74 254000 030000 SADR7=JRST BEGIN
|
|
75 254000 030000 SADR8=JRST BEGIN
|
|
76 254000 030000 SADR9=JRST BEGIN
|
|
77 254000 030000 SADR10=JRST BEGIN
|
|
78 254000 030000 SADR11=JRST BEGIN
|
|
79
|
|
80 ;SPECIAL FEATURE PARAMETERS
|
|
81
|
|
82 000000 PAREA0=0
|
|
83 000000 PAREA1=0
|
|
84 000000 PAREA2=0
|
|
85 444153 415300 PAREA3=SIXBIT/DAKAK/
|
|
86 645560 000000 PAREA4=SIXBIT/TMP/
|
|
87 000000 PAREA5=0
|
|
88 000000 PAREA6=0
|
|
89 001000 ITERAT==1000
|
|
90
|
|
91 ;MACROS
|
|
92
|
|
93 DEFINE SAVEAC (A,B)<
|
|
94 MOVEI AC+2,. ;SAVE TEST PC
|
|
95 MOVEM AC+2,TESTPC
|
|
96 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
97 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 4
|
|
DAKAKT MAC 20-JAN-77 11:00 DIAGNOSTIC PARAMETERS SEQ 0014
|
|
|
|
98 DEFINE MOP1 (T,A1,A2,EE,R1,R2)<
|
|
99 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [A1],[A2] AND
|
|
100 ;[EE] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
101 ;AND E AGAINST [R1], [R2] AND [EE] RESPECTIVELY.
|
|
102 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
103
|
|
104 F'T'0: AA1=A1 ;INITIAL C(AC)
|
|
105 MOVE AC,[A1] ;PRELOAD AC (MULTIPLIER)
|
|
106 AA2=A2 ;INITIAL C(AC+1)
|
|
107 MOVE AC+1,[A2] ;PRELOAD AC+1
|
|
108 AEE=EE ;INITIAL C(E)
|
|
109 MOVE E,[EE] ;PRELOAD E (MULTIPLICAND)
|
|
110 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
111 AR1=R1 ;EXPECTED RESULT IN AC
|
|
112 CAME AC,[R1] ;IS HIGH PRODUCT CORRECT?
|
|
113 ER3 AC,T'1 ;HIGH PRODUCT FAILED
|
|
114 AR2=R2 ;EXPECTED RESULT IN AC+1
|
|
115 CAME AC+1,[R2] ;IS LOW PRODUCT CORRECT?
|
|
116 ER4 AC+1,T'2 ;LOW PRODUCT FAILED
|
|
117 AEE=EE ;INITIAL C(E)
|
|
118 CAME E,[EE] ;WAS C(E) CLOBBERED?
|
|
119 ER5 E,T'3 ;C(E) WAS CLOBBERED
|
|
120 JUMPL AC+2,F'T'0 ;LOOP ON ERROR SWITCH>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 1
|
|
PARAM KLM 18-JAN-77 11:38 *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977 SEQ 0015
|
|
|
|
121 SUBTTL *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977
|
|
122
|
|
123 DEFINE S,<;*********************************************************************>
|
|
124
|
|
125 S^;*********************************************************************^
|
|
126 ;*DATA SWITCHES (READ FROM CONSOLE IN EXEC MODE OR TYPED IN IN USER MODE)
|
|
127 ;*LEFT HALF SWITCHES ARE PRE-ASSIGNED FOR SUBROUTINE PACKAGE USE
|
|
128 ;*AND CONTROL LOOPING, PRINTING (TTY OR OTHER DEVICE) AND MISC. FUNCTIONS
|
|
129 S^;*********************************************************************^
|
|
130
|
|
131 400000 ABORT== 400000 ;ABORT PROGRAM ON PASS COMPLETION
|
|
132 200000 RSTART==200000 ;RESTART TEST, PRINT TOTALS
|
|
133 100000 TOTALS==100000 ;PRINT TOTALS, CONTINUE
|
|
134
|
|
135 040000 NOPNT== 040000 ;INHIBIT ALL PRINT/TYPE OUT (EXCEPT FORCED)
|
|
136 020000 PNTLPT==020000 ;PRINT ALL DATA ON LPT (LOGICAL DEVICE, USER MODE)
|
|
137 010000 DING== 010000 ;RING BELL ON ERROR
|
|
138
|
|
139 004000 LOOPER==004000 ;ENTER EXERCISE/CHECK LOOP ON ERROR
|
|
140 002000 ERSTOP==002000 ;HALT ON TEST ERROR
|
|
141 001000 PALERS==001000 ;PRINT ALL ERRORS
|
|
142
|
|
143 000400 RELIAB==000400 ;RELIABILITY MODE
|
|
144 000200 TXTINH==000200 ;INHIBIT ERROR TEXT
|
|
145 000100 INHPAG==000100 ;INHIBIT PAGING
|
|
146
|
|
147 000040 MODDVC==000040 ;MODIFY DEVICE CODE
|
|
148 000020 INHCSH==000020 ;INHIBIT CACHE
|
|
149 000010 OPRSEL==000010 ;OPERATOR SELECTION
|
|
150
|
|
151 000004 CHAIN== 000004 ;CHAIN CONTROL SWITCH
|
|
152
|
|
153 000002 KAHZ50==000002 ;KA10 50 HERTZ POWER
|
|
154
|
|
155 ;SWITCH 17 RESERVED !!!
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2
|
|
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0016
|
|
|
|
156 SUBTTL *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977
|
|
157
|
|
158 S^;*********************************************************************^
|
|
159 ;*SPECIAL SUBPROGRAM LINKAGES
|
|
160 S^;*********************************************************************^
|
|
161
|
|
162 027772 FSELNK= 27772 ;FILE SELECT LINK
|
|
163 027773 FRDLNK= 27773 ;FILE READ LINK
|
|
164 027774 LDLNK= 27774 ;LOAD LINKAGE ADDRESS
|
|
165 027775 DDTLNK= 27775 ;DDT LINKAGE ADDRESS
|
|
166 027776 MODLNK= 27776 ;OPERATIONAL MODE CHECK LINKAGE ADDRESS
|
|
167 027777 SUBLNK= 27777 ;SUBROUTINE LINKAGE ADDRESS
|
|
168
|
|
169 S^;*********************************************************************^
|
|
170 ;*SPECIAL SUBROUTINE FATAL HALTS
|
|
171 ;*USED TO REPORT ERRORS THAT CAUSE THE SUBROUTINES TO BE UNUSABLE
|
|
172 S^;*********************************************************************^
|
|
173
|
|
174 ;ADDRESS TAG REASON
|
|
175 ;---------------------
|
|
176
|
|
177 ; 1010 NOEXEC ;PROGRAM NOT CODED FOR EXEC MODE OPERATION
|
|
178 ; 1011 PLERR ;FATAL PUSH LIST POINTER ERROR
|
|
179 ; 1012 PLERR1 ;INITIAL PUSH LIST POINTER ERROR
|
|
180 ; 1013 MUOERR ;MUUO WITH LUUO HANDLER WIPED OUT
|
|
181 ; 1014 DTEBER ;DTE20 INTERRUPT WITHOUT DOORBELL
|
|
182 ; 1015 DTECER ;DTE20 CLOCK INTERRUPT WITHOUT FLAG SET
|
|
183 ; 1016 CPIERR ;CPU INITIALIZATION ERROR
|
|
184 ; 1017 EOPERR ;END OF PROGRAM ERROR
|
|
185 ; 1020 LUOERR ;INTERRUPT WITH LUUO HANDLER WIPED OUT
|
|
186
|
|
187 S^;*********************************************************************^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3
|
|
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0017
|
|
|
|
188 S^;*********************************************************************^
|
|
189 ;OPERATOR DEFINITIONS (NON-UUO'S)
|
|
190 S^;*********************************************************************^
|
|
191
|
|
192 260740 000000 OPDEF GO [PUSHJ P,] ;SUBROUTINE CALL
|
|
193 263740 000000 OPDEF RTN [POPJ P,] ;SUBROUTINE RETURN
|
|
194 261740 000000 OPDEF PUT [PUSH P,] ;PUT DATA ON PUSH LIST
|
|
195 262740 000000 OPDEF GET [POP P,] ;GET DATA FROM PUSH LIST
|
|
196 254000 000000 OPDEF PJRST [JRST ] ;JRST TO ROUTINE THAT RTN'S
|
|
197 254200 000000 OPDEF HALT [JRST 4,] ;DEFINITION FOR DDT
|
|
198 254100 000000 OPDEF JRSTF [JRST 2,] ;DEFINITION FOR DDT
|
|
199 254500 000000 OPDEF JEN [JRST 12,] ;DEFINITION FOR DDT
|
|
200
|
|
201 S^;*********************************************************************^
|
|
202 ;*SUBROUTINE INITIALIZATION CALL
|
|
203 S^;*********************************************************************^
|
|
204
|
|
205 265000 030011 OPDEF PGMINT [JSP 0,SBINIT] ;SUBROUTINE INITIALIZATION
|
|
206
|
|
207 S^;*********************************************************************^
|
|
208 ;*HALTING UUO'S (A MORE GRACEFUL HALT THAN SIMPLY USING THE HALT INSTRUCTION).
|
|
209 S^;*********************************************************************^
|
|
210
|
|
211 037640 000004 OPDEF FATAL [37B8!15B12!4] ;FATAL PROGRAMMING HALT
|
|
212 037600 000004 OPDEF ERRHLT [37B8!14B12!4] ;PROGRAM ERROR HALT
|
|
213
|
|
214 S^;*********************************************************************^
|
|
215 ;*TERMINAL INPUT UUO'S
|
|
216 ;*ALWAYS COME FROM THE CONSOLE TERMINAL IN EXEC MODE OR THE
|
|
217 ;*CONTROLLING TERMINAL (REAL TERMINAL OR PTY) IN USER MODE.
|
|
218 S^;*********************************************************************^
|
|
219
|
|
220 037000 000003 OPDEF TTICHR [37B8!0B12!3] ;TTY, INPUT ANY CHARACTER
|
|
221 037040 000003 OPDEF TTIYES [37B8!1B12!3] ;TTY, NORMAL RETURN Y
|
|
222 037100 000003 OPDEF TTINO [37B8!2B12!3] ;TTY, NORMAL RETURN N
|
|
223 037140 000003 OPDEF TTIOCT [37B8!3B12!3] ;TTY, INPUT OCTAL WORD
|
|
224 037200 000003 OPDEF TTIDEC [37B8!4B12!3] ;TTY, INPUT DECIMAL WORD
|
|
225 037240 000003 OPDEF TTICNV [37B8!5B12!3] ;TTY, INPUT CONVERTABLE WORD
|
|
226 037300 000003 OPDEF TTLOOK [37B8!6B12!3] ;TTY, KEYBOARD CHECK
|
|
227 037340 000003 OPDEF TTALTM [37B8!7B12!3] ;TTY, ALT-MODE CHECK
|
|
228 037400 000003 OPDEF TTSIXB [37B8!10B12!3] ;TTY, INPUT SIXBIT WORD
|
|
229 037440 000003 OPDEF TTYINP [37B8!11B12!3] ;TTY, IMAGE MODE INPUT
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 4
|
|
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0018
|
|
|
|
230 ;*TERMINAL OUTPUT UUO'S.
|
|
231
|
|
232 037000 000000 OPDEF PNTA [37B8!0B12!0] ;PRINT ASCII WORD
|
|
233 037000 000001 OPDEF PNTAF [37B8!0B12!1] ;PRINT ASCII WORD FORCED
|
|
234 037740 000000 OPDEF PNTAL [37B8!17B12!0] ;PRINT ASCIZ LINE
|
|
235 037740 000001 OPDEF PNTALF [37B8!17B12!1] ;PRINT ASCIZ LINE FORCED
|
|
236 037600 000003 OPDEF PSIXL [37B8!14B12!3] ;PRINT SIXBIT'Z LINE
|
|
237 037640 000003 OPDEF PSIXLF [37B8!15B12!3] ;PRINT SIXBIT'Z LINE FORCED
|
|
238 037000 000000 OPDEF PNTMSG [37B8!0B12!0] ;PRINT MESSAGE IMMEDIATE
|
|
239 037040 000000 OPDEF PNTMSF [37B8!1B12!0] ;PRINT MESSAGE IMMEDIATE FORCED
|
|
240 037100 000000 OPDEF PSIXM [37B8!2B12!0] ;PRINT SIXBIT'Z MSG IMMEDIATE
|
|
241 037200 000000 OPDEF PSIXMF [37B8!4B12!0] ;PRINT SIXBIT'Z MSG IMM FORCED
|
|
242 037000 000000 OPDEF PNTCI [37B8!0B12!0] ;PRINT CHARACTER IMMEDIATE
|
|
243 037040 000000 OPDEF PNTCIF [37B8!1B12!0] ;PRINT CHARACTER IMMEDIATE FORCED
|
|
244 037500 000000 OPDEF PNTCHR [37B8!12B12!0] ;PRINT CHARACTER
|
|
245 037500 000001 OPDEF PNTCHF [37B8!12B12!1] ;PRINT CHARACTER FORCED
|
|
246 037040 000000 OPDEF PNT1 [37B8!1B12!0] ;PRINT ONE OCTAL DIGIT
|
|
247 037040 000001 OPDEF PNT1F [37B8!1B12!1] ;PRINT 1 OCTAL DIGIT FORCED
|
|
248 037100 000000 OPDEF PNT2 [37B8!2B12!0] ;PRINT TWO OCTAL DIGITS
|
|
249 037100 000001 OPDEF PNT2F [37B8!2B12!1] ;PRINT 2 OCTAL DIGITS FORCED
|
|
250 037140 000000 OPDEF PNT3 [37B8!3B12!0] ;PRINT THREE OCTAL DIGITS
|
|
251 037140 000001 OPDEF PNT3F [37B8!3B12!1] ;PRINT THREE OCTAL DIGITS FORCED
|
|
252 037200 000000 OPDEF PNT4 [37B8!4B12!0] ;PRINT FOUR OCTAL DIGITS
|
|
253 037200 000001 OPDEF PNT4F [37B8!4B12!1] ;PRINT FOUR OCTAL DIGITS FORCED
|
|
254 037240 000000 OPDEF PNT5 [37B8!5B12!0] ;PRINT FIVE OCTAL DIGITS
|
|
255 037240 000001 OPDEF PNT5F [37B8!5B12!1] ;PRINT FIVE OCTAL DIGITS FORCED
|
|
256 037300 000000 OPDEF PNT6 [37B8!6B12!0] ;PRINT SIX OCTAL DIGITS
|
|
257 037300 000001 OPDEF PNT6F [37B8!6B12!1] ;PRINT SIX OCTAL DIGITS FORCED
|
|
258 037340 000000 OPDEF PNT7 [37B8!7B12!0] ;PRINT 7 OCTAL DIGITS
|
|
259 037340 000001 OPDEF PNT7F [37B8!7B12!1] ;PRINT 7 OCTAL DIGITS FORCED
|
|
260 037440 000000 OPDEF PNT11 [37B8!11B12!0] ;PRINT 11 OCTAL DIGITS
|
|
261 037440 000001 OPDEF PNT11F [37B8!11B12!1] ;PRINT 11 OCTAL DIGITS FORCED.
|
|
262 037400 000000 OPDEF PNTADR [37B8!10B12!0] ;PRINT PHYSICAL ADDRESS
|
|
263 037400 000001 OPDEF PNTADF [37B8!10B12!1] ;PRINT PHYSICAL ADDRESS FORCED
|
|
264 037600 000000 OPDEF PNTOCT [37B8!14B12!0] ;PRINT FULL WORD OCTAL
|
|
265 037600 000001 OPDEF PNTOTF [37B8!14B12!1] ;PRINT FULL WORD OCTAL FORCED
|
|
266 037540 000000 OPDEF PNTHW [37B8!13B12!0] ;PRINT OCTAL HALF WORDS, 6 SP 6
|
|
267 037540 000001 OPDEF PNTHWF [37B8!13B12!1] ;PRINT OCTAL HALF WORDS, 6 SP 6 FORCED
|
|
268 037700 000003 OPDEF PNTOCS [37B8!16B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S
|
|
269 037740 000003 OPDEF PNTOCF [37B8!17B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S FORCED
|
|
270 037640 000000 OPDEF PNTDEC [37B8!15B12!0] ;PRINT DECIMAL, SUPRESS LEADING 0'S
|
|
271 037640 000001 OPDEF PNTDCF [37B8!15B12!1] ;PRINT DECIMAL, SUPRESS LEADING 0'S FORCED
|
|
272 037700 000000 OPDEF PNTDS [37B8!16B12!0] ;PRINT DECIMAL, SPACES FOR LD 0'S
|
|
273 037700 000001 OPDEF PNTDSF [37B8!16B12!1] ;PRINT DECIMAL, SPACES FOR LD 0'S FORCED
|
|
274 037200 000002 OPDEF PNTNM [37B8!4B12!2] ;PRINT PROGRAM NAME
|
|
275 037000 000002 OPDEF PNTSIX [37B8!0B12!2] ;PRINT SIXBIT WORD
|
|
276 037040 000002 OPDEF PNTSXF [37B8!1B12!2] ;PRINT SIXBIT WORD FORCED
|
|
277 037240 000002 OPDEF DROPDV [37B8!5B12!2] ;CLOSE LOGICAL FILE, USER MODE
|
|
278 037100 000002 OPDEF PNTCW [37B8!2B12!2] ;PRINT DF10 CONTROL WORD
|
|
279 037140 000002 OPDEF PNTCWF [37B8!3B12!2] ;PRINT DF10 CONTROL WORD FORCED
|
|
280 037000 030242 OPDEF PCRL [37B8!0B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED
|
|
281 037040 030242 OPDEF PCRLF [37B8!1B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED FORCED
|
|
282 037000 000040 OPDEF PSP [37B8!0B12!40] ;PRINT SPACE
|
|
283 037040 000040 OPDEF PSPF [37B8!1B12!40] ;PRINT SPACE FORCED
|
|
284 037000 030243 OPDEF PCRL2 [37B8!0B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 4-1
|
|
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0019
|
|
|
|
285 037040 030243 OPDEF PCRL2F [37B8!1B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) FORCED
|
|
286 037040 000007 OPDEF PBELL [37B8!1B12!7] ;PRINT TTY BELL
|
|
287
|
|
288 037040 000026 OPDEF PFORCE [37B8!1B12!26] ;PRINT FORCE, CONTROL O OVERRIDE
|
|
289
|
|
290 DEFINE PMSG (ARG),<
|
|
291 PSIXM [SIXBIT\ARG'_\]>
|
|
292
|
|
293 DEFINE PMSGF (ARG),<
|
|
294 PSIXMF [SIXBIT\ARG'_\]>
|
|
295
|
|
296 ;*SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING
|
|
297 ;* CONSERVES CORE OVER ASCIZ
|
|
298
|
|
299 DEFINE SIXBTZ (ARG),< [SIXBIT\ARG'_\]>
|
|
300
|
|
301 ;*CONSOLE SWITCH INPUT UUO.
|
|
302 ;*READS CONSOLE SWITCHES IF IN EXEC MODE OR ASKS FOR THEM IF
|
|
303 ;* USER MODE.
|
|
304
|
|
305 037400 000002 OPDEF SWITCH [37B8!10B12!2] ;INPUT CONSOLE SWITCHES
|
|
306
|
|
307 ;*CLOCK INITIALIZATION UUO - TO SET DESIRED CLOCK OPERATION
|
|
308 ;*EITHER IGNORE CLOCK, ONLY LET IT TICK OR CAUSE INTERRUPT TO OCCUR.
|
|
309
|
|
310 037540 000004 OPDEF CLOKOP [37B8!13B12!4] ;CLOCK OPERATION UUO - PDP-11 CLOCK
|
|
311 037200 000004 OPDEF MTROP [37B8!4B12!4] ;CLOCK OPERATION UUO - DK20 METER
|
|
312
|
|
313 ;*KL10 ONLY CACHE OPERATION UUO'S
|
|
314
|
|
315 037040 000004 OPDEF CINVAL [37B8!1B12!4] ;CACHE INVALIDATE
|
|
316 037100 000004 OPDEF CFLUSH [37B8!2B12!4] ;CACHE FLUSH
|
|
317 037140 000004 OPDEF CWRTBI [37B8!3B12!4] ;CACHE WRITE-BACK & INVALIDATE
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 5
|
|
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0020
|
|
|
|
318 ;*END OF PASS/PROGRAM UUOS
|
|
319
|
|
320 ;PERFORMS THE END OF PASS FUNCTIONS. INCREMENT PASS COUNT,
|
|
321 ;*DECREMENT ITERATION COUNT, CHECK IF FINISHED WITH THIS PROGRAM ETC.
|
|
322
|
|
323 037500 000004 OPDEF ENDUUO [37B8!12B12!4] ;UUO TO DISPLAY LIGHTS
|
|
324 037700 000004 OPDEF EOPUUO [37B8!16B12!4] ;END OF PROGRAM UUO
|
|
325
|
|
326 ;*MEMORY MANAGEMENT UUO'S
|
|
327 ;*UUO'S TO PERFORM VARIOUS MEMORY FUNCTIONS. MAPPING, ZEROING, PAGING,
|
|
328 ;*ADDRESS CONVERSION, ETC...
|
|
329
|
|
330 037000 000004 OPDEF MAPMEM [37B8!0B12!4] ;MAP MEMORY
|
|
331 037500 000002 OPDEF MEMZRO [37B8!12B12!2] ;ZERO MEMORY
|
|
332 037440 000002 OPDEF MEMSEG [37B8!11B12!2] ;SETUP MEMORY SEGMENT
|
|
333 037540 000002 OPDEF MAPADR [37B8!13B12!2] ;VIRTUAL TO PHYSICAL ADR CONVERT
|
|
334 037640 000002 OPDEF MAPCNK [37B8!15B12!2] ;MAP MEMORY CHUNK
|
|
335 037600 000002 OPDEF MAPSET [37B8!14B12!2] ;SET KI10 EXEC PAGE MAP
|
|
336 037740 000002 OPDEF MAPPNT [37B8!17B12!2] ;PRINT MEMORY MAP
|
|
337
|
|
338 ;*DEVICE CODE MODIFICATION UUO
|
|
339 ;*ALLOWS THE MODIFICATION OF IOT'S TO ONE DEVICE TO BE CHANGED TO
|
|
340 ;*IOT'S TO A DIFFERENT DEVICE CODE.
|
|
341
|
|
342 037340 000002 OPDEF MODPCU [37B8!7B12!2] ;MODIFY PERHIPERAL CODE, USER
|
|
343 037300 000002 OPDEF MODPCP [37B8!6B12!2] ;MODIFY PERHIPERAL CODE, PROGRAM
|
|
344
|
|
345 030000 IFNDEF MODDVL,<MODDVL==BEGIN>
|
|
346 030000 IFNDEF MODDVU,<MODDVU==BEGIN>
|
|
347
|
|
348 ;*"DIAMON" FILE SELECTION AND READ UUOS
|
|
349
|
|
350 037240 000004 OPDEF FSELECT [37B8!5B12!4] ;FILE SELECTION
|
|
351 037300 000004 OPDEF FREAD [37B8!6B12!4] ;FILE READ - ASCII DATA
|
|
352 037340 000004 OPDEF FRD36 [37B8!7B12!4] ;FILE READ - 36 BIT DATA
|
|
353 037400 000004 OPDEF FRD8 [37B8!10B12!4] ;FILE READ - 8 BIT DATA
|
|
354
|
|
355 ;*KI10 ONLY UUO FOR PRINTING MARGIN VALUES
|
|
356
|
|
357 037700 000002 OPDEF PNTMGN [37B8!16B12!2] ;PRINT MARGIN VALUE
|
|
358
|
|
359 XLIST
|
|
360 LIST
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 1
|
|
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0021
|
|
|
|
361 SUBTTL *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977
|
|
362
|
|
363 030000 LOC 30000
|
|
364
|
|
365 S^;*********************************************************************^
|
|
366 ;*PROGRAM STARTING ADDRESSES
|
|
367 ;*THESE ADDRESSES CALL VARIOUS SPECIAL START ROUTINES AND OR OPTIONS
|
|
368 ;*NORMAL START ADDRESS IS 30000 ALL OTHERS ARE SPECIAL. INVOKED BECAUSE
|
|
369 ;*OF END OF PASS, POWER FAILURE, DDT START, RE-ENTERING(TYPICALLY USER
|
|
370 ;*MODE), OR ANY NUMBER OF SPECIAL FEATURE TESTS.
|
|
371 S^;*********************************************************************^
|
|
372
|
|
373 030000 254 00 1 00 027776 BEGIN: JRST @MODLNK ;STAND-ALONE START
|
|
374 030001 254 00 0 00 030616 $START: JRST START ;MODE CHECK STARTING ADDRESS
|
|
375
|
|
376 030002 254 00 1 00 027774 DIAGMN: JRST @LDLNK ;DIAGNOSTIC MONITOR START
|
|
377
|
|
378 030003 254 00 1 00 027774 SYSEXR: JRST @LDLNK ;SYSTEM EXERCISER START
|
|
379
|
|
380 030004 254 00 0 00 030000 SFSTRT: JRST SADR1 ;SPECIAL FEATURE START
|
|
381
|
|
382 030005 254 00 0 00 030000 PFSTRT: JRST SADR2 ;POWER FAIL RESTART
|
|
383
|
|
384 030006 254 00 0 00 030000 REENTR: JRST SADR3 ;REENTER START(USUALLY USER MODE ONLY)
|
|
385
|
|
386 030007 SRTDDT: ;COMMONLY MISTAKEN NAME FOR "DDTSRT"
|
|
387 030007 254 00 1 00 027775 DDTSRT: JRST @DDTLNK ;DDT START
|
|
388
|
|
389 030010 254 00 0 00 030621 BEGIN1: JRST STARTA ;LOOP START(END OF PASS COMES HERE)
|
|
390 030011 254 00 1 00 027777 SBINIT: JRST @SUBLNK ;PMGINT LINKAGE
|
|
391 030012 000000 000000 RETURN: 0 ;RETURN ADDRESS STORAGE
|
|
392
|
|
393 030013 254000 030000 START1: SADR7 ;OPTIONAL STARTING ADR/INSTRUCTIONS
|
|
394 030014 254000 030000 START2: SADR8 ; "
|
|
395 030015 254000 030000 START3: SADR9 ; "
|
|
396 030016 254000 030000 START4: SADR10 ; "
|
|
397 030017 254000 030000 START5: SADR11 ; "
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2
|
|
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0022
|
|
|
|
398 S^;*********************************************************************^
|
|
399 ;*PROGRAM FIXED PARAMETER AREA
|
|
400 S^;*********************************************************************^
|
|
401
|
|
402 030020 444153 415300 PNTNAM: PAREA3 ;SIXBIT PROGRAM NAME
|
|
403 030021 645560 000000 PNTEXT: PAREA4 ;SIXBIT PROGRAM EXTENSION
|
|
404 030022 000000 000000 RANDBS: PAREA1 ;RANDOM BASE NUMBER
|
|
405 030023 000000 000000 SWTEXR: PAREA2 ;SYSTEM EXERCISER SWITCHES
|
|
406 030024 000000 001000 ITRCNT: ITERAT ;PROGRAM ITERATIONS
|
|
407 030025 000000 030602 $PNAME: PGMNAM ;POINTER TO PROGRAMS NAME
|
|
408 030026 000000 000002 $PVER: MCNVER,,DECVER ;MCN & DEC VERSION LEVEL
|
|
409 030027 000000 030000 $MODVL: MODDVL ;DEVICE CODE CHANGE LOWER LIMIT
|
|
410 030030 000000 030000 $MODVU: MODDVU ;DEVICE CODE CHANGE UPPER LIMIT
|
|
411 030031 777777 777777 $EMODE: IFNDEF EXCASB,<0> IFDEF EXCASB,<-1> ;EXEC ALLOWED
|
|
412 030032 777777 777777 $UMODE: IFNDEF USRASB,<0> IFDEF USRASB,<-1> ;USER ALLOWED
|
|
413 030033 000000 000000 $DSKUP: IFNDEF DSKUPD,<0> IFDEF DSKUPD,<-1> ;DISK UPDATE MODE
|
|
414 030034 000000 000000 $MMAP: IFNDEF MEMMAP,<0> IFDEF MEMMAP,<-1> ;ALLOW MEMORY RTNS
|
|
415 030035 000000 000000 PAREA7: PAREA5 ;OPTIONAL PARAMETER
|
|
416 030036 000000 000000 PAREA8: PAREA6 ;OPTIONAL PARAMETER
|
|
417
|
|
418 S^;*********************************************************************^
|
|
419 ;*PROGRAM VARIABLE PARAMETER AREA
|
|
420 S^;*********************************************************************^
|
|
421
|
|
422 030037 000000 000000 USER: 0 ; 0 = EXEC, -1 = USER MODE FLAG
|
|
423 030040 000000 000000 KAIFLG: 0 ;PROCESSOR TYPE, 0 = KA10, -1 = KI10
|
|
424 030041 000000 000000 KLFLG: 0 ;PROCESSOR TYPE, 0 = KA/KI, -1 = KL10
|
|
425 030042 777777 777777 MONFLG: -1 ;DIAG MONITOR SPECIAL USER FLAG
|
|
426 030043 000000 000000 MONCTL: 0 ;DIAG MON/SYS EXR FLAG
|
|
427 030044 000000 000000 MONTEN: 0 ;-1= LOADED BY 10
|
|
428 030045 000000 000000 CLOCKF: 0 ;CLOCK TICKED FLAG
|
|
429 030046 000000 000000 CONSW: 0 ;CONSOLE SWITCH SETTINGS
|
|
430 030047 000000 000000 PASCNT: 0 ;PROGRAM PASS COUNT
|
|
431 030050 000000 000000 RUNFLG: 0 ;PROGRAM RUN FLAG
|
|
432 030051 000000 000000 TESTPC: 0 ;SUBTEST PC
|
|
433 030052 000000 000000 ERRPC: 0 ;ERROR PC
|
|
434 030053 000000 000000 ERRTLS: 0 ;ERROR TOTALS
|
|
435 030054 000000 000000 TICKS: 0 ;PROGRAM RUNNING TIME
|
|
436 030055 000000 000000 MARGIN: 0 ;KI10 MARGIN WORD VALUE
|
|
437 030056 000000 000000 $ONETM: 0 ;SUBROUTINE INITIALIZATION FLAG
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3
|
|
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0023
|
|
|
|
438 S^;*********************************************************************^
|
|
439 ;*SPECIAL PROGRAM DISPATCH ADDRESSES
|
|
440 S^;*********************************************************************^
|
|
441
|
|
442 030057 037 12 0 00 000004 BEGEND: ENDUUO ;END OF PASS
|
|
443 030060 254 00 0 00 030010 $BEND1: JRST BEGIN1 ;KEEP RUNNING PROGRAM
|
|
444 030061 037 16 0 00 000004 $BEND2: EOPUUO ;END OF PROGRAM - NO RETURN
|
|
445 030062 254000 030000 CNTLC: SADR5 ;CONTROL C XFER ADDRESS
|
|
446 030063 254000 030000 ALTMGO: SADR6 ;ALTMODE XFER ADDRESS
|
|
447 030064 CPOPJ1: ;SKIP RETURN
|
|
448 030064 350 00 0 17 000000 UUOSKP: AOS (P) ;SKIP RETURN FROM UUO
|
|
449 030065 CPOPJ: ;NON-SKIP REGULAR RETURN
|
|
450 030065 263 17 0 00 000000 UUOEXT: RTN ;UUO RETURN
|
|
451 030066 255 00 0 00 000000 UUORTN: JFCL ;ADDITIONAL USERS UUO ROUTINE
|
|
452 030067 255 00 0 00 000000 $UORTX: JFCL ;ADDITIONAL UUO LINKAGE
|
|
453 030070 255 00 0 00 000000 $UUOER: JFCL ;INITED AS (JRST $UOERX)
|
|
454 030071 255 00 0 00 000000 $ITRHL: JFCL ;ADDITIONAL INTERRUPT LINKAGE
|
|
455 030072 255 00 0 00 000000 $ITRX1: JFCL ; "
|
|
456 030073 255 00 0 00 000000 $USRHL: JFCL ; "
|
|
457 030074 255 00 0 00 000000 $RSRTX: JFCL ;ADDITIONAL POWER FAIL LINKAGE
|
|
458 030075 255 00 0 00 000000 $RSRTY: JFCL ; "
|
|
459 030076 255 00 0 00 000000 RESRT1: JFCL ; INITED AS (JRST RESRTX)
|
|
460 030077 255 00 0 00 000000 RESRT2: JFCL ; "
|
|
461 030100 255 00 0 00 000000 $PARER: JFCL ;ADDITIONAL PARITY ERROR LINKAGE
|
|
462 030101 255 00 0 00 000000 ERMORE: JFCL ;ADDITIONAL ERROR HANDLER LINKAGE
|
|
463 030102 254 04 0 00 030102 HALT . ;IMPROPER TRANSFER HALT
|
|
464
|
|
465 030103 000000 000000 $PSHER: 0 ;INITED AS (JRST PSHERR)
|
|
466 030104 000000 000000 ITRCH1: 0 ;PC & FLAGS OF CURRENT INTERRUPT
|
|
467 030105 000000 000000 0 ;INITED AS (JRST $ITRC1)
|
|
468
|
|
469 S^;*********************************************************************^
|
|
470 ;*PROCESSOR CONTROL STORAGE
|
|
471 S^;*********************************************************************^
|
|
472
|
|
473 030106 000000 000000 $ACC0: 0 ;INTERRUPT SAVED AC0
|
|
474 030107 000000 000000 $SVPI: 0 ;INTERRUPT SAVED PI
|
|
475 030110 000000 000000 $SVAPR: 0 ;INTERRUPT SAVED APR
|
|
476 030111 000000 000000 $SVPAG: 0 ;INTERRUPT SAVED PAG (DATAI)
|
|
477 030112 000000 000000 $SPAG1: 0 ;INTERRUPT SAVED PAG (CONI)
|
|
478
|
|
479 030113 000000 000000 $SVUUO: 0 ;CURRENT USERS UUO
|
|
480 030114 000000 000000 $SVUPC: 0 ;PC OF CURRENT USERS UUO
|
|
481
|
|
482 030115 000000 000000 REPTU: 0 ;REPEAT UUO ITERATIONS
|
|
483 030116 000000 000000 SCOPE: 0 ;ERROR HANDLER SCOPE LOOP FLAG
|
|
484 030117 000000 000000 %CORFLG:0 ; " CORRECT FLAG
|
|
485 030120 000000 000000 %COREC: 0 ; " CORRECT DATA
|
|
486 030121 000000 000000 %ACTFL: 0 ; " ACTUAL FLAG
|
|
487 030122 000000 000000 %ACTUL: 0 ; " ACTUAL DATA
|
|
488 030123 000000 000000 %DISCR: 0 ; " DISCREPENCY DATA
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 4
|
|
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0024
|
|
|
|
489 S^;*********************************************************************^
|
|
490 ;*UUO DISPATCH TABLE
|
|
491 S^;*********************************************************************^
|
|
492 XLIST
|
|
493 LIST
|
|
494 030124 043570 030070 UUODIS: LUUO1,,$UUOER
|
|
495 030125 043570 043570 LUUO3,,LUUO2
|
|
496 030126 043570 043570 LUUO5,,LUUO4
|
|
497 030127 043570 043570 LUUO7,,LUUO6
|
|
498 030130 043570 043570 LUUO11,,LUUO10
|
|
499 030131 043570 043570 LUUO13,,LUUO12
|
|
500 030132 030070 030070 LUUO15,,LUUO14
|
|
501 030133 030070 030070 LUUO17,,LUUO16
|
|
502 030134 030070 030070 LUUO21,,LUUO20
|
|
503 030135 030070 030070 LUUO23,,LUUO22
|
|
504 030136 030070 030070 LUUO25,,LUUO24
|
|
505 030137 030070 030070 LUUO27,,LUUO26
|
|
506 030140 030070 030070 LUUO31,,LUUO30
|
|
507 030141 030070 030070 LUUO33,,LUUO32
|
|
508
|
|
509 S^;*********************************************************************^
|
|
510 ;*MEMORY MANAGMENT STORAGE
|
|
511 S^;*********************************************************************^
|
|
512
|
|
513 030142 000000 000000 DF22F: 0 ;DF10 CONTROL FLAG, 0 = 18, -1 = 22 BIT
|
|
514 030143 000000 000000 MAPNEW: 0 ;MEMORY MAPPING CONTROL FLAG, -1 = 4096K MAPPING
|
|
515 030144 000000 000000 MEMTOT: 0 ;TOTAL MEMORY SIZE IN K (1024.)
|
|
516 030145 000000 000000 MEMLOW: 0 ;LOWEST USABLE MEMORY
|
|
517 030146 MEMSIZ: BLOCK ^D41 ;MEMORY SEGMENT POINTER TABLE
|
|
518
|
|
519 S^;*********************************************************************^
|
|
520 ;*PRINT CONTROL STORAGE
|
|
521 S^;*********************************************************************^
|
|
522
|
|
523 030217 000000 000000 PNTFLG: 0 ;PRINT FLAG, -1 WHILE IN PRINT ROUTINE
|
|
524 030220 000000 000000 PNTENB: 0 ;PRINT ENABLE
|
|
525 030221 000000 000000 PDISF: 0 ;PRINT DISABLED FLAG
|
|
526 030222 000000 000000 PNTINH: 0 ;INHIBIT PRINT INPUT CHECKS
|
|
527 030223 000000 000000 PNTSPC: 0 ;PRINT SPACE CONTROL
|
|
528 030224 000000 000000 OPTIME: 0 ;TYPE-IN WAIT TIME
|
|
529 030225 000000 000000 $TWCNT: 0 ;TIME WAITED
|
|
530 030226 000000 000000 $DVOFF: 0 ;LOGICAL DEVICE INITED FLAG
|
|
531 030227 000000 000000 TTYFIL: 0 ;TTY EXEC FILLERS FLAG
|
|
532 030230 000000 000000 TTYSPD: 0 ;TTY EXEC BAUD RATE
|
|
533 030231 000000 000000 $TTCHR: 0 ;ACTUAL TYPED IN CHAR
|
|
534 030232 000000 000000 $CHRIN: 0 ;UPPER CASED & PARITY STRIPPED CHAR
|
|
535 030233 000000 000000 $TYPNB: 0 ;TYPED IN NUMBER
|
|
536 030234 000000 000000 $CRLF: 0 ;FREE CR/LF FLAG
|
|
537 030235 000000 000000 $TABF: 0 ;TAB CONVERSION FLAG
|
|
538 030236 000000 000000 $FFF: 0 ;FORM FEED CONVERSION FLAG
|
|
539 030237 000000 000000 $VTF: 0 ;VERTICAL TAB CONVERSION FLAG
|
|
540 030240 000000 000000 USRLFF: 0 ;USER LF FILLERS
|
|
541 030241 000000 000000 USRCRF: 0 ;USER CR FILLERS
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 5
|
|
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0025
|
|
|
|
542 S^;*********************************************************************^
|
|
543 ;*THE FOLLOWING MISCELLANEOUS PRINT CHARACTERS ARE INCLUDED
|
|
544 ;*TO FACILITATE PRINTING AND ARE CALLED AS FOLLOWS:
|
|
545 ;* MOVEI NAME
|
|
546 ;* PNTA ;OR PNTAF
|
|
547 S^;*********************************************************************^
|
|
548
|
|
549 030242 CRLF: ASCII/
|
|
550 030242 015 012 000 000 000 /
|
|
551 030243 CRLF2: ASCII/
|
|
552
|
|
553 030243 015 012 015 012 000 /
|
|
554 030244 054 000 000 000 000 COMMA: ASCII/,/
|
|
555 030245 056 000 000 000 000 PERIOD: ASCII/./
|
|
556 030246 040 000 000 000 000 SPACE: ASCII/ /
|
|
557 030247 011 000 000 000 000 TAB: ASCII/ /
|
|
558 030250 MINUS:
|
|
559 030250 055 000 000 000 000 HYPEN: ASCII/-/
|
|
560 030251 053 000 000 000 000 PLUS: ASCII/+/
|
|
561 030252 052 000 000 000 000 AST: ASCII/*/
|
|
562 030253 100 000 000 000 000 ATSIN: ASCII/@/
|
|
563 030254 050 000 000 000 000 LFP: ASCII/(/
|
|
564 030255 051 000 000 000 000 RTP: ASCII/)/
|
|
565 030256 007 0000000000 BELL: BYTE (7) 007
|
|
566 030257 077 000 000 000 000 QUEST: ASCII/?/
|
|
567 030260 057 000 000 000 000 SLASH: ASCII!/!
|
|
568 030261 044 000 000 000 000 DOLLAR: ASCII/$/
|
|
569 030262 000000 000012 RADIX: ^D10 ;DECIMAL PRINT RADIX
|
|
570 030263 000000 000040 RADLSP: 40 ;DECIMAL PRINT LEADING CHAR
|
|
571 030264 000000 000012 RADLSC: ^D10 ;DECIMAL PRINT LEADING CHAR COUNT
|
|
572
|
|
573 S^;*********************************************************************^
|
|
574 ;*USER MODE OUTPUT FILE INFORMATION
|
|
575 S^;*********************************************************************^
|
|
576
|
|
577 030265 $OBUF: BLOCK 3 ;LOGICAL FILE OUTPUT BUFFER HEADER
|
|
578 030270 60 62 51 56 64 00 $OUTNM: SIXBIT /PRINT/ ;FILE NAME
|
|
579 030271 60 56 64 00 00 00 $OUTEX: SIXBIT /PNT/ ;FILE NAME EXTENSION
|
|
580 030272 BLOCK 2
|
|
581
|
|
582 S^;*********************************************************************^
|
|
583 ;*DISK UPDATE MODE FILE INFORMATION
|
|
584 S^;*********************************************************************^
|
|
585
|
|
586 030274 $IBUF: BLOCK 3
|
|
587 030277 60 62 51 56 64 00 $INNM: SIXBIT /PRINT/
|
|
588 030300 60 56 64 00 00 00 $INEXT: SIXBIT /PNT/
|
|
589 030301 BLOCK 2
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 6
|
|
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0026
|
|
|
|
590 S^;*********************************************************************^
|
|
591 ;*PUSHDOWN LIST CONTROL INFORMATION
|
|
592 S^;*********************************************************************^
|
|
593
|
|
594 030303 777577 030303 PLIST: PLIST-PLISTE,,PLIST
|
|
595 030304 PLISTS: BLOCK 200
|
|
596 030504 000000 000000 PLISTE: 0 ;END OF PUSHDOWN LIST
|
|
597
|
|
598 S^;*********************************************************************^
|
|
599 ;*POWER LINE CLOCK FREQUENCY FLAG
|
|
600 S^;*********************************************************************^
|
|
601
|
|
602 030505 000000 000000 CYCL60: 0 ;0 = 60, -1 = 50 CYCLE
|
|
603
|
|
604 S^;*********************************************************************^
|
|
605 ;*KL10 CACHE CONTROL FLAGS
|
|
606 S^;*********************************************************************^
|
|
607
|
|
608 030506 000000 000000 CSHFLG: 0 ;ALLOW CACHE IF 0
|
|
609 030507 000000 000000 CSHMEM: 0 ;CACHE MEMORY SEGMENTS IF 0
|
|
610
|
|
611 S^;*********************************************************************^
|
|
612 ;*NUMBER INPUT DIGIT FLAG
|
|
613 S^;*********************************************************************^
|
|
614
|
|
615 030510 000000 000000 TTNBRF: 0 ;-1 IF ANY DIGIT TYPED
|
|
616
|
|
617 S^;*********************************************************************^
|
|
618 ;*KL10 & KI10 "INHPAG" SWITCH PAGING PREVENTION
|
|
619 S^;*********************************************************************^
|
|
620
|
|
621 030511 000000 000000 PVPAGI: 0 ;IF NON-ZERO, OVERRIDE "INHPAG" SWITCH ACTION
|
|
622
|
|
623 S^;*********************************************************************^
|
|
624 ;*ERROR REPORTING ROUTINE ADDITIONAL USERS CONTROL INSTRUCTIONS
|
|
625 S^;*********************************************************************^
|
|
626
|
|
627 030512 000000 000000 %ERHI1: 0 ;IF NON-ZERO, XCT'D AT START OF %ERUUO
|
|
628 030513 000000 000000 %ERHI2: 0 ;IF NON-ZERO, XCT'D AT END OF %ERUUO
|
|
629 030514 000000 000000 %ERHI3: 0 ;IF NON-ZERO, XCT'D AFTER "PC" OF %ERUUO
|
|
630
|
|
631 S^;*********************************************************************^
|
|
632 ;*SPECIAL USERS UUO INTERCEPT INSTRUCTION
|
|
633 S^;*********************************************************************^
|
|
634
|
|
635 030515 000000 000000 $$UUO: 0 ;IF NON-ZERO, XCT'D AT START OF $UORTN
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7
|
|
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0027
|
|
|
|
636 S^;*********************************************************************^
|
|
637 ;*KL10 PROCESSOR TYPE FLAG, 0=P0, 1=BBD NEW, 2=BBD OLD
|
|
638 S^;*********************************************************************^
|
|
639
|
|
640 030516 000000 000000 KLTYP: 0
|
|
641
|
|
642 S^;*********************************************************************^
|
|
643 ;*SPECIAL USERS MUUO INTERCEPT INSTRUCTION
|
|
644 S^;*********************************************************************^
|
|
645
|
|
646 030517 000000 000000 $$MUUO: 0 ;IF NON-ZERO, XCT'D AT START OF MUUOER
|
|
647
|
|
648 S^;*********************************************************************^
|
|
649 ;*SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION
|
|
650 S^;*********************************************************************^
|
|
651
|
|
652 030520 000000 000000 $$OUTER:0 ;IF NON-ZERO, XCT'D AT END OF USER MODE ERROR
|
|
653
|
|
654 S^;*********************************************************************^
|
|
655 ;*"SWITCH" CALL USAGE CONTROL
|
|
656 S^;*********************************************************************^
|
|
657
|
|
658 030521 000000 000000 $$TOGGLE:0 ;IF NON-ZERO, USE C(CONSW) FOR SWITCHES
|
|
659
|
|
660 S^;*********************************************************************^
|
|
661 ;*SPECIAL USERS ALTMODE SWITCH CALL INTERCEPT INSTRUCTIONS
|
|
662 S^;*********************************************************************^
|
|
663
|
|
664 030522 000000 000000 $$TAX1: 0 ;IF NON-ZERO, XCT'D AT START OF ALTMODE SWITCH CALL
|
|
665 030523 000000 000000 $$TAX2: 0 ;IF NON-ZERO, XCT'D AT END OF ALTMODE SWITCH CALL
|
|
666
|
|
667 S^;*********************************************************************^
|
|
668 ;*SPECIAL FUTURE EXPANSION ROOM
|
|
669 ;*IF ANY FIXED AREA TAGS ARE ADDED, REDUCE THE SIZE OF
|
|
670 ;*THIS BLOCK STATEMENT ACCORDINGLY. THIS MUST BE DONE
|
|
671 ;*SO THAT PREVIOUS FIXED ASSIGNMENTS DO NOT CHANGE.
|
|
672 S^;*********************************************************************^
|
|
673
|
|
674 030524 BLOCK 53 ;HOPEFULLY THIS IS ENOUGH FOREVER
|
|
675
|
|
676 S^;*********************************************************************^
|
|
677 ;*END OF FIXED STORAGE
|
|
678 S^;*********************************************************************^
|
|
679
|
|
680 030577 $ENDFX=<PLISTE+100>&<777700>-1
|
|
681 030577 LOC $ENDFX
|
|
682 030577 000000 000000 ENDFIX: 0 ;END OF FIXED STORAGE
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 1
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION SEQ 0028
|
|
|
|
683 SUBTTL DIAGNOSTIC SECTION
|
|
684
|
|
685 030600 037 05 0 00 000002 EXIT: DROPDV ;CLOSE LOGICAL OUTPUT FILE
|
|
686 030601 000000 030600 EXIT
|
|
687
|
|
688 030602 PGMNAM: ASCIZ/
|
|
689 030602 015 012 120 104 120 PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) [DAKAK]
|
|
690 030603 055 061 060 040 040
|
|
691 030604 113 101 061 060 040
|
|
692 030605 102 101 123 111 103
|
|
693 030606 040 111 116 123 124
|
|
694 030607 122 125 103 124 111
|
|
695 030610 117 116 040 104 111
|
|
696 030611 101 107 116 117 123
|
|
697 030612 124 111 103 040 050
|
|
698 030613 061 061 051 040 133
|
|
699 030614 104 101 113 101 113
|
|
700 030615 135 015 012 000 000 /
|
|
701
|
|
702 ;INITIALIZE
|
|
703
|
|
704 030616 265 00 0 00 030011 START: PGMINT
|
|
705 030617 200 00 0 00 043775 MOVE [ASCIZ/AK/]
|
|
706 030620 202 00 0 00 043711 MOVEM TLET ;INITIALIZE TEST LETTER
|
|
707
|
|
708 030621 254 00 0 00 030622 STARTA: JRST F00 ;GO PERFORM DIAGNOSTIC
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0029
|
|
|
|
709 SUBTTL DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT
|
|
710
|
|
711 003000 ADR=3000
|
|
712 000014 AC=14
|
|
713 000012 E=<AC-2>&17
|
|
714
|
|
715 030622 F00: SAVEAC (1,1)^
|
|
716 030622 201 16 0 00 030622 MOVEI AC+2,. ;SAVE TEST PC
|
|
717 030623 202 16 0 00 030051 MOVEM AC+2,TESTPC
|
|
718 030624 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
719 030625 202 16 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
720
|
|
721 ;MULTIPLY 0 BY 0 TO GET PRODUCT OF 0
|
|
722 MOP1 (\ADR,0,-1,0,0,0)^
|
|
723 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
724 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
725 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
726 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
727
|
|
728 000000 F30000: AA1=0 ;INITIAL C(AC)
|
|
729 030626 200 14 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
730 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
731 030627 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
732 000000 AEE=0 ;INITIAL C(E)
|
|
733 030630 200 12 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
734 030631 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
735 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
736 030632 312 14 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
737 030633 003 14 0 00 030001 ER3 AC,30001 ;HIGH PRODUCT FAILED
|
|
738 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
739 030634 312 15 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
740 030635 004 15 0 00 030002 ER4 AC+1,30002 ;LOW PRODUCT FAILED
|
|
741 000000 AEE=0 ;INITIAL C(E)
|
|
742 030636 312 12 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
743 030637 005 12 0 00 030003 ER5 E,30003 ;C(E) WAS CLOBBERED
|
|
744 030640 321 16 0 00 030626 JUMPL AC+2,F30000 ;LOOP ON ERROR SWITCH^
|
|
745
|
|
746 000013 AC=13
|
|
747 000011 E=<AC-2>&17
|
|
748 SAVEAC (1,1)^
|
|
749 030641 201 15 0 00 030641 MOVEI AC+2,. ;SAVE TEST PC
|
|
750 030642 202 15 0 00 030051 MOVEM AC+2,TESTPC
|
|
751 030643 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
752 030644 202 15 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
753 000000 XX=0
|
|
754
|
|
755 REPEAT ^D36, <
|
|
756 ADR=ADR+1
|
|
757 XX=XX+XX
|
|
758 IFE XX,<XX=1>
|
|
759
|
|
760 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
761 MOP1 (\ADR,0,-1,XX,0,0)>
|
|
762
|
|
763 003001 ADR=ADR+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-1
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0030
|
|
|
|
764 000000 XX=XX+XX
|
|
765 000001 IFE XX,<XX=1>
|
|
766
|
|
767 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
768 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
769 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
770 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
771 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
772 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
773
|
|
774 000000 F30010: AA1=0 ;INITIAL C(AC)
|
|
775 030645 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
776 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
777 030646 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
778 000001 AEE=XX ;INITIAL C(E)
|
|
779 030647 200 11 0 00 044000 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
780 030650 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
781 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
782 030651 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
783 030652 003 13 0 00 030011 ER3 AC,30011 ;HIGH PRODUCT FAILED
|
|
784 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
785 030653 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
786 030654 004 14 0 00 030012 ER4 AC+1,30012 ;LOW PRODUCT FAILED
|
|
787 000001 AEE=XX ;INITIAL C(E)
|
|
788 030655 312 11 0 00 044000 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
789 030656 005 11 0 00 030013 ER5 E,30013 ;C(E) WAS CLOBBERED
|
|
790 030657 321 15 0 00 030645 JUMPL AC+2,F30010 ;LOOP ON ERROR SWITCH^
|
|
791
|
|
792 003002 ADR=ADR+1
|
|
793 000002 XX=XX+XX
|
|
794 IFE XX,<XX=1>
|
|
795
|
|
796 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
797 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
798 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
799 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
800 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
801 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
802
|
|
803 000000 F30020: AA1=0 ;INITIAL C(AC)
|
|
804 030660 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
805 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
806 030661 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
807 000002 AEE=XX ;INITIAL C(E)
|
|
808 030662 200 11 0 00 044001 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
809 030663 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
810 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
811 030664 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
812 030665 003 13 0 00 030021 ER3 AC,30021 ;HIGH PRODUCT FAILED
|
|
813 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
814 030666 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
815 030667 004 14 0 00 030022 ER4 AC+1,30022 ;LOW PRODUCT FAILED
|
|
816 000002 AEE=XX ;INITIAL C(E)
|
|
817 030670 312 11 0 00 044001 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
818 030671 005 11 0 00 030023 ER5 E,30023 ;C(E) WAS CLOBBERED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-2
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0031
|
|
|
|
819 030672 321 15 0 00 030660 JUMPL AC+2,F30020 ;LOOP ON ERROR SWITCH^
|
|
820
|
|
821 003003 ADR=ADR+1
|
|
822 000004 XX=XX+XX
|
|
823 IFE XX,<XX=1>
|
|
824
|
|
825 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
826 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
827 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
828 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
829 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
830 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
831
|
|
832 000000 F30030: AA1=0 ;INITIAL C(AC)
|
|
833 030673 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
834 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
835 030674 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
836 000004 AEE=XX ;INITIAL C(E)
|
|
837 030675 200 11 0 00 044002 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
838 030676 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
839 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
840 030677 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
841 030700 003 13 0 00 030031 ER3 AC,30031 ;HIGH PRODUCT FAILED
|
|
842 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
843 030701 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
844 030702 004 14 0 00 030032 ER4 AC+1,30032 ;LOW PRODUCT FAILED
|
|
845 000004 AEE=XX ;INITIAL C(E)
|
|
846 030703 312 11 0 00 044002 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
847 030704 005 11 0 00 030033 ER5 E,30033 ;C(E) WAS CLOBBERED
|
|
848 030705 321 15 0 00 030673 JUMPL AC+2,F30030 ;LOOP ON ERROR SWITCH^
|
|
849
|
|
850 003004 ADR=ADR+1
|
|
851 000010 XX=XX+XX
|
|
852 IFE XX,<XX=1>
|
|
853
|
|
854 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
855 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
856 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
857 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
858 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
859 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
860
|
|
861 000000 F30040: AA1=0 ;INITIAL C(AC)
|
|
862 030706 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
863 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
864 030707 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
865 000010 AEE=XX ;INITIAL C(E)
|
|
866 030710 200 11 0 00 044003 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
867 030711 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
868 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
869 030712 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
870 030713 003 13 0 00 030041 ER3 AC,30041 ;HIGH PRODUCT FAILED
|
|
871 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
872 030714 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
873 030715 004 14 0 00 030042 ER4 AC+1,30042 ;LOW PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-3
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0032
|
|
|
|
874 000010 AEE=XX ;INITIAL C(E)
|
|
875 030716 312 11 0 00 044003 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
876 030717 005 11 0 00 030043 ER5 E,30043 ;C(E) WAS CLOBBERED
|
|
877 030720 321 15 0 00 030706 JUMPL AC+2,F30040 ;LOOP ON ERROR SWITCH^
|
|
878
|
|
879 003005 ADR=ADR+1
|
|
880 000020 XX=XX+XX
|
|
881 IFE XX,<XX=1>
|
|
882
|
|
883 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
884 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
885 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
886 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
887 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
888 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
889
|
|
890 000000 F30050: AA1=0 ;INITIAL C(AC)
|
|
891 030721 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
892 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
893 030722 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
894 000020 AEE=XX ;INITIAL C(E)
|
|
895 030723 200 11 0 00 044004 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
896 030724 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
897 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
898 030725 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
899 030726 003 13 0 00 030051 ER3 AC,30051 ;HIGH PRODUCT FAILED
|
|
900 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
901 030727 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
902 030730 004 14 0 00 030052 ER4 AC+1,30052 ;LOW PRODUCT FAILED
|
|
903 000020 AEE=XX ;INITIAL C(E)
|
|
904 030731 312 11 0 00 044004 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
905 030732 005 11 0 00 030053 ER5 E,30053 ;C(E) WAS CLOBBERED
|
|
906 030733 321 15 0 00 030721 JUMPL AC+2,F30050 ;LOOP ON ERROR SWITCH^
|
|
907
|
|
908 003006 ADR=ADR+1
|
|
909 000040 XX=XX+XX
|
|
910 IFE XX,<XX=1>
|
|
911
|
|
912 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
913 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
914 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
915 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
916 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
917 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
918
|
|
919 000000 F30060: AA1=0 ;INITIAL C(AC)
|
|
920 030734 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
921 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
922 030735 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
923 000040 AEE=XX ;INITIAL C(E)
|
|
924 030736 200 11 0 00 044005 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
925 030737 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
926 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
927 030740 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
928 030741 003 13 0 00 030061 ER3 AC,30061 ;HIGH PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-4
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0033
|
|
|
|
929 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
930 030742 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
931 030743 004 14 0 00 030062 ER4 AC+1,30062 ;LOW PRODUCT FAILED
|
|
932 000040 AEE=XX ;INITIAL C(E)
|
|
933 030744 312 11 0 00 044005 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
934 030745 005 11 0 00 030063 ER5 E,30063 ;C(E) WAS CLOBBERED
|
|
935 030746 321 15 0 00 030734 JUMPL AC+2,F30060 ;LOOP ON ERROR SWITCH^
|
|
936
|
|
937 003007 ADR=ADR+1
|
|
938 000100 XX=XX+XX
|
|
939 IFE XX,<XX=1>
|
|
940
|
|
941 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
942 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
943 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
944 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
945 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
946 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
947
|
|
948 000000 F30070: AA1=0 ;INITIAL C(AC)
|
|
949 030747 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
950 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
951 030750 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
952 000100 AEE=XX ;INITIAL C(E)
|
|
953 030751 200 11 0 00 044006 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
954 030752 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
955 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
956 030753 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
957 030754 003 13 0 00 030071 ER3 AC,30071 ;HIGH PRODUCT FAILED
|
|
958 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
959 030755 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
960 030756 004 14 0 00 030072 ER4 AC+1,30072 ;LOW PRODUCT FAILED
|
|
961 000100 AEE=XX ;INITIAL C(E)
|
|
962 030757 312 11 0 00 044006 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
963 030760 005 11 0 00 030073 ER5 E,30073 ;C(E) WAS CLOBBERED
|
|
964 030761 321 15 0 00 030747 JUMPL AC+2,F30070 ;LOOP ON ERROR SWITCH^
|
|
965
|
|
966 003010 ADR=ADR+1
|
|
967 000200 XX=XX+XX
|
|
968 IFE XX,<XX=1>
|
|
969
|
|
970 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
971 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
972 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
973 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
974 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
975 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
976
|
|
977 000000 F30100: AA1=0 ;INITIAL C(AC)
|
|
978 030762 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
979 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
980 030763 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
981 000200 AEE=XX ;INITIAL C(E)
|
|
982 030764 200 11 0 00 044007 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
983 030765 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-5
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0034
|
|
|
|
984 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
985 030766 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
986 030767 003 13 0 00 030101 ER3 AC,30101 ;HIGH PRODUCT FAILED
|
|
987 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
988 030770 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
989 030771 004 14 0 00 030102 ER4 AC+1,30102 ;LOW PRODUCT FAILED
|
|
990 000200 AEE=XX ;INITIAL C(E)
|
|
991 030772 312 11 0 00 044007 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
992 030773 005 11 0 00 030103 ER5 E,30103 ;C(E) WAS CLOBBERED
|
|
993 030774 321 15 0 00 030762 JUMPL AC+2,F30100 ;LOOP ON ERROR SWITCH^
|
|
994
|
|
995 003011 ADR=ADR+1
|
|
996 000400 XX=XX+XX
|
|
997 IFE XX,<XX=1>
|
|
998
|
|
999 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1000 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1001 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1002 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1003 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1004 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1005
|
|
1006 000000 F30110: AA1=0 ;INITIAL C(AC)
|
|
1007 030775 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1008 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1009 030776 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1010 000400 AEE=XX ;INITIAL C(E)
|
|
1011 030777 200 11 0 00 044010 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1012 031000 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1013 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1014 031001 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1015 031002 003 13 0 00 030111 ER3 AC,30111 ;HIGH PRODUCT FAILED
|
|
1016 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1017 031003 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1018 031004 004 14 0 00 030112 ER4 AC+1,30112 ;LOW PRODUCT FAILED
|
|
1019 000400 AEE=XX ;INITIAL C(E)
|
|
1020 031005 312 11 0 00 044010 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1021 031006 005 11 0 00 030113 ER5 E,30113 ;C(E) WAS CLOBBERED
|
|
1022 031007 321 15 0 00 030775 JUMPL AC+2,F30110 ;LOOP ON ERROR SWITCH^
|
|
1023
|
|
1024 003012 ADR=ADR+1
|
|
1025 001000 XX=XX+XX
|
|
1026 IFE XX,<XX=1>
|
|
1027
|
|
1028 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1029 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1030 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1031 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1032 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1033 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1034
|
|
1035 000000 F30120: AA1=0 ;INITIAL C(AC)
|
|
1036 031010 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1037 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1038 031011 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-6
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0035
|
|
|
|
1039 001000 AEE=XX ;INITIAL C(E)
|
|
1040 031012 200 11 0 00 044011 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1041 031013 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1042 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1043 031014 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1044 031015 003 13 0 00 030121 ER3 AC,30121 ;HIGH PRODUCT FAILED
|
|
1045 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1046 031016 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1047 031017 004 14 0 00 030122 ER4 AC+1,30122 ;LOW PRODUCT FAILED
|
|
1048 001000 AEE=XX ;INITIAL C(E)
|
|
1049 031020 312 11 0 00 044011 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1050 031021 005 11 0 00 030123 ER5 E,30123 ;C(E) WAS CLOBBERED
|
|
1051 031022 321 15 0 00 031010 JUMPL AC+2,F30120 ;LOOP ON ERROR SWITCH^
|
|
1052
|
|
1053 003013 ADR=ADR+1
|
|
1054 002000 XX=XX+XX
|
|
1055 IFE XX,<XX=1>
|
|
1056
|
|
1057 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1058 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1059 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1060 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1061 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1062 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1063
|
|
1064 000000 F30130: AA1=0 ;INITIAL C(AC)
|
|
1065 031023 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1066 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1067 031024 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1068 002000 AEE=XX ;INITIAL C(E)
|
|
1069 031025 200 11 0 00 044012 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1070 031026 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1071 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1072 031027 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1073 031030 003 13 0 00 030131 ER3 AC,30131 ;HIGH PRODUCT FAILED
|
|
1074 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1075 031031 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1076 031032 004 14 0 00 030132 ER4 AC+1,30132 ;LOW PRODUCT FAILED
|
|
1077 002000 AEE=XX ;INITIAL C(E)
|
|
1078 031033 312 11 0 00 044012 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1079 031034 005 11 0 00 030133 ER5 E,30133 ;C(E) WAS CLOBBERED
|
|
1080 031035 321 15 0 00 031023 JUMPL AC+2,F30130 ;LOOP ON ERROR SWITCH^
|
|
1081
|
|
1082 003014 ADR=ADR+1
|
|
1083 004000 XX=XX+XX
|
|
1084 IFE XX,<XX=1>
|
|
1085
|
|
1086 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1087 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1088 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1089 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1090 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1091 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1092
|
|
1093 000000 F30140: AA1=0 ;INITIAL C(AC)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-7
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0036
|
|
|
|
1094 031036 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1095 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1096 031037 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1097 004000 AEE=XX ;INITIAL C(E)
|
|
1098 031040 200 11 0 00 044013 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1099 031041 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1100 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1101 031042 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1102 031043 003 13 0 00 030141 ER3 AC,30141 ;HIGH PRODUCT FAILED
|
|
1103 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1104 031044 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1105 031045 004 14 0 00 030142 ER4 AC+1,30142 ;LOW PRODUCT FAILED
|
|
1106 004000 AEE=XX ;INITIAL C(E)
|
|
1107 031046 312 11 0 00 044013 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1108 031047 005 11 0 00 030143 ER5 E,30143 ;C(E) WAS CLOBBERED
|
|
1109 031050 321 15 0 00 031036 JUMPL AC+2,F30140 ;LOOP ON ERROR SWITCH^
|
|
1110
|
|
1111 003015 ADR=ADR+1
|
|
1112 010000 XX=XX+XX
|
|
1113 IFE XX,<XX=1>
|
|
1114
|
|
1115 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1116 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1117 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1118 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1119 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1120 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1121
|
|
1122 000000 F30150: AA1=0 ;INITIAL C(AC)
|
|
1123 031051 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1124 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1125 031052 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1126 010000 AEE=XX ;INITIAL C(E)
|
|
1127 031053 200 11 0 00 044014 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1128 031054 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1129 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1130 031055 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1131 031056 003 13 0 00 030151 ER3 AC,30151 ;HIGH PRODUCT FAILED
|
|
1132 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1133 031057 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1134 031060 004 14 0 00 030152 ER4 AC+1,30152 ;LOW PRODUCT FAILED
|
|
1135 010000 AEE=XX ;INITIAL C(E)
|
|
1136 031061 312 11 0 00 044014 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1137 031062 005 11 0 00 030153 ER5 E,30153 ;C(E) WAS CLOBBERED
|
|
1138 031063 321 15 0 00 031051 JUMPL AC+2,F30150 ;LOOP ON ERROR SWITCH^
|
|
1139
|
|
1140 003016 ADR=ADR+1
|
|
1141 020000 XX=XX+XX
|
|
1142 IFE XX,<XX=1>
|
|
1143
|
|
1144 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1145 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1146 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1147 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1148 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-8
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0037
|
|
|
|
1149 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1150
|
|
1151 000000 F30160: AA1=0 ;INITIAL C(AC)
|
|
1152 031064 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1153 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1154 031065 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1155 020000 AEE=XX ;INITIAL C(E)
|
|
1156 031066 200 11 0 00 044015 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1157 031067 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1158 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1159 031070 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1160 031071 003 13 0 00 030161 ER3 AC,30161 ;HIGH PRODUCT FAILED
|
|
1161 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1162 031072 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1163 031073 004 14 0 00 030162 ER4 AC+1,30162 ;LOW PRODUCT FAILED
|
|
1164 020000 AEE=XX ;INITIAL C(E)
|
|
1165 031074 312 11 0 00 044015 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1166 031075 005 11 0 00 030163 ER5 E,30163 ;C(E) WAS CLOBBERED
|
|
1167 031076 321 15 0 00 031064 JUMPL AC+2,F30160 ;LOOP ON ERROR SWITCH^
|
|
1168
|
|
1169 003017 ADR=ADR+1
|
|
1170 040000 XX=XX+XX
|
|
1171 IFE XX,<XX=1>
|
|
1172
|
|
1173 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1174 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1175 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1176 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1177 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1178 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1179
|
|
1180 000000 F30170: AA1=0 ;INITIAL C(AC)
|
|
1181 031077 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1182 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1183 031100 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1184 040000 AEE=XX ;INITIAL C(E)
|
|
1185 031101 200 11 0 00 044016 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1186 031102 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1187 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1188 031103 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1189 031104 003 13 0 00 030171 ER3 AC,30171 ;HIGH PRODUCT FAILED
|
|
1190 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1191 031105 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1192 031106 004 14 0 00 030172 ER4 AC+1,30172 ;LOW PRODUCT FAILED
|
|
1193 040000 AEE=XX ;INITIAL C(E)
|
|
1194 031107 312 11 0 00 044016 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1195 031110 005 11 0 00 030173 ER5 E,30173 ;C(E) WAS CLOBBERED
|
|
1196 031111 321 15 0 00 031077 JUMPL AC+2,F30170 ;LOOP ON ERROR SWITCH^
|
|
1197
|
|
1198 003020 ADR=ADR+1
|
|
1199 100000 XX=XX+XX
|
|
1200 IFE XX,<XX=1>
|
|
1201
|
|
1202 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1203 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-9
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0038
|
|
|
|
1204 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1205 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1206 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1207 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1208
|
|
1209 000000 F30200: AA1=0 ;INITIAL C(AC)
|
|
1210 031112 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1211 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1212 031113 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1213 100000 AEE=XX ;INITIAL C(E)
|
|
1214 031114 200 11 0 00 044017 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1215 031115 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1216 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1217 031116 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1218 031117 003 13 0 00 030201 ER3 AC,30201 ;HIGH PRODUCT FAILED
|
|
1219 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1220 031120 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1221 031121 004 14 0 00 030202 ER4 AC+1,30202 ;LOW PRODUCT FAILED
|
|
1222 100000 AEE=XX ;INITIAL C(E)
|
|
1223 031122 312 11 0 00 044017 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1224 031123 005 11 0 00 030203 ER5 E,30203 ;C(E) WAS CLOBBERED
|
|
1225 031124 321 15 0 00 031112 JUMPL AC+2,F30200 ;LOOP ON ERROR SWITCH^
|
|
1226
|
|
1227 003021 ADR=ADR+1
|
|
1228 200000 XX=XX+XX
|
|
1229 IFE XX,<XX=1>
|
|
1230
|
|
1231 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1232 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1233 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1234 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1235 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1236 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1237
|
|
1238 000000 F30210: AA1=0 ;INITIAL C(AC)
|
|
1239 031125 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1240 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1241 031126 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1242 200000 AEE=XX ;INITIAL C(E)
|
|
1243 031127 200 11 0 00 044020 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1244 031130 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1245 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1246 031131 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1247 031132 003 13 0 00 030211 ER3 AC,30211 ;HIGH PRODUCT FAILED
|
|
1248 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1249 031133 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1250 031134 004 14 0 00 030212 ER4 AC+1,30212 ;LOW PRODUCT FAILED
|
|
1251 200000 AEE=XX ;INITIAL C(E)
|
|
1252 031135 312 11 0 00 044020 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1253 031136 005 11 0 00 030213 ER5 E,30213 ;C(E) WAS CLOBBERED
|
|
1254 031137 321 15 0 00 031125 JUMPL AC+2,F30210 ;LOOP ON ERROR SWITCH^
|
|
1255
|
|
1256 003022 ADR=ADR+1
|
|
1257 400000 XX=XX+XX
|
|
1258 IFE XX,<XX=1>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-10
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0039
|
|
|
|
1259
|
|
1260 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1261 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1262 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1263 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1264 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1265 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1266
|
|
1267 000000 F30220: AA1=0 ;INITIAL C(AC)
|
|
1268 031140 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1269 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1270 031141 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1271 400000 AEE=XX ;INITIAL C(E)
|
|
1272 031142 200 11 0 00 044021 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1273 031143 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1274 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1275 031144 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1276 031145 003 13 0 00 030221 ER3 AC,30221 ;HIGH PRODUCT FAILED
|
|
1277 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1278 031146 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1279 031147 004 14 0 00 030222 ER4 AC+1,30222 ;LOW PRODUCT FAILED
|
|
1280 400000 AEE=XX ;INITIAL C(E)
|
|
1281 031150 312 11 0 00 044021 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1282 031151 005 11 0 00 030223 ER5 E,30223 ;C(E) WAS CLOBBERED
|
|
1283 031152 321 15 0 00 031140 JUMPL AC+2,F30220 ;LOOP ON ERROR SWITCH^
|
|
1284
|
|
1285 003023 ADR=ADR+1
|
|
1286 000001 000000 XX=XX+XX
|
|
1287 IFE XX,<XX=1>
|
|
1288
|
|
1289 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1290 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1291 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1292 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1293 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1294 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1295
|
|
1296 000000 F30230: AA1=0 ;INITIAL C(AC)
|
|
1297 031153 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1298 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1299 031154 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1300 000001 000000 AEE=XX ;INITIAL C(E)
|
|
1301 031155 200 11 0 00 044022 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1302 031156 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1303 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1304 031157 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1305 031160 003 13 0 00 030231 ER3 AC,30231 ;HIGH PRODUCT FAILED
|
|
1306 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1307 031161 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1308 031162 004 14 0 00 030232 ER4 AC+1,30232 ;LOW PRODUCT FAILED
|
|
1309 000001 000000 AEE=XX ;INITIAL C(E)
|
|
1310 031163 312 11 0 00 044022 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1311 031164 005 11 0 00 030233 ER5 E,30233 ;C(E) WAS CLOBBERED
|
|
1312 031165 321 15 0 00 031153 JUMPL AC+2,F30230 ;LOOP ON ERROR SWITCH^
|
|
1313
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-11
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0040
|
|
|
|
1314 003024 ADR=ADR+1
|
|
1315 000002 000000 XX=XX+XX
|
|
1316 IFE XX,<XX=1>
|
|
1317
|
|
1318 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1319 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1320 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1321 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1322 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1323 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1324
|
|
1325 000000 F30240: AA1=0 ;INITIAL C(AC)
|
|
1326 031166 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1327 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1328 031167 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1329 000002 000000 AEE=XX ;INITIAL C(E)
|
|
1330 031170 200 11 0 00 044023 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1331 031171 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1332 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1333 031172 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1334 031173 003 13 0 00 030241 ER3 AC,30241 ;HIGH PRODUCT FAILED
|
|
1335 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1336 031174 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1337 031175 004 14 0 00 030242 ER4 AC+1,30242 ;LOW PRODUCT FAILED
|
|
1338 000002 000000 AEE=XX ;INITIAL C(E)
|
|
1339 031176 312 11 0 00 044023 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1340 031177 005 11 0 00 030243 ER5 E,30243 ;C(E) WAS CLOBBERED
|
|
1341 031200 321 15 0 00 031166 JUMPL AC+2,F30240 ;LOOP ON ERROR SWITCH^
|
|
1342
|
|
1343 003025 ADR=ADR+1
|
|
1344 000004 000000 XX=XX+XX
|
|
1345 IFE XX,<XX=1>
|
|
1346
|
|
1347 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1348 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1349 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1350 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1351 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1352 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1353
|
|
1354 000000 F30250: AA1=0 ;INITIAL C(AC)
|
|
1355 031201 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1356 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1357 031202 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1358 000004 000000 AEE=XX ;INITIAL C(E)
|
|
1359 031203 200 11 0 00 044024 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1360 031204 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1361 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1362 031205 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1363 031206 003 13 0 00 030251 ER3 AC,30251 ;HIGH PRODUCT FAILED
|
|
1364 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1365 031207 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1366 031210 004 14 0 00 030252 ER4 AC+1,30252 ;LOW PRODUCT FAILED
|
|
1367 000004 000000 AEE=XX ;INITIAL C(E)
|
|
1368 031211 312 11 0 00 044024 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-12
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0041
|
|
|
|
1369 031212 005 11 0 00 030253 ER5 E,30253 ;C(E) WAS CLOBBERED
|
|
1370 031213 321 15 0 00 031201 JUMPL AC+2,F30250 ;LOOP ON ERROR SWITCH^
|
|
1371
|
|
1372 003026 ADR=ADR+1
|
|
1373 000010 000000 XX=XX+XX
|
|
1374 IFE XX,<XX=1>
|
|
1375
|
|
1376 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1377 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1378 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1379 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1380 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1381 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1382
|
|
1383 000000 F30260: AA1=0 ;INITIAL C(AC)
|
|
1384 031214 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1385 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1386 031215 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1387 000010 000000 AEE=XX ;INITIAL C(E)
|
|
1388 031216 200 11 0 00 044025 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1389 031217 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1390 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1391 031220 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1392 031221 003 13 0 00 030261 ER3 AC,30261 ;HIGH PRODUCT FAILED
|
|
1393 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1394 031222 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1395 031223 004 14 0 00 030262 ER4 AC+1,30262 ;LOW PRODUCT FAILED
|
|
1396 000010 000000 AEE=XX ;INITIAL C(E)
|
|
1397 031224 312 11 0 00 044025 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1398 031225 005 11 0 00 030263 ER5 E,30263 ;C(E) WAS CLOBBERED
|
|
1399 031226 321 15 0 00 031214 JUMPL AC+2,F30260 ;LOOP ON ERROR SWITCH^
|
|
1400
|
|
1401 003027 ADR=ADR+1
|
|
1402 000020 000000 XX=XX+XX
|
|
1403 IFE XX,<XX=1>
|
|
1404
|
|
1405 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1406 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1407 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1408 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1409 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1410 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1411
|
|
1412 000000 F30270: AA1=0 ;INITIAL C(AC)
|
|
1413 031227 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1414 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1415 031230 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1416 000020 000000 AEE=XX ;INITIAL C(E)
|
|
1417 031231 200 11 0 00 044026 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1418 031232 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1419 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1420 031233 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1421 031234 003 13 0 00 030271 ER3 AC,30271 ;HIGH PRODUCT FAILED
|
|
1422 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1423 031235 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-13
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0042
|
|
|
|
1424 031236 004 14 0 00 030272 ER4 AC+1,30272 ;LOW PRODUCT FAILED
|
|
1425 000020 000000 AEE=XX ;INITIAL C(E)
|
|
1426 031237 312 11 0 00 044026 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1427 031240 005 11 0 00 030273 ER5 E,30273 ;C(E) WAS CLOBBERED
|
|
1428 031241 321 15 0 00 031227 JUMPL AC+2,F30270 ;LOOP ON ERROR SWITCH^
|
|
1429
|
|
1430 003030 ADR=ADR+1
|
|
1431 000040 000000 XX=XX+XX
|
|
1432 IFE XX,<XX=1>
|
|
1433
|
|
1434 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1435 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1436 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1437 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1438 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1439 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1440
|
|
1441 000000 F30300: AA1=0 ;INITIAL C(AC)
|
|
1442 031242 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1443 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1444 031243 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1445 000040 000000 AEE=XX ;INITIAL C(E)
|
|
1446 031244 200 11 0 00 044027 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1447 031245 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1448 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1449 031246 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1450 031247 003 13 0 00 030301 ER3 AC,30301 ;HIGH PRODUCT FAILED
|
|
1451 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1452 031250 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1453 031251 004 14 0 00 030302 ER4 AC+1,30302 ;LOW PRODUCT FAILED
|
|
1454 000040 000000 AEE=XX ;INITIAL C(E)
|
|
1455 031252 312 11 0 00 044027 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1456 031253 005 11 0 00 030303 ER5 E,30303 ;C(E) WAS CLOBBERED
|
|
1457 031254 321 15 0 00 031242 JUMPL AC+2,F30300 ;LOOP ON ERROR SWITCH^
|
|
1458
|
|
1459 003031 ADR=ADR+1
|
|
1460 000100 000000 XX=XX+XX
|
|
1461 IFE XX,<XX=1>
|
|
1462
|
|
1463 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1464 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1465 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1466 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1467 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1468 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1469
|
|
1470 000000 F30310: AA1=0 ;INITIAL C(AC)
|
|
1471 031255 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1472 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1473 031256 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1474 000100 000000 AEE=XX ;INITIAL C(E)
|
|
1475 031257 200 11 0 00 044030 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1476 031260 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1477 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1478 031261 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-14
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0043
|
|
|
|
1479 031262 003 13 0 00 030311 ER3 AC,30311 ;HIGH PRODUCT FAILED
|
|
1480 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1481 031263 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1482 031264 004 14 0 00 030312 ER4 AC+1,30312 ;LOW PRODUCT FAILED
|
|
1483 000100 000000 AEE=XX ;INITIAL C(E)
|
|
1484 031265 312 11 0 00 044030 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1485 031266 005 11 0 00 030313 ER5 E,30313 ;C(E) WAS CLOBBERED
|
|
1486 031267 321 15 0 00 031255 JUMPL AC+2,F30310 ;LOOP ON ERROR SWITCH^
|
|
1487
|
|
1488 003032 ADR=ADR+1
|
|
1489 000200 000000 XX=XX+XX
|
|
1490 IFE XX,<XX=1>
|
|
1491
|
|
1492 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1493 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1494 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1495 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1496 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1497 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1498
|
|
1499 000000 F30320: AA1=0 ;INITIAL C(AC)
|
|
1500 031270 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1501 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1502 031271 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1503 000200 000000 AEE=XX ;INITIAL C(E)
|
|
1504 031272 200 11 0 00 044031 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1505 031273 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1506 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1507 031274 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1508 031275 003 13 0 00 030321 ER3 AC,30321 ;HIGH PRODUCT FAILED
|
|
1509 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1510 031276 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1511 031277 004 14 0 00 030322 ER4 AC+1,30322 ;LOW PRODUCT FAILED
|
|
1512 000200 000000 AEE=XX ;INITIAL C(E)
|
|
1513 031300 312 11 0 00 044031 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1514 031301 005 11 0 00 030323 ER5 E,30323 ;C(E) WAS CLOBBERED
|
|
1515 031302 321 15 0 00 031270 JUMPL AC+2,F30320 ;LOOP ON ERROR SWITCH^
|
|
1516
|
|
1517 003033 ADR=ADR+1
|
|
1518 000400 000000 XX=XX+XX
|
|
1519 IFE XX,<XX=1>
|
|
1520
|
|
1521 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1522 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1523 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1524 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1525 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1526 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1527
|
|
1528 000000 F30330: AA1=0 ;INITIAL C(AC)
|
|
1529 031303 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1530 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1531 031304 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1532 000400 000000 AEE=XX ;INITIAL C(E)
|
|
1533 031305 200 11 0 00 044032 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-15
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0044
|
|
|
|
1534 031306 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1535 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1536 031307 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1537 031310 003 13 0 00 030331 ER3 AC,30331 ;HIGH PRODUCT FAILED
|
|
1538 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1539 031311 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1540 031312 004 14 0 00 030332 ER4 AC+1,30332 ;LOW PRODUCT FAILED
|
|
1541 000400 000000 AEE=XX ;INITIAL C(E)
|
|
1542 031313 312 11 0 00 044032 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1543 031314 005 11 0 00 030333 ER5 E,30333 ;C(E) WAS CLOBBERED
|
|
1544 031315 321 15 0 00 031303 JUMPL AC+2,F30330 ;LOOP ON ERROR SWITCH^
|
|
1545
|
|
1546 003034 ADR=ADR+1
|
|
1547 001000 000000 XX=XX+XX
|
|
1548 IFE XX,<XX=1>
|
|
1549
|
|
1550 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1551 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1552 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1553 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1554 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1555 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1556
|
|
1557 000000 F30340: AA1=0 ;INITIAL C(AC)
|
|
1558 031316 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1559 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1560 031317 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1561 001000 000000 AEE=XX ;INITIAL C(E)
|
|
1562 031320 200 11 0 00 044033 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1563 031321 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1564 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1565 031322 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1566 031323 003 13 0 00 030341 ER3 AC,30341 ;HIGH PRODUCT FAILED
|
|
1567 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1568 031324 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1569 031325 004 14 0 00 030342 ER4 AC+1,30342 ;LOW PRODUCT FAILED
|
|
1570 001000 000000 AEE=XX ;INITIAL C(E)
|
|
1571 031326 312 11 0 00 044033 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1572 031327 005 11 0 00 030343 ER5 E,30343 ;C(E) WAS CLOBBERED
|
|
1573 031330 321 15 0 00 031316 JUMPL AC+2,F30340 ;LOOP ON ERROR SWITCH^
|
|
1574
|
|
1575 003035 ADR=ADR+1
|
|
1576 002000 000000 XX=XX+XX
|
|
1577 IFE XX,<XX=1>
|
|
1578
|
|
1579 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1580 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1581 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1582 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1583 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1584 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1585
|
|
1586 000000 F30350: AA1=0 ;INITIAL C(AC)
|
|
1587 031331 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1588 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-16
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0045
|
|
|
|
1589 031332 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1590 002000 000000 AEE=XX ;INITIAL C(E)
|
|
1591 031333 200 11 0 00 044034 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1592 031334 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1593 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1594 031335 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1595 031336 003 13 0 00 030351 ER3 AC,30351 ;HIGH PRODUCT FAILED
|
|
1596 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1597 031337 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1598 031340 004 14 0 00 030352 ER4 AC+1,30352 ;LOW PRODUCT FAILED
|
|
1599 002000 000000 AEE=XX ;INITIAL C(E)
|
|
1600 031341 312 11 0 00 044034 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1601 031342 005 11 0 00 030353 ER5 E,30353 ;C(E) WAS CLOBBERED
|
|
1602 031343 321 15 0 00 031331 JUMPL AC+2,F30350 ;LOOP ON ERROR SWITCH^
|
|
1603
|
|
1604 003036 ADR=ADR+1
|
|
1605 004000 000000 XX=XX+XX
|
|
1606 IFE XX,<XX=1>
|
|
1607
|
|
1608 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1609 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1610 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1611 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1612 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1613 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1614
|
|
1615 000000 F30360: AA1=0 ;INITIAL C(AC)
|
|
1616 031344 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1617 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1618 031345 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1619 004000 000000 AEE=XX ;INITIAL C(E)
|
|
1620 031346 200 11 0 00 044035 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1621 031347 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1622 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1623 031350 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1624 031351 003 13 0 00 030361 ER3 AC,30361 ;HIGH PRODUCT FAILED
|
|
1625 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1626 031352 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1627 031353 004 14 0 00 030362 ER4 AC+1,30362 ;LOW PRODUCT FAILED
|
|
1628 004000 000000 AEE=XX ;INITIAL C(E)
|
|
1629 031354 312 11 0 00 044035 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1630 031355 005 11 0 00 030363 ER5 E,30363 ;C(E) WAS CLOBBERED
|
|
1631 031356 321 15 0 00 031344 JUMPL AC+2,F30360 ;LOOP ON ERROR SWITCH^
|
|
1632
|
|
1633 003037 ADR=ADR+1
|
|
1634 010000 000000 XX=XX+XX
|
|
1635 IFE XX,<XX=1>
|
|
1636
|
|
1637 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1638 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1639 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1640 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1641 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1642 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1643
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-17
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0046
|
|
|
|
1644 000000 F30370: AA1=0 ;INITIAL C(AC)
|
|
1645 031357 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1646 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1647 031360 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1648 010000 000000 AEE=XX ;INITIAL C(E)
|
|
1649 031361 200 11 0 00 044036 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1650 031362 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1651 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1652 031363 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1653 031364 003 13 0 00 030371 ER3 AC,30371 ;HIGH PRODUCT FAILED
|
|
1654 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1655 031365 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1656 031366 004 14 0 00 030372 ER4 AC+1,30372 ;LOW PRODUCT FAILED
|
|
1657 010000 000000 AEE=XX ;INITIAL C(E)
|
|
1658 031367 312 11 0 00 044036 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1659 031370 005 11 0 00 030373 ER5 E,30373 ;C(E) WAS CLOBBERED
|
|
1660 031371 321 15 0 00 031357 JUMPL AC+2,F30370 ;LOOP ON ERROR SWITCH^
|
|
1661
|
|
1662 003040 ADR=ADR+1
|
|
1663 020000 000000 XX=XX+XX
|
|
1664 IFE XX,<XX=1>
|
|
1665
|
|
1666 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1667 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1668 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1669 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1670 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1671 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1672
|
|
1673 000000 F30400: AA1=0 ;INITIAL C(AC)
|
|
1674 031372 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1675 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1676 031373 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1677 020000 000000 AEE=XX ;INITIAL C(E)
|
|
1678 031374 200 11 0 00 044037 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1679 031375 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1680 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1681 031376 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1682 031377 003 13 0 00 030401 ER3 AC,30401 ;HIGH PRODUCT FAILED
|
|
1683 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1684 031400 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1685 031401 004 14 0 00 030402 ER4 AC+1,30402 ;LOW PRODUCT FAILED
|
|
1686 020000 000000 AEE=XX ;INITIAL C(E)
|
|
1687 031402 312 11 0 00 044037 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1688 031403 005 11 0 00 030403 ER5 E,30403 ;C(E) WAS CLOBBERED
|
|
1689 031404 321 15 0 00 031372 JUMPL AC+2,F30400 ;LOOP ON ERROR SWITCH^
|
|
1690
|
|
1691 003041 ADR=ADR+1
|
|
1692 040000 000000 XX=XX+XX
|
|
1693 IFE XX,<XX=1>
|
|
1694
|
|
1695 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1696 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1697 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1698 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-18
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0047
|
|
|
|
1699 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1700 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1701
|
|
1702 000000 F30410: AA1=0 ;INITIAL C(AC)
|
|
1703 031405 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1704 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1705 031406 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1706 040000 000000 AEE=XX ;INITIAL C(E)
|
|
1707 031407 200 11 0 00 044040 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1708 031410 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1709 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1710 031411 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1711 031412 003 13 0 00 030411 ER3 AC,30411 ;HIGH PRODUCT FAILED
|
|
1712 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1713 031413 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1714 031414 004 14 0 00 030412 ER4 AC+1,30412 ;LOW PRODUCT FAILED
|
|
1715 040000 000000 AEE=XX ;INITIAL C(E)
|
|
1716 031415 312 11 0 00 044040 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1717 031416 005 11 0 00 030413 ER5 E,30413 ;C(E) WAS CLOBBERED
|
|
1718 031417 321 15 0 00 031405 JUMPL AC+2,F30410 ;LOOP ON ERROR SWITCH^
|
|
1719
|
|
1720 003042 ADR=ADR+1
|
|
1721 100000 000000 XX=XX+XX
|
|
1722 IFE XX,<XX=1>
|
|
1723
|
|
1724 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1725 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1726 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1727 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1728 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1729 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1730
|
|
1731 000000 F30420: AA1=0 ;INITIAL C(AC)
|
|
1732 031420 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1733 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1734 031421 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1735 100000 000000 AEE=XX ;INITIAL C(E)
|
|
1736 031422 200 11 0 00 044041 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1737 031423 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1738 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1739 031424 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1740 031425 003 13 0 00 030421 ER3 AC,30421 ;HIGH PRODUCT FAILED
|
|
1741 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1742 031426 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1743 031427 004 14 0 00 030422 ER4 AC+1,30422 ;LOW PRODUCT FAILED
|
|
1744 100000 000000 AEE=XX ;INITIAL C(E)
|
|
1745 031430 312 11 0 00 044041 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1746 031431 005 11 0 00 030423 ER5 E,30423 ;C(E) WAS CLOBBERED
|
|
1747 031432 321 15 0 00 031420 JUMPL AC+2,F30420 ;LOOP ON ERROR SWITCH^
|
|
1748
|
|
1749 003043 ADR=ADR+1
|
|
1750 200000 000000 XX=XX+XX
|
|
1751 IFE XX,<XX=1>
|
|
1752
|
|
1753 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2-19
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0048
|
|
|
|
1754 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1755 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1756 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1757 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1758 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1759
|
|
1760 000000 F30430: AA1=0 ;INITIAL C(AC)
|
|
1761 031433 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1762 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1763 031434 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1764 200000 000000 AEE=XX ;INITIAL C(E)
|
|
1765 031435 200 11 0 00 044042 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1766 031436 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1767 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1768 031437 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1769 031440 003 13 0 00 030431 ER3 AC,30431 ;HIGH PRODUCT FAILED
|
|
1770 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1771 031441 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1772 031442 004 14 0 00 030432 ER4 AC+1,30432 ;LOW PRODUCT FAILED
|
|
1773 200000 000000 AEE=XX ;INITIAL C(E)
|
|
1774 031443 312 11 0 00 044042 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1775 031444 005 11 0 00 030433 ER5 E,30433 ;C(E) WAS CLOBBERED
|
|
1776 031445 321 15 0 00 031433 JUMPL AC+2,F30430 ;LOOP ON ERROR SWITCH^
|
|
1777
|
|
1778 003044 ADR=ADR+1
|
|
1779 400000 000000 XX=XX+XX
|
|
1780 IFE XX,<XX=1>
|
|
1781
|
|
1782 ;MULTIPLY RIPPLED 1 BY 0 TO GET PRODUCT OF 0
|
|
1783 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1784 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1785 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1786 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1787 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1788
|
|
1789 000000 F30440: AA1=0 ;INITIAL C(AC)
|
|
1790 031446 200 13 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1791 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1792 031447 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1793 400000 000000 AEE=XX ;INITIAL C(E)
|
|
1794 031450 200 11 0 00 044043 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1795 031451 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1796 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1797 031452 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1798 031453 003 13 0 00 030441 ER3 AC,30441 ;HIGH PRODUCT FAILED
|
|
1799 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1800 031454 312 14 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1801 031455 004 14 0 00 030442 ER4 AC+1,30442 ;LOW PRODUCT FAILED
|
|
1802 400000 000000 AEE=XX ;INITIAL C(E)
|
|
1803 031456 312 11 0 00 044043 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1804 031457 005 11 0 00 030443 ER5 E,30443 ;C(E) WAS CLOBBERED
|
|
1805 031460 321 15 0 00 031446 JUMPL AC+2,F30440 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0049
|
|
|
|
1806 000012 AC=12
|
|
1807 000010 E=<AC-2>&17
|
|
1808 SAVEAC (1,1)^
|
|
1809 031461 201 14 0 00 031461 MOVEI AC+2,. ;SAVE TEST PC
|
|
1810 031462 202 14 0 00 030051 MOVEM AC+2,TESTPC
|
|
1811 031463 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
1812 031464 202 14 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
1813 000000 XX=0
|
|
1814
|
|
1815 REPEAT ^D36, <
|
|
1816 ADR=ADR+1
|
|
1817 XX=XX+XX+1
|
|
1818 IFE <XX-1>,<XX=-2>
|
|
1819
|
|
1820 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
1821 MOP1 (\ADR,0,-1,XX,0,0)>
|
|
1822
|
|
1823 003045 ADR=ADR+1
|
|
1824 000001 XX=XX+XX+1
|
|
1825 777777 777776 IFE <XX-1>,<XX=-2>
|
|
1826
|
|
1827 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
1828 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1829 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1830 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1831 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1832 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1833
|
|
1834 000000 F30450: AA1=0 ;INITIAL C(AC)
|
|
1835 031465 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1836 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1837 031466 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1838 777777 777776 AEE=XX ;INITIAL C(E)
|
|
1839 031467 200 10 0 00 044044 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1840 031470 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1841 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1842 031471 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1843 031472 003 12 0 00 030451 ER3 AC,30451 ;HIGH PRODUCT FAILED
|
|
1844 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1845 031473 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1846 031474 004 13 0 00 030452 ER4 AC+1,30452 ;LOW PRODUCT FAILED
|
|
1847 777777 777776 AEE=XX ;INITIAL C(E)
|
|
1848 031475 312 10 0 00 044044 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1849 031476 005 10 0 00 030453 ER5 E,30453 ;C(E) WAS CLOBBERED
|
|
1850 031477 321 14 0 00 031465 JUMPL AC+2,F30450 ;LOOP ON ERROR SWITCH^
|
|
1851
|
|
1852 003046 ADR=ADR+1
|
|
1853 777777 777775 XX=XX+XX+1
|
|
1854 IFE <XX-1>,<XX=-2>
|
|
1855
|
|
1856 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
1857 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1858 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1859 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1860 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-1
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0050
|
|
|
|
1861 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1862
|
|
1863 000000 F30460: AA1=0 ;INITIAL C(AC)
|
|
1864 031500 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1865 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1866 031501 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1867 777777 777775 AEE=XX ;INITIAL C(E)
|
|
1868 031502 200 10 0 00 044045 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1869 031503 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1870 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1871 031504 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1872 031505 003 12 0 00 030461 ER3 AC,30461 ;HIGH PRODUCT FAILED
|
|
1873 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1874 031506 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1875 031507 004 13 0 00 030462 ER4 AC+1,30462 ;LOW PRODUCT FAILED
|
|
1876 777777 777775 AEE=XX ;INITIAL C(E)
|
|
1877 031510 312 10 0 00 044045 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1878 031511 005 10 0 00 030463 ER5 E,30463 ;C(E) WAS CLOBBERED
|
|
1879 031512 321 14 0 00 031500 JUMPL AC+2,F30460 ;LOOP ON ERROR SWITCH^
|
|
1880
|
|
1881 003047 ADR=ADR+1
|
|
1882 777777 777773 XX=XX+XX+1
|
|
1883 IFE <XX-1>,<XX=-2>
|
|
1884
|
|
1885 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
1886 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1887 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1888 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1889 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1890 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1891
|
|
1892 000000 F30470: AA1=0 ;INITIAL C(AC)
|
|
1893 031513 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1894 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1895 031514 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1896 777777 777773 AEE=XX ;INITIAL C(E)
|
|
1897 031515 200 10 0 00 044046 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1898 031516 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1899 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1900 031517 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1901 031520 003 12 0 00 030471 ER3 AC,30471 ;HIGH PRODUCT FAILED
|
|
1902 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1903 031521 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1904 031522 004 13 0 00 030472 ER4 AC+1,30472 ;LOW PRODUCT FAILED
|
|
1905 777777 777773 AEE=XX ;INITIAL C(E)
|
|
1906 031523 312 10 0 00 044046 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1907 031524 005 10 0 00 030473 ER5 E,30473 ;C(E) WAS CLOBBERED
|
|
1908 031525 321 14 0 00 031513 JUMPL AC+2,F30470 ;LOOP ON ERROR SWITCH^
|
|
1909
|
|
1910 003050 ADR=ADR+1
|
|
1911 777777 777767 XX=XX+XX+1
|
|
1912 IFE <XX-1>,<XX=-2>
|
|
1913
|
|
1914 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
1915 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-2
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0051
|
|
|
|
1916 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1917 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1918 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1919 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1920
|
|
1921 000000 F30500: AA1=0 ;INITIAL C(AC)
|
|
1922 031526 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1923 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1924 031527 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1925 777777 777767 AEE=XX ;INITIAL C(E)
|
|
1926 031530 200 10 0 00 044047 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1927 031531 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1928 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1929 031532 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1930 031533 003 12 0 00 030501 ER3 AC,30501 ;HIGH PRODUCT FAILED
|
|
1931 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1932 031534 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1933 031535 004 13 0 00 030502 ER4 AC+1,30502 ;LOW PRODUCT FAILED
|
|
1934 777777 777767 AEE=XX ;INITIAL C(E)
|
|
1935 031536 312 10 0 00 044047 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1936 031537 005 10 0 00 030503 ER5 E,30503 ;C(E) WAS CLOBBERED
|
|
1937 031540 321 14 0 00 031526 JUMPL AC+2,F30500 ;LOOP ON ERROR SWITCH^
|
|
1938
|
|
1939 003051 ADR=ADR+1
|
|
1940 777777 777757 XX=XX+XX+1
|
|
1941 IFE <XX-1>,<XX=-2>
|
|
1942
|
|
1943 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
1944 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1945 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1946 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1947 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1948 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1949
|
|
1950 000000 F30510: AA1=0 ;INITIAL C(AC)
|
|
1951 031541 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1952 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1953 031542 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1954 777777 777757 AEE=XX ;INITIAL C(E)
|
|
1955 031543 200 10 0 00 044050 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1956 031544 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1957 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1958 031545 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1959 031546 003 12 0 00 030511 ER3 AC,30511 ;HIGH PRODUCT FAILED
|
|
1960 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1961 031547 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1962 031550 004 13 0 00 030512 ER4 AC+1,30512 ;LOW PRODUCT FAILED
|
|
1963 777777 777757 AEE=XX ;INITIAL C(E)
|
|
1964 031551 312 10 0 00 044050 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1965 031552 005 10 0 00 030513 ER5 E,30513 ;C(E) WAS CLOBBERED
|
|
1966 031553 321 14 0 00 031541 JUMPL AC+2,F30510 ;LOOP ON ERROR SWITCH^
|
|
1967
|
|
1968 003052 ADR=ADR+1
|
|
1969 777777 777737 XX=XX+XX+1
|
|
1970 IFE <XX-1>,<XX=-2>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-3
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0052
|
|
|
|
1971
|
|
1972 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
1973 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
1974 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
1975 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1976 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
1977 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1978
|
|
1979 000000 F30520: AA1=0 ;INITIAL C(AC)
|
|
1980 031554 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
1981 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
1982 031555 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
1983 777777 777737 AEE=XX ;INITIAL C(E)
|
|
1984 031556 200 10 0 00 044051 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1985 031557 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1986 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
1987 031560 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
1988 031561 003 12 0 00 030521 ER3 AC,30521 ;HIGH PRODUCT FAILED
|
|
1989 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
1990 031562 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
1991 031563 004 13 0 00 030522 ER4 AC+1,30522 ;LOW PRODUCT FAILED
|
|
1992 777777 777737 AEE=XX ;INITIAL C(E)
|
|
1993 031564 312 10 0 00 044051 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1994 031565 005 10 0 00 030523 ER5 E,30523 ;C(E) WAS CLOBBERED
|
|
1995 031566 321 14 0 00 031554 JUMPL AC+2,F30520 ;LOOP ON ERROR SWITCH^
|
|
1996
|
|
1997 003053 ADR=ADR+1
|
|
1998 777777 777677 XX=XX+XX+1
|
|
1999 IFE <XX-1>,<XX=-2>
|
|
2000
|
|
2001 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2002 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2003 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2004 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2005 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2006 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2007
|
|
2008 000000 F30530: AA1=0 ;INITIAL C(AC)
|
|
2009 031567 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2010 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2011 031570 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2012 777777 777677 AEE=XX ;INITIAL C(E)
|
|
2013 031571 200 10 0 00 044052 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2014 031572 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2015 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2016 031573 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2017 031574 003 12 0 00 030531 ER3 AC,30531 ;HIGH PRODUCT FAILED
|
|
2018 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2019 031575 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2020 031576 004 13 0 00 030532 ER4 AC+1,30532 ;LOW PRODUCT FAILED
|
|
2021 777777 777677 AEE=XX ;INITIAL C(E)
|
|
2022 031577 312 10 0 00 044052 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2023 031600 005 10 0 00 030533 ER5 E,30533 ;C(E) WAS CLOBBERED
|
|
2024 031601 321 14 0 00 031567 JUMPL AC+2,F30530 ;LOOP ON ERROR SWITCH^
|
|
2025
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-4
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0053
|
|
|
|
2026 003054 ADR=ADR+1
|
|
2027 777777 777577 XX=XX+XX+1
|
|
2028 IFE <XX-1>,<XX=-2>
|
|
2029
|
|
2030 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2031 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2032 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2033 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2034 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2035 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2036
|
|
2037 000000 F30540: AA1=0 ;INITIAL C(AC)
|
|
2038 031602 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2039 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2040 031603 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2041 777777 777577 AEE=XX ;INITIAL C(E)
|
|
2042 031604 200 10 0 00 044053 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2043 031605 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2044 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2045 031606 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2046 031607 003 12 0 00 030541 ER3 AC,30541 ;HIGH PRODUCT FAILED
|
|
2047 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2048 031610 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2049 031611 004 13 0 00 030542 ER4 AC+1,30542 ;LOW PRODUCT FAILED
|
|
2050 777777 777577 AEE=XX ;INITIAL C(E)
|
|
2051 031612 312 10 0 00 044053 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2052 031613 005 10 0 00 030543 ER5 E,30543 ;C(E) WAS CLOBBERED
|
|
2053 031614 321 14 0 00 031602 JUMPL AC+2,F30540 ;LOOP ON ERROR SWITCH^
|
|
2054
|
|
2055 003055 ADR=ADR+1
|
|
2056 777777 777377 XX=XX+XX+1
|
|
2057 IFE <XX-1>,<XX=-2>
|
|
2058
|
|
2059 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2060 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2061 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2062 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2063 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2064 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2065
|
|
2066 000000 F30550: AA1=0 ;INITIAL C(AC)
|
|
2067 031615 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2068 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2069 031616 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2070 777777 777377 AEE=XX ;INITIAL C(E)
|
|
2071 031617 200 10 0 00 044054 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2072 031620 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2073 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2074 031621 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2075 031622 003 12 0 00 030551 ER3 AC,30551 ;HIGH PRODUCT FAILED
|
|
2076 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2077 031623 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2078 031624 004 13 0 00 030552 ER4 AC+1,30552 ;LOW PRODUCT FAILED
|
|
2079 777777 777377 AEE=XX ;INITIAL C(E)
|
|
2080 031625 312 10 0 00 044054 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-5
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0054
|
|
|
|
2081 031626 005 10 0 00 030553 ER5 E,30553 ;C(E) WAS CLOBBERED
|
|
2082 031627 321 14 0 00 031615 JUMPL AC+2,F30550 ;LOOP ON ERROR SWITCH^
|
|
2083
|
|
2084 003056 ADR=ADR+1
|
|
2085 777777 776777 XX=XX+XX+1
|
|
2086 IFE <XX-1>,<XX=-2>
|
|
2087
|
|
2088 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2089 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2090 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2091 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2092 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2093 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2094
|
|
2095 000000 F30560: AA1=0 ;INITIAL C(AC)
|
|
2096 031630 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2097 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2098 031631 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2099 777777 776777 AEE=XX ;INITIAL C(E)
|
|
2100 031632 200 10 0 00 044055 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2101 031633 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2102 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2103 031634 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2104 031635 003 12 0 00 030561 ER3 AC,30561 ;HIGH PRODUCT FAILED
|
|
2105 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2106 031636 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2107 031637 004 13 0 00 030562 ER4 AC+1,30562 ;LOW PRODUCT FAILED
|
|
2108 777777 776777 AEE=XX ;INITIAL C(E)
|
|
2109 031640 312 10 0 00 044055 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2110 031641 005 10 0 00 030563 ER5 E,30563 ;C(E) WAS CLOBBERED
|
|
2111 031642 321 14 0 00 031630 JUMPL AC+2,F30560 ;LOOP ON ERROR SWITCH^
|
|
2112
|
|
2113 003057 ADR=ADR+1
|
|
2114 777777 775777 XX=XX+XX+1
|
|
2115 IFE <XX-1>,<XX=-2>
|
|
2116
|
|
2117 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2118 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2119 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2120 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2121 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2122 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2123
|
|
2124 000000 F30570: AA1=0 ;INITIAL C(AC)
|
|
2125 031643 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2126 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2127 031644 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2128 777777 775777 AEE=XX ;INITIAL C(E)
|
|
2129 031645 200 10 0 00 044056 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2130 031646 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2131 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2132 031647 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2133 031650 003 12 0 00 030571 ER3 AC,30571 ;HIGH PRODUCT FAILED
|
|
2134 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2135 031651 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-6
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0055
|
|
|
|
2136 031652 004 13 0 00 030572 ER4 AC+1,30572 ;LOW PRODUCT FAILED
|
|
2137 777777 775777 AEE=XX ;INITIAL C(E)
|
|
2138 031653 312 10 0 00 044056 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2139 031654 005 10 0 00 030573 ER5 E,30573 ;C(E) WAS CLOBBERED
|
|
2140 031655 321 14 0 00 031643 JUMPL AC+2,F30570 ;LOOP ON ERROR SWITCH^
|
|
2141
|
|
2142 003060 ADR=ADR+1
|
|
2143 777777 773777 XX=XX+XX+1
|
|
2144 IFE <XX-1>,<XX=-2>
|
|
2145
|
|
2146 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2147 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2148 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2149 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2150 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2151 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2152
|
|
2153 000000 F30600: AA1=0 ;INITIAL C(AC)
|
|
2154 031656 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2155 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2156 031657 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2157 777777 773777 AEE=XX ;INITIAL C(E)
|
|
2158 031660 200 10 0 00 044057 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2159 031661 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2160 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2161 031662 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2162 031663 003 12 0 00 030601 ER3 AC,30601 ;HIGH PRODUCT FAILED
|
|
2163 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2164 031664 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2165 031665 004 13 0 00 030602 ER4 AC+1,30602 ;LOW PRODUCT FAILED
|
|
2166 777777 773777 AEE=XX ;INITIAL C(E)
|
|
2167 031666 312 10 0 00 044057 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2168 031667 005 10 0 00 030603 ER5 E,30603 ;C(E) WAS CLOBBERED
|
|
2169 031670 321 14 0 00 031656 JUMPL AC+2,F30600 ;LOOP ON ERROR SWITCH^
|
|
2170
|
|
2171 003061 ADR=ADR+1
|
|
2172 777777 767777 XX=XX+XX+1
|
|
2173 IFE <XX-1>,<XX=-2>
|
|
2174
|
|
2175 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2176 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2177 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2178 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2179 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2180 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2181
|
|
2182 000000 F30610: AA1=0 ;INITIAL C(AC)
|
|
2183 031671 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2184 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2185 031672 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2186 777777 767777 AEE=XX ;INITIAL C(E)
|
|
2187 031673 200 10 0 00 044060 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2188 031674 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2189 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2190 031675 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-7
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0056
|
|
|
|
2191 031676 003 12 0 00 030611 ER3 AC,30611 ;HIGH PRODUCT FAILED
|
|
2192 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2193 031677 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2194 031700 004 13 0 00 030612 ER4 AC+1,30612 ;LOW PRODUCT FAILED
|
|
2195 777777 767777 AEE=XX ;INITIAL C(E)
|
|
2196 031701 312 10 0 00 044060 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2197 031702 005 10 0 00 030613 ER5 E,30613 ;C(E) WAS CLOBBERED
|
|
2198 031703 321 14 0 00 031671 JUMPL AC+2,F30610 ;LOOP ON ERROR SWITCH^
|
|
2199
|
|
2200 003062 ADR=ADR+1
|
|
2201 777777 757777 XX=XX+XX+1
|
|
2202 IFE <XX-1>,<XX=-2>
|
|
2203
|
|
2204 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2205 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2206 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2207 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2208 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2209 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2210
|
|
2211 000000 F30620: AA1=0 ;INITIAL C(AC)
|
|
2212 031704 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2213 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2214 031705 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2215 777777 757777 AEE=XX ;INITIAL C(E)
|
|
2216 031706 200 10 0 00 044061 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2217 031707 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2218 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2219 031710 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2220 031711 003 12 0 00 030621 ER3 AC,30621 ;HIGH PRODUCT FAILED
|
|
2221 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2222 031712 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2223 031713 004 13 0 00 030622 ER4 AC+1,30622 ;LOW PRODUCT FAILED
|
|
2224 777777 757777 AEE=XX ;INITIAL C(E)
|
|
2225 031714 312 10 0 00 044061 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2226 031715 005 10 0 00 030623 ER5 E,30623 ;C(E) WAS CLOBBERED
|
|
2227 031716 321 14 0 00 031704 JUMPL AC+2,F30620 ;LOOP ON ERROR SWITCH^
|
|
2228
|
|
2229 003063 ADR=ADR+1
|
|
2230 777777 737777 XX=XX+XX+1
|
|
2231 IFE <XX-1>,<XX=-2>
|
|
2232
|
|
2233 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2234 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2235 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2236 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2237 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2238 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2239
|
|
2240 000000 F30630: AA1=0 ;INITIAL C(AC)
|
|
2241 031717 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2242 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2243 031720 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2244 777777 737777 AEE=XX ;INITIAL C(E)
|
|
2245 031721 200 10 0 00 044062 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-8
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0057
|
|
|
|
2246 031722 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2247 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2248 031723 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2249 031724 003 12 0 00 030631 ER3 AC,30631 ;HIGH PRODUCT FAILED
|
|
2250 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2251 031725 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2252 031726 004 13 0 00 030632 ER4 AC+1,30632 ;LOW PRODUCT FAILED
|
|
2253 777777 737777 AEE=XX ;INITIAL C(E)
|
|
2254 031727 312 10 0 00 044062 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2255 031730 005 10 0 00 030633 ER5 E,30633 ;C(E) WAS CLOBBERED
|
|
2256 031731 321 14 0 00 031717 JUMPL AC+2,F30630 ;LOOP ON ERROR SWITCH^
|
|
2257
|
|
2258 003064 ADR=ADR+1
|
|
2259 777777 677777 XX=XX+XX+1
|
|
2260 IFE <XX-1>,<XX=-2>
|
|
2261
|
|
2262 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2263 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2264 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2265 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2266 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2267 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2268
|
|
2269 000000 F30640: AA1=0 ;INITIAL C(AC)
|
|
2270 031732 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2271 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2272 031733 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2273 777777 677777 AEE=XX ;INITIAL C(E)
|
|
2274 031734 200 10 0 00 044063 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2275 031735 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2276 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2277 031736 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2278 031737 003 12 0 00 030641 ER3 AC,30641 ;HIGH PRODUCT FAILED
|
|
2279 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2280 031740 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2281 031741 004 13 0 00 030642 ER4 AC+1,30642 ;LOW PRODUCT FAILED
|
|
2282 777777 677777 AEE=XX ;INITIAL C(E)
|
|
2283 031742 312 10 0 00 044063 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2284 031743 005 10 0 00 030643 ER5 E,30643 ;C(E) WAS CLOBBERED
|
|
2285 031744 321 14 0 00 031732 JUMPL AC+2,F30640 ;LOOP ON ERROR SWITCH^
|
|
2286
|
|
2287 003065 ADR=ADR+1
|
|
2288 777777 577777 XX=XX+XX+1
|
|
2289 IFE <XX-1>,<XX=-2>
|
|
2290
|
|
2291 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2292 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2293 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2294 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2295 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2296 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2297
|
|
2298 000000 F30650: AA1=0 ;INITIAL C(AC)
|
|
2299 031745 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2300 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-9
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0058
|
|
|
|
2301 031746 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2302 777777 577777 AEE=XX ;INITIAL C(E)
|
|
2303 031747 200 10 0 00 044064 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2304 031750 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2305 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2306 031751 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2307 031752 003 12 0 00 030651 ER3 AC,30651 ;HIGH PRODUCT FAILED
|
|
2308 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2309 031753 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2310 031754 004 13 0 00 030652 ER4 AC+1,30652 ;LOW PRODUCT FAILED
|
|
2311 777777 577777 AEE=XX ;INITIAL C(E)
|
|
2312 031755 312 10 0 00 044064 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2313 031756 005 10 0 00 030653 ER5 E,30653 ;C(E) WAS CLOBBERED
|
|
2314 031757 321 14 0 00 031745 JUMPL AC+2,F30650 ;LOOP ON ERROR SWITCH^
|
|
2315
|
|
2316 003066 ADR=ADR+1
|
|
2317 777777 377777 XX=XX+XX+1
|
|
2318 IFE <XX-1>,<XX=-2>
|
|
2319
|
|
2320 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2321 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2322 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2323 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2324 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2325 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2326
|
|
2327 000000 F30660: AA1=0 ;INITIAL C(AC)
|
|
2328 031760 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2329 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2330 031761 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2331 777777 377777 AEE=XX ;INITIAL C(E)
|
|
2332 031762 200 10 0 00 044065 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2333 031763 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2334 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2335 031764 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2336 031765 003 12 0 00 030661 ER3 AC,30661 ;HIGH PRODUCT FAILED
|
|
2337 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2338 031766 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2339 031767 004 13 0 00 030662 ER4 AC+1,30662 ;LOW PRODUCT FAILED
|
|
2340 777777 377777 AEE=XX ;INITIAL C(E)
|
|
2341 031770 312 10 0 00 044065 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2342 031771 005 10 0 00 030663 ER5 E,30663 ;C(E) WAS CLOBBERED
|
|
2343 031772 321 14 0 00 031760 JUMPL AC+2,F30660 ;LOOP ON ERROR SWITCH^
|
|
2344
|
|
2345 003067 ADR=ADR+1
|
|
2346 777776 777777 XX=XX+XX+1
|
|
2347 IFE <XX-1>,<XX=-2>
|
|
2348
|
|
2349 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2350 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2351 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2352 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2353 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2354 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2355
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-10
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0059
|
|
|
|
2356 000000 F30670: AA1=0 ;INITIAL C(AC)
|
|
2357 031773 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2358 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2359 031774 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2360 777776 777777 AEE=XX ;INITIAL C(E)
|
|
2361 031775 200 10 0 00 044066 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2362 031776 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2363 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2364 031777 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2365 032000 003 12 0 00 030671 ER3 AC,30671 ;HIGH PRODUCT FAILED
|
|
2366 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2367 032001 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2368 032002 004 13 0 00 030672 ER4 AC+1,30672 ;LOW PRODUCT FAILED
|
|
2369 777776 777777 AEE=XX ;INITIAL C(E)
|
|
2370 032003 312 10 0 00 044066 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2371 032004 005 10 0 00 030673 ER5 E,30673 ;C(E) WAS CLOBBERED
|
|
2372 032005 321 14 0 00 031773 JUMPL AC+2,F30670 ;LOOP ON ERROR SWITCH^
|
|
2373
|
|
2374 003070 ADR=ADR+1
|
|
2375 777775 777777 XX=XX+XX+1
|
|
2376 IFE <XX-1>,<XX=-2>
|
|
2377
|
|
2378 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2379 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2380 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2381 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2382 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2383 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2384
|
|
2385 000000 F30700: AA1=0 ;INITIAL C(AC)
|
|
2386 032006 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2387 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2388 032007 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2389 777775 777777 AEE=XX ;INITIAL C(E)
|
|
2390 032010 200 10 0 00 044067 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2391 032011 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2392 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2393 032012 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2394 032013 003 12 0 00 030701 ER3 AC,30701 ;HIGH PRODUCT FAILED
|
|
2395 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2396 032014 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2397 032015 004 13 0 00 030702 ER4 AC+1,30702 ;LOW PRODUCT FAILED
|
|
2398 777775 777777 AEE=XX ;INITIAL C(E)
|
|
2399 032016 312 10 0 00 044067 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2400 032017 005 10 0 00 030703 ER5 E,30703 ;C(E) WAS CLOBBERED
|
|
2401 032020 321 14 0 00 032006 JUMPL AC+2,F30700 ;LOOP ON ERROR SWITCH^
|
|
2402
|
|
2403 003071 ADR=ADR+1
|
|
2404 777773 777777 XX=XX+XX+1
|
|
2405 IFE <XX-1>,<XX=-2>
|
|
2406
|
|
2407 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2408 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2409 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2410 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-11
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0060
|
|
|
|
2411 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2412 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2413
|
|
2414 000000 F30710: AA1=0 ;INITIAL C(AC)
|
|
2415 032021 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2416 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2417 032022 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2418 777773 777777 AEE=XX ;INITIAL C(E)
|
|
2419 032023 200 10 0 00 044070 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2420 032024 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2421 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2422 032025 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2423 032026 003 12 0 00 030711 ER3 AC,30711 ;HIGH PRODUCT FAILED
|
|
2424 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2425 032027 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2426 032030 004 13 0 00 030712 ER4 AC+1,30712 ;LOW PRODUCT FAILED
|
|
2427 777773 777777 AEE=XX ;INITIAL C(E)
|
|
2428 032031 312 10 0 00 044070 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2429 032032 005 10 0 00 030713 ER5 E,30713 ;C(E) WAS CLOBBERED
|
|
2430 032033 321 14 0 00 032021 JUMPL AC+2,F30710 ;LOOP ON ERROR SWITCH^
|
|
2431
|
|
2432 003072 ADR=ADR+1
|
|
2433 777767 777777 XX=XX+XX+1
|
|
2434 IFE <XX-1>,<XX=-2>
|
|
2435
|
|
2436 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2437 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2438 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2439 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2440 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2441 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2442
|
|
2443 000000 F30720: AA1=0 ;INITIAL C(AC)
|
|
2444 032034 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2445 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2446 032035 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2447 777767 777777 AEE=XX ;INITIAL C(E)
|
|
2448 032036 200 10 0 00 044071 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2449 032037 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2450 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2451 032040 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2452 032041 003 12 0 00 030721 ER3 AC,30721 ;HIGH PRODUCT FAILED
|
|
2453 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2454 032042 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2455 032043 004 13 0 00 030722 ER4 AC+1,30722 ;LOW PRODUCT FAILED
|
|
2456 777767 777777 AEE=XX ;INITIAL C(E)
|
|
2457 032044 312 10 0 00 044071 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2458 032045 005 10 0 00 030723 ER5 E,30723 ;C(E) WAS CLOBBERED
|
|
2459 032046 321 14 0 00 032034 JUMPL AC+2,F30720 ;LOOP ON ERROR SWITCH^
|
|
2460
|
|
2461 003073 ADR=ADR+1
|
|
2462 777757 777777 XX=XX+XX+1
|
|
2463 IFE <XX-1>,<XX=-2>
|
|
2464
|
|
2465 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-12
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0061
|
|
|
|
2466 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2467 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2468 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2469 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2470 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2471
|
|
2472 000000 F30730: AA1=0 ;INITIAL C(AC)
|
|
2473 032047 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2474 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2475 032050 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2476 777757 777777 AEE=XX ;INITIAL C(E)
|
|
2477 032051 200 10 0 00 044072 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2478 032052 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2479 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2480 032053 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2481 032054 003 12 0 00 030731 ER3 AC,30731 ;HIGH PRODUCT FAILED
|
|
2482 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2483 032055 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2484 032056 004 13 0 00 030732 ER4 AC+1,30732 ;LOW PRODUCT FAILED
|
|
2485 777757 777777 AEE=XX ;INITIAL C(E)
|
|
2486 032057 312 10 0 00 044072 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2487 032060 005 10 0 00 030733 ER5 E,30733 ;C(E) WAS CLOBBERED
|
|
2488 032061 321 14 0 00 032047 JUMPL AC+2,F30730 ;LOOP ON ERROR SWITCH^
|
|
2489
|
|
2490 003074 ADR=ADR+1
|
|
2491 777737 777777 XX=XX+XX+1
|
|
2492 IFE <XX-1>,<XX=-2>
|
|
2493
|
|
2494 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2495 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2496 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2497 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2498 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2499 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2500
|
|
2501 000000 F30740: AA1=0 ;INITIAL C(AC)
|
|
2502 032062 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2503 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2504 032063 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2505 777737 777777 AEE=XX ;INITIAL C(E)
|
|
2506 032064 200 10 0 00 044073 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2507 032065 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2508 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2509 032066 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2510 032067 003 12 0 00 030741 ER3 AC,30741 ;HIGH PRODUCT FAILED
|
|
2511 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2512 032070 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2513 032071 004 13 0 00 030742 ER4 AC+1,30742 ;LOW PRODUCT FAILED
|
|
2514 777737 777777 AEE=XX ;INITIAL C(E)
|
|
2515 032072 312 10 0 00 044073 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2516 032073 005 10 0 00 030743 ER5 E,30743 ;C(E) WAS CLOBBERED
|
|
2517 032074 321 14 0 00 032062 JUMPL AC+2,F30740 ;LOOP ON ERROR SWITCH^
|
|
2518
|
|
2519 003075 ADR=ADR+1
|
|
2520 777677 777777 XX=XX+XX+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-13
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0062
|
|
|
|
2521 IFE <XX-1>,<XX=-2>
|
|
2522
|
|
2523 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2524 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2525 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2526 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2527 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2528 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2529
|
|
2530 000000 F30750: AA1=0 ;INITIAL C(AC)
|
|
2531 032075 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2532 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2533 032076 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2534 777677 777777 AEE=XX ;INITIAL C(E)
|
|
2535 032077 200 10 0 00 044074 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2536 032100 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2537 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2538 032101 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2539 032102 003 12 0 00 030751 ER3 AC,30751 ;HIGH PRODUCT FAILED
|
|
2540 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2541 032103 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2542 032104 004 13 0 00 030752 ER4 AC+1,30752 ;LOW PRODUCT FAILED
|
|
2543 777677 777777 AEE=XX ;INITIAL C(E)
|
|
2544 032105 312 10 0 00 044074 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2545 032106 005 10 0 00 030753 ER5 E,30753 ;C(E) WAS CLOBBERED
|
|
2546 032107 321 14 0 00 032075 JUMPL AC+2,F30750 ;LOOP ON ERROR SWITCH^
|
|
2547
|
|
2548 003076 ADR=ADR+1
|
|
2549 777577 777777 XX=XX+XX+1
|
|
2550 IFE <XX-1>,<XX=-2>
|
|
2551
|
|
2552 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2553 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2554 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2555 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2556 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2557 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2558
|
|
2559 000000 F30760: AA1=0 ;INITIAL C(AC)
|
|
2560 032110 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2561 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2562 032111 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2563 777577 777777 AEE=XX ;INITIAL C(E)
|
|
2564 032112 200 10 0 00 044075 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2565 032113 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2566 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2567 032114 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2568 032115 003 12 0 00 030761 ER3 AC,30761 ;HIGH PRODUCT FAILED
|
|
2569 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2570 032116 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2571 032117 004 13 0 00 030762 ER4 AC+1,30762 ;LOW PRODUCT FAILED
|
|
2572 777577 777777 AEE=XX ;INITIAL C(E)
|
|
2573 032120 312 10 0 00 044075 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2574 032121 005 10 0 00 030763 ER5 E,30763 ;C(E) WAS CLOBBERED
|
|
2575 032122 321 14 0 00 032110 JUMPL AC+2,F30760 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-14
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0063
|
|
|
|
2576
|
|
2577 003077 ADR=ADR+1
|
|
2578 777377 777777 XX=XX+XX+1
|
|
2579 IFE <XX-1>,<XX=-2>
|
|
2580
|
|
2581 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2582 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2583 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2584 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2585 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2586 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2587
|
|
2588 000000 F30770: AA1=0 ;INITIAL C(AC)
|
|
2589 032123 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2590 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2591 032124 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2592 777377 777777 AEE=XX ;INITIAL C(E)
|
|
2593 032125 200 10 0 00 044076 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2594 032126 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2595 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2596 032127 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2597 032130 003 12 0 00 030771 ER3 AC,30771 ;HIGH PRODUCT FAILED
|
|
2598 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2599 032131 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2600 032132 004 13 0 00 030772 ER4 AC+1,30772 ;LOW PRODUCT FAILED
|
|
2601 777377 777777 AEE=XX ;INITIAL C(E)
|
|
2602 032133 312 10 0 00 044076 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2603 032134 005 10 0 00 030773 ER5 E,30773 ;C(E) WAS CLOBBERED
|
|
2604 032135 321 14 0 00 032123 JUMPL AC+2,F30770 ;LOOP ON ERROR SWITCH^
|
|
2605
|
|
2606 003100 ADR=ADR+1
|
|
2607 776777 777777 XX=XX+XX+1
|
|
2608 IFE <XX-1>,<XX=-2>
|
|
2609
|
|
2610 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2611 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2612 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2613 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2614 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2615 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2616
|
|
2617 000000 F31000: AA1=0 ;INITIAL C(AC)
|
|
2618 032136 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2619 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2620 032137 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2621 776777 777777 AEE=XX ;INITIAL C(E)
|
|
2622 032140 200 10 0 00 044077 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2623 032141 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2624 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2625 032142 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2626 032143 003 12 0 00 031001 ER3 AC,31001 ;HIGH PRODUCT FAILED
|
|
2627 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2628 032144 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2629 032145 004 13 0 00 031002 ER4 AC+1,31002 ;LOW PRODUCT FAILED
|
|
2630 776777 777777 AEE=XX ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-15
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0064
|
|
|
|
2631 032146 312 10 0 00 044077 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2632 032147 005 10 0 00 031003 ER5 E,31003 ;C(E) WAS CLOBBERED
|
|
2633 032150 321 14 0 00 032136 JUMPL AC+2,F31000 ;LOOP ON ERROR SWITCH^
|
|
2634
|
|
2635 003101 ADR=ADR+1
|
|
2636 775777 777777 XX=XX+XX+1
|
|
2637 IFE <XX-1>,<XX=-2>
|
|
2638
|
|
2639 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2640 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2641 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2642 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2643 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2644 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2645
|
|
2646 000000 F31010: AA1=0 ;INITIAL C(AC)
|
|
2647 032151 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2648 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2649 032152 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2650 775777 777777 AEE=XX ;INITIAL C(E)
|
|
2651 032153 200 10 0 00 044100 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2652 032154 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2653 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2654 032155 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2655 032156 003 12 0 00 031011 ER3 AC,31011 ;HIGH PRODUCT FAILED
|
|
2656 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2657 032157 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2658 032160 004 13 0 00 031012 ER4 AC+1,31012 ;LOW PRODUCT FAILED
|
|
2659 775777 777777 AEE=XX ;INITIAL C(E)
|
|
2660 032161 312 10 0 00 044100 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2661 032162 005 10 0 00 031013 ER5 E,31013 ;C(E) WAS CLOBBERED
|
|
2662 032163 321 14 0 00 032151 JUMPL AC+2,F31010 ;LOOP ON ERROR SWITCH^
|
|
2663
|
|
2664 003102 ADR=ADR+1
|
|
2665 773777 777777 XX=XX+XX+1
|
|
2666 IFE <XX-1>,<XX=-2>
|
|
2667
|
|
2668 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2669 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2670 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2671 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2672 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2673 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2674
|
|
2675 000000 F31020: AA1=0 ;INITIAL C(AC)
|
|
2676 032164 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2677 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2678 032165 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2679 773777 777777 AEE=XX ;INITIAL C(E)
|
|
2680 032166 200 10 0 00 044101 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2681 032167 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2682 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2683 032170 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2684 032171 003 12 0 00 031021 ER3 AC,31021 ;HIGH PRODUCT FAILED
|
|
2685 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-16
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0065
|
|
|
|
2686 032172 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2687 032173 004 13 0 00 031022 ER4 AC+1,31022 ;LOW PRODUCT FAILED
|
|
2688 773777 777777 AEE=XX ;INITIAL C(E)
|
|
2689 032174 312 10 0 00 044101 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2690 032175 005 10 0 00 031023 ER5 E,31023 ;C(E) WAS CLOBBERED
|
|
2691 032176 321 14 0 00 032164 JUMPL AC+2,F31020 ;LOOP ON ERROR SWITCH^
|
|
2692
|
|
2693 003103 ADR=ADR+1
|
|
2694 767777 777777 XX=XX+XX+1
|
|
2695 IFE <XX-1>,<XX=-2>
|
|
2696
|
|
2697 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2698 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2699 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2700 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2701 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2702 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2703
|
|
2704 000000 F31030: AA1=0 ;INITIAL C(AC)
|
|
2705 032177 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2706 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2707 032200 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2708 767777 777777 AEE=XX ;INITIAL C(E)
|
|
2709 032201 200 10 0 00 044102 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2710 032202 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2711 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2712 032203 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2713 032204 003 12 0 00 031031 ER3 AC,31031 ;HIGH PRODUCT FAILED
|
|
2714 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2715 032205 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2716 032206 004 13 0 00 031032 ER4 AC+1,31032 ;LOW PRODUCT FAILED
|
|
2717 767777 777777 AEE=XX ;INITIAL C(E)
|
|
2718 032207 312 10 0 00 044102 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2719 032210 005 10 0 00 031033 ER5 E,31033 ;C(E) WAS CLOBBERED
|
|
2720 032211 321 14 0 00 032177 JUMPL AC+2,F31030 ;LOOP ON ERROR SWITCH^
|
|
2721
|
|
2722 003104 ADR=ADR+1
|
|
2723 757777 777777 XX=XX+XX+1
|
|
2724 IFE <XX-1>,<XX=-2>
|
|
2725
|
|
2726 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2727 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2728 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2729 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2730 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2731 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2732
|
|
2733 000000 F31040: AA1=0 ;INITIAL C(AC)
|
|
2734 032212 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2735 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2736 032213 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2737 757777 777777 AEE=XX ;INITIAL C(E)
|
|
2738 032214 200 10 0 00 044103 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2739 032215 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2740 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-17
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0066
|
|
|
|
2741 032216 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2742 032217 003 12 0 00 031041 ER3 AC,31041 ;HIGH PRODUCT FAILED
|
|
2743 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2744 032220 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2745 032221 004 13 0 00 031042 ER4 AC+1,31042 ;LOW PRODUCT FAILED
|
|
2746 757777 777777 AEE=XX ;INITIAL C(E)
|
|
2747 032222 312 10 0 00 044103 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2748 032223 005 10 0 00 031043 ER5 E,31043 ;C(E) WAS CLOBBERED
|
|
2749 032224 321 14 0 00 032212 JUMPL AC+2,F31040 ;LOOP ON ERROR SWITCH^
|
|
2750
|
|
2751 003105 ADR=ADR+1
|
|
2752 737777 777777 XX=XX+XX+1
|
|
2753 IFE <XX-1>,<XX=-2>
|
|
2754
|
|
2755 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2756 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2757 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2758 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2759 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2760 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2761
|
|
2762 000000 F31050: AA1=0 ;INITIAL C(AC)
|
|
2763 032225 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2764 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2765 032226 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2766 737777 777777 AEE=XX ;INITIAL C(E)
|
|
2767 032227 200 10 0 00 044104 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2768 032230 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2769 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2770 032231 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2771 032232 003 12 0 00 031051 ER3 AC,31051 ;HIGH PRODUCT FAILED
|
|
2772 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2773 032233 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2774 032234 004 13 0 00 031052 ER4 AC+1,31052 ;LOW PRODUCT FAILED
|
|
2775 737777 777777 AEE=XX ;INITIAL C(E)
|
|
2776 032235 312 10 0 00 044104 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2777 032236 005 10 0 00 031053 ER5 E,31053 ;C(E) WAS CLOBBERED
|
|
2778 032237 321 14 0 00 032225 JUMPL AC+2,F31050 ;LOOP ON ERROR SWITCH^
|
|
2779
|
|
2780 003106 ADR=ADR+1
|
|
2781 677777 777777 XX=XX+XX+1
|
|
2782 IFE <XX-1>,<XX=-2>
|
|
2783
|
|
2784 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2785 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2786 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2787 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2788 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2789 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2790
|
|
2791 000000 F31060: AA1=0 ;INITIAL C(AC)
|
|
2792 032240 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2793 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2794 032241 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2795 677777 777777 AEE=XX ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-18
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0067
|
|
|
|
2796 032242 200 10 0 00 044105 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2797 032243 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2798 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2799 032244 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2800 032245 003 12 0 00 031061 ER3 AC,31061 ;HIGH PRODUCT FAILED
|
|
2801 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2802 032246 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2803 032247 004 13 0 00 031062 ER4 AC+1,31062 ;LOW PRODUCT FAILED
|
|
2804 677777 777777 AEE=XX ;INITIAL C(E)
|
|
2805 032250 312 10 0 00 044105 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2806 032251 005 10 0 00 031063 ER5 E,31063 ;C(E) WAS CLOBBERED
|
|
2807 032252 321 14 0 00 032240 JUMPL AC+2,F31060 ;LOOP ON ERROR SWITCH^
|
|
2808
|
|
2809 003107 ADR=ADR+1
|
|
2810 577777 777777 XX=XX+XX+1
|
|
2811 IFE <XX-1>,<XX=-2>
|
|
2812
|
|
2813 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2814 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2815 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2816 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2817 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2818 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2819
|
|
2820 000000 F31070: AA1=0 ;INITIAL C(AC)
|
|
2821 032253 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2822 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2823 032254 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2824 577777 777777 AEE=XX ;INITIAL C(E)
|
|
2825 032255 200 10 0 00 044106 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2826 032256 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2827 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2828 032257 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2829 032260 003 12 0 00 031071 ER3 AC,31071 ;HIGH PRODUCT FAILED
|
|
2830 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2831 032261 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2832 032262 004 13 0 00 031072 ER4 AC+1,31072 ;LOW PRODUCT FAILED
|
|
2833 577777 777777 AEE=XX ;INITIAL C(E)
|
|
2834 032263 312 10 0 00 044106 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2835 032264 005 10 0 00 031073 ER5 E,31073 ;C(E) WAS CLOBBERED
|
|
2836 032265 321 14 0 00 032253 JUMPL AC+2,F31070 ;LOOP ON ERROR SWITCH^
|
|
2837
|
|
2838 003110 ADR=ADR+1
|
|
2839 377777 777777 XX=XX+XX+1
|
|
2840 IFE <XX-1>,<XX=-2>
|
|
2841
|
|
2842 ;MULTIPLY RIPPLED 0 BY 0 TO GET PRODUCT OF 0
|
|
2843 MOP1 (\ADR,0,-1,XX,0,0)^
|
|
2844 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2845 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2846 ;AND E AGAINST [0], [0] AND [XX] RESPECTIVELY.
|
|
2847 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2848
|
|
2849 000000 F31100: AA1=0 ;INITIAL C(AC)
|
|
2850 032266 200 12 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3-19
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0068
|
|
|
|
2851 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2852 032267 200 13 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2853 377777 777777 AEE=XX ;INITIAL C(E)
|
|
2854 032270 200 10 0 00 044107 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
2855 032271 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2856 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2857 032272 312 12 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2858 032273 003 12 0 00 031101 ER3 AC,31101 ;HIGH PRODUCT FAILED
|
|
2859 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2860 032274 312 13 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2861 032275 004 13 0 00 031102 ER4 AC+1,31102 ;LOW PRODUCT FAILED
|
|
2862 377777 777777 AEE=XX ;INITIAL C(E)
|
|
2863 032276 312 10 0 00 044107 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
2864 032277 005 10 0 00 031103 ER5 E,31103 ;C(E) WAS CLOBBERED
|
|
2865 032300 321 14 0 00 032266 JUMPL AC+2,F31100 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 4
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0069
|
|
|
|
2866 003111 ADR=ADR+1
|
|
2867 000014 AC=14
|
|
2868 000012 E=<AC-2>&17
|
|
2869 SAVEAC (1,1)^
|
|
2870 032301 201 16 0 00 032301 MOVEI AC+2,. ;SAVE TEST PC
|
|
2871 032302 202 16 0 00 030051 MOVEM AC+2,TESTPC
|
|
2872 032303 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
2873 032304 202 16 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
2874
|
|
2875 ;MULTIPLY -1 BY 0 TO GET PRODUCT OF 0
|
|
2876 MOP1 (\ADR,0,-1,-1,0,0)^
|
|
2877 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [0],[-1] AND
|
|
2878 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2879 ;AND E AGAINST [0], [0] AND [-1] RESPECTIVELY.
|
|
2880 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2881
|
|
2882 000000 F31110: AA1=0 ;INITIAL C(AC)
|
|
2883 032305 200 14 0 00 043776 MOVE AC,[0] ;PRELOAD AC (MULTIPLIER)
|
|
2884 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2885 032306 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2886 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
2887 032307 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
2888 032310 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2889 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2890 032311 312 14 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2891 032312 003 14 0 00 031111 ER3 AC,31111 ;HIGH PRODUCT FAILED
|
|
2892 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
2893 032313 312 15 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
2894 032314 004 15 0 00 031112 ER4 AC+1,31112 ;LOW PRODUCT FAILED
|
|
2895 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
2896 032315 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
2897 032316 005 12 0 00 031113 ER5 E,31113 ;C(E) WAS CLOBBERED
|
|
2898 032317 321 16 0 00 032305 JUMPL AC+2,F31110 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 5
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0070
|
|
|
|
2899 SUBTTL DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM
|
|
2900
|
|
2901 000013 AC=13
|
|
2902 000011 E=<AC-2>&17
|
|
2903 SAVEAC (1,1)^
|
|
2904 032320 201 15 0 00 032320 MOVEI AC+2,. ;SAVE TEST PC
|
|
2905 032321 202 15 0 00 030051 MOVEM AC+2,TESTPC
|
|
2906 032322 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
2907 032323 202 15 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
2908
|
|
2909 777777 777777 XX=-1
|
|
2910
|
|
2911 ;MULTIPLICAND=1
|
|
2912 REPEAT ^D16,<
|
|
2913 ;TEST MULTIPLICATION ALGORITHM
|
|
2914 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
2915 ;KI10 MULTIPLICATION ALGORITHM. I.E., THE TWO LEAST
|
|
2916 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
2917 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
2918 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
2919 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
2920 ;EXECUTED 16 TIMES WITH C(AC)=0,1,3,4,..., 17 AND
|
|
2921 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
2922 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
2923 ;OF C(E).
|
|
2924
|
|
2925 ADR=ADR+1
|
|
2926 XX=XX+1
|
|
2927
|
|
2928 MOP1 (\ADR,XX,-1,1,0,XX)>
|
|
2929
|
|
2930 ;TEST MULTIPLICATION ALGORITHM
|
|
2931 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
2932 ;KI10 MULTIPLICATION ALGORITHM. I.E., THE TWO LEAST
|
|
2933 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
2934 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
2935 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
2936 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
2937 ;EXECUTED 16 TIMES WITH C(AC)=0,1,3,4,..., 17 AND
|
|
2938 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
2939 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
2940 ;OF C(E).
|
|
2941
|
|
2942 003112 ADR=ADR+1
|
|
2943 000000 XX=XX+1
|
|
2944
|
|
2945 MOP1 (\ADR,XX,-1,1,0,XX)^
|
|
2946 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
2947 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2948 ;AND E AGAINST [0], [XX] AND [1] RESPECTIVELY.
|
|
2949 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2950
|
|
2951 000000 F31120: AA1=XX ;INITIAL C(AC)
|
|
2952 032324 200 13 0 00 043776 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2953 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 5-1
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0071
|
|
|
|
2954 032325 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2955 000001 AEE=1 ;INITIAL C(E)
|
|
2956 032326 200 11 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
2957 032327 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2958 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2959 032330 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2960 032331 003 13 0 00 031121 ER3 AC,31121 ;HIGH PRODUCT FAILED
|
|
2961 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
2962 032332 312 14 0 00 043776 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
2963 032333 004 14 0 00 031122 ER4 AC+1,31122 ;LOW PRODUCT FAILED
|
|
2964 000001 AEE=1 ;INITIAL C(E)
|
|
2965 032334 312 11 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
2966 032335 005 11 0 00 031123 ER5 E,31123 ;C(E) WAS CLOBBERED
|
|
2967 032336 321 15 0 00 032324 JUMPL AC+2,F31120 ;LOOP ON ERROR SWITCH^
|
|
2968
|
|
2969 ;TEST MULTIPLICATION ALGORITHM
|
|
2970 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
2971 ;KI10 MULTIPLICATION ALGORITHM. I.E., THE TWO LEAST
|
|
2972 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
2973 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
2974 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
2975 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
2976 ;EXECUTED 16 TIMES WITH C(AC)=0,1,3,4,..., 17 AND
|
|
2977 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
2978 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
2979 ;OF C(E).
|
|
2980
|
|
2981 003113 ADR=ADR+1
|
|
2982 000001 XX=XX+1
|
|
2983
|
|
2984 MOP1 (\ADR,XX,-1,1,0,XX)^
|
|
2985 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
2986 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2987 ;AND E AGAINST [0], [XX] AND [1] RESPECTIVELY.
|
|
2988 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2989
|
|
2990 000001 F31130: AA1=XX ;INITIAL C(AC)
|
|
2991 032337 200 13 0 00 044000 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2992 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
2993 032340 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
2994 000001 AEE=1 ;INITIAL C(E)
|
|
2995 032341 200 11 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
2996 032342 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2997 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
2998 032343 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
2999 032344 003 13 0 00 031131 ER3 AC,31131 ;HIGH PRODUCT FAILED
|
|
3000 000001 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
3001 032345 312 14 0 00 044000 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
3002 032346 004 14 0 00 031132 ER4 AC+1,31132 ;LOW PRODUCT FAILED
|
|
3003 000001 AEE=1 ;INITIAL C(E)
|
|
3004 032347 312 11 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
3005 032350 005 11 0 00 031133 ER5 E,31133 ;C(E) WAS CLOBBERED
|
|
3006 032351 321 15 0 00 032337 JUMPL AC+2,F31130 ;LOOP ON ERROR SWITCH^
|
|
3007
|
|
3008 ;TEST MULTIPLICATION ALGORITHM
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 5-2
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0072
|
|
|
|
3009 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3010 ;KI10 MULTIPLICATION ALGORITHM. I.E., THE TWO LEAST
|
|
3011 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3012 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3013 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3014 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3015 ;EXECUTED 16 TIMES WITH C(AC)=0,1,3,4,..., 17 AND
|
|
3016 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3017 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3018 ;OF C(E).
|
|
3019
|
|
3020 003114 ADR=ADR+1
|
|
3021 000002 XX=XX+1
|
|
3022
|
|
3023 MOP1 (\ADR,XX,-1,1,0,XX)^
|
|
3024 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
3025 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3026 ;AND E AGAINST [0], [XX] AND [1] RESPECTIVELY.
|
|
3027 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3028
|
|
3029 000002 F31140: AA1=XX ;INITIAL C(AC)
|
|
3030 032352 200 13 0 00 044001 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3031 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
3032 032353 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
3033 000001 AEE=1 ;INITIAL C(E)
|
|
3034 032354 200 11 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
3035 032355 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3036 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
3037 032356 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
3038 032357 003 13 0 00 031141 ER3 AC,31141 ;HIGH PRODUCT FAILED
|
|
3039 000002 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
3040 032360 312 14 0 00 044001 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
3041 032361 004 14 0 00 031142 ER4 AC+1,31142 ;LOW PRODUCT FAILED
|
|
3042 000001 AEE=1 ;INITIAL C(E)
|
|
3043 032362 312 11 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
3044 032363 005 11 0 00 031143 ER5 E,31143 ;C(E) WAS CLOBBERED
|
|
3045 032364 321 15 0 00 032352 JUMPL AC+2,F31140 ;LOOP ON ERROR SWITCH^
|
|
3046
|
|
3047 ;TEST MULTIPLICATION ALGORITHM
|
|
3048 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3049 ;KI10 MULTIPLICATION ALGORITHM. I.E., THE TWO LEAST
|
|
3050 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3051 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3052 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3053 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3054 ;EXECUTED 16 TIMES WITH C(AC)=0,1,3,4,..., 17 AND
|
|
3055 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3056 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3057 ;OF C(E).
|
|
3058
|
|
3059 003115 ADR=ADR+1
|
|
3060 000003 XX=XX+1
|
|
3061
|
|
3062 MOP1 (\ADR,XX,-1,1,0,XX)^
|
|
3063 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 5-3
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0073
|
|
|
|
3064 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3065 ;AND E AGAINST [0], [XX] AND [1] RESPECTIVELY.
|
|
3066 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3067
|
|
3068 000003 F31150: AA1=XX ;INITIAL C(AC)
|
|
3069 032365 200 13 0 00 044110 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3070 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
3071 032366 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
3072 000001 AEE=1 ;INITIAL C(E)
|
|
3073 032367 200 11 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
3074 032370 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3075 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
3076 032371 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
3077 032372 003 13 0 00 031151 ER3 AC,31151 ;HIGH PRODUCT FAILED
|
|
3078 000003 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
3079 032373 312 14 0 00 044110 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
3080 032374 004 14 0 00 031152 ER4 AC+1,31152 ;LOW PRODUCT FAILED
|
|
3081 000001 AEE=1 ;INITIAL C(E)
|
|
3082 032375 312 11 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
3083 032376 005 11 0 00 031153 ER5 E,31153 ;C(E) WAS CLOBBERED
|
|
3084 032377 321 15 0 00 032365 JUMPL AC+2,F31150 ;LOOP ON ERROR SWITCH^
|
|
3085
|
|
3086 ;TEST MULTIPLICATION ALGORITHM
|
|
3087 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3088 ;KI10 MULTIPLICATION ALGORITHM. I.E., THE TWO LEAST
|
|
3089 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3090 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3091 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3092 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3093 ;EXECUTED 16 TIMES WITH C(AC)=0,1,3,4,..., 17 AND
|
|
3094 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3095 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3096 ;OF C(E).
|
|
3097
|
|
3098 003116 ADR=ADR+1
|
|
3099 000004 XX=XX+1
|
|
3100
|
|
3101 MOP1 (\ADR,XX,-1,1,0,XX)^
|
|
3102 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
3103 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3104 ;AND E AGAINST [0], [XX] AND [1] RESPECTIVELY.
|
|
3105 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3106
|
|
3107 000004 F31160: AA1=XX ;INITIAL C(AC)
|
|
3108 032400 200 13 0 00 044002 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3109 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
3110 032401 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
3111 000001 AEE=1 ;INITIAL C(E)
|
|
3112 032402 200 11 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
3113 032403 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3114 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
3115 032404 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
3116 032405 003 13 0 00 031161 ER3 AC,31161 ;HIGH PRODUCT FAILED
|
|
3117 000004 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
3118 032406 312 14 0 00 044002 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 5-4
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0074
|
|
|
|
3119 032407 004 14 0 00 031162 ER4 AC+1,31162 ;LOW PRODUCT FAILED
|
|
3120 000001 AEE=1 ;INITIAL C(E)
|
|
3121 032410 312 11 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
3122 032411 005 11 0 00 031163 ER5 E,31163 ;C(E) WAS CLOBBERED
|
|
3123 032412 321 15 0 00 032400 JUMPL AC+2,F31160 ;LOOP ON ERROR SWITCH^
|
|
3124
|
|
3125 ;TEST MULTIPLICATION ALGORITHM
|
|
3126 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3127 ;KI10 MULTIPLICATION ALGORITHM. I.E., THE TWO LEAST
|
|
3128 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3129 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3130 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3131 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3132 ;EXECUTED 16 TIMES WITH C(AC)=0,1,3,4,..., 17 AND
|
|
3133 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3134 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3135 ;OF C(E).
|
|
3136
|
|
3137 003117 ADR=ADR+1
|
|
3138 000005 XX=XX+1
|
|
3139
|
|
3140 MOP1 (\ADR,XX,-1,1,0,XX)^
|
|
3141 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
3142 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3143 ;AND E AGAINST [0], [XX] AND [1] RESPECTIVELY.
|
|
3144 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3145
|
|
3146 000005 F31170: AA1=XX ;INITIAL C(AC)
|
|
3147 032413 200 13 0 00 044111 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3148 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
3149 032414 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
3150 000001 AEE=1 ;INITIAL C(E)
|
|
3151 032415 200 11 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
3152 032416 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3153 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
3154 032417 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
3155 032420 003 13 0 00 031171 ER3 AC,31171 ;HIGH PRODUCT FAILED
|
|
3156 000005 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
3157 032421 312 14 0 00 044111 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
3158 032422 004 14 0 00 031172 ER4 AC+1,31172 ;LOW PRODUCT FAILED
|
|
3159 000001 AEE=1 ;INITIAL C(E)
|
|
3160 032423 312 11 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
3161 032424 005 11 0 00 031173 ER5 E,31173 ;C(E) WAS CLOBBERED
|
|
3162 032425 321 15 0 00 032413 JUMPL AC+2,F31170 ;LOOP ON ERROR SWITCH^
|
|
3163
|
|
3164 ;TEST MULTIPLICATION ALGORITHM
|
|
3165 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3166 ;KI10 MULTIPLICATION ALGORITHM. I.E., THE TWO LEAST
|
|
3167 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3168 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3169 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3170 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3171 ;EXECUTED 16 TIMES WITH C(AC)=0,1,3,4,..., 17 AND
|
|
3172 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3173 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 5-5
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0075
|
|
|
|
3174 ;OF C(E).
|
|
3175
|
|
3176 003120 ADR=ADR+1
|
|
3177 000006 XX=XX+1
|
|
3178
|
|
3179 MOP1 (\ADR,XX,-1,1,0,XX)^
|
|
3180 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
3181 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3182 ;AND E AGAINST [0], [XX] AND [1] RESPECTIVELY.
|
|
3183 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3184
|
|
3185 000006 F31200: AA1=XX ;INITIAL C(AC)
|
|
3186 032426 200 13 0 00 044112 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3187 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
3188 032427 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
3189 000001 AEE=1 ;INITIAL C(E)
|
|
3190 032430 200 11 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
3191 032431 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3192 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
3193 032432 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
3194 032433 003 13 0 00 031201 ER3 AC,31201 ;HIGH PRODUCT FAILED
|
|
3195 000006 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
3196 032434 312 14 0 00 044112 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
3197 032435 004 14 0 00 031202 ER4 AC+1,31202 ;LOW PRODUCT FAILED
|
|
3198 000001 AEE=1 ;INITIAL C(E)
|
|
3199 032436 312 11 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
3200 032437 005 11 0 00 031203 ER5 E,31203 ;C(E) WAS CLOBBERED
|
|
3201 032440 321 15 0 00 032426 JUMPL AC+2,F31200 ;LOOP ON ERROR SWITCH^
|
|
3202
|
|
3203 ;TEST MULTIPLICATION ALGORITHM
|
|
3204 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3205 ;KI10 MULTIPLICATION ALGORITHM. I.E., THE TWO LEAST
|
|
3206 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3207 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3208 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3209 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3210 ;EXECUTED 16 TIMES WITH C(AC)=0,1,3,4,..., 17 AND
|
|
3211 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3212 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3213 ;OF C(E).
|
|
3214
|
|
3215 003121 ADR=ADR+1
|
|
3216 000007 XX=XX+1
|
|
3217
|
|
3218 MOP1 (\ADR,XX,-1,1,0,XX)^
|
|
3219 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
3220 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3221 ;AND E AGAINST [0], [XX] AND [1] RESPECTIVELY.
|
|
3222 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3223
|
|
3224 000007 F31210: AA1=XX ;INITIAL C(AC)
|
|
3225 032441 200 13 0 00 044113 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3226 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
3227 032442 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
3228 000001 AEE=1 ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 5-6
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0076
|
|
|
|
3229 032443 200 11 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
3230 032444 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3231 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
3232 032445 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
3233 032446 003 13 0 00 031211 ER3 AC,31211 ;HIGH PRODUCT FAILED
|
|
3234 000007 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
3235 032447 312 14 0 00 044113 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
3236 032450 004 14 0 00 031212 ER4 AC+1,31212 ;LOW PRODUCT FAILED
|
|
3237 000001 AEE=1 ;INITIAL C(E)
|
|
3238 032451 312 11 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
3239 032452 005 11 0 00 031213 ER5 E,31213 ;C(E) WAS CLOBBERED
|
|
3240 032453 321 15 0 00 032441 JUMPL AC+2,F31210 ;LOOP ON ERROR SWITCH^
|
|
3241
|
|
3242 ;TEST MULTIPLICATION ALGORITHM
|
|
3243 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3244 ;KI10 MULTIPLICATION ALGORITHM. I.E., THE TWO LEAST
|
|
3245 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3246 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3247 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3248 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3249 ;EXECUTED 16 TIMES WITH C(AC)=0,1,3,4,..., 17 AND
|
|
3250 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3251 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3252 ;OF C(E).
|
|
3253
|
|
3254 003122 ADR=ADR+1
|
|
3255 000010 XX=XX+1
|
|
3256
|
|
3257 MOP1 (\ADR,XX,-1,1,0,XX)^
|
|
3258 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
3259 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3260 ;AND E AGAINST [0], [XX] AND [1] RESPECTIVELY.
|
|
3261 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3262
|
|
3263 000010 F31220: AA1=XX ;INITIAL C(AC)
|
|
3264 032454 200 13 0 00 044003 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3265 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
3266 032455 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
3267 000001 AEE=1 ;INITIAL C(E)
|
|
3268 032456 200 11 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
3269 032457 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3270 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
3271 032460 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
3272 032461 003 13 0 00 031221 ER3 AC,31221 ;HIGH PRODUCT FAILED
|
|
3273 000010 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
3274 032462 312 14 0 00 044003 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
3275 032463 004 14 0 00 031222 ER4 AC+1,31222 ;LOW PRODUCT FAILED
|
|
3276 000001 AEE=1 ;INITIAL C(E)
|
|
3277 032464 312 11 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
3278 032465 005 11 0 00 031223 ER5 E,31223 ;C(E) WAS CLOBBERED
|
|
3279 032466 321 15 0 00 032454 JUMPL AC+2,F31220 ;LOOP ON ERROR SWITCH^
|
|
3280
|
|
3281 ;TEST MULTIPLICATION ALGORITHM
|
|
3282 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3283 ;KI10 MULTIPLICATION ALGORITHM. I.E., THE TWO LEAST
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 5-7
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0077
|
|
|
|
3284 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3285 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3286 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3287 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3288 ;EXECUTED 16 TIMES WITH C(AC)=0,1,3,4,..., 17 AND
|
|
3289 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3290 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3291 ;OF C(E).
|
|
3292
|
|
3293 003123 ADR=ADR+1
|
|
3294 000011 XX=XX+1
|
|
3295
|
|
3296 MOP1 (\ADR,XX,-1,1,0,XX)^
|
|
3297 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
3298 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3299 ;AND E AGAINST [0], [XX] AND [1] RESPECTIVELY.
|
|
3300 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3301
|
|
3302 000011 F31230: AA1=XX ;INITIAL C(AC)
|
|
3303 032467 200 13 0 00 044114 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3304 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
3305 032470 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
3306 000001 AEE=1 ;INITIAL C(E)
|
|
3307 032471 200 11 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
3308 032472 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3309 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
3310 032473 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
3311 032474 003 13 0 00 031231 ER3 AC,31231 ;HIGH PRODUCT FAILED
|
|
3312 000011 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
3313 032475 312 14 0 00 044114 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
3314 032476 004 14 0 00 031232 ER4 AC+1,31232 ;LOW PRODUCT FAILED
|
|
3315 000001 AEE=1 ;INITIAL C(E)
|
|
3316 032477 312 11 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
3317 032500 005 11 0 00 031233 ER5 E,31233 ;C(E) WAS CLOBBERED
|
|
3318 032501 321 15 0 00 032467 JUMPL AC+2,F31230 ;LOOP ON ERROR SWITCH^
|
|
3319
|
|
3320 ;TEST MULTIPLICATION ALGORITHM
|
|
3321 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3322 ;KI10 MULTIPLICATION ALGORITHM. I.E., THE TWO LEAST
|
|
3323 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3324 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3325 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3326 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3327 ;EXECUTED 16 TIMES WITH C(AC)=0,1,3,4,..., 17 AND
|
|
3328 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3329 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3330 ;OF C(E).
|
|
3331
|
|
3332 003124 ADR=ADR+1
|
|
3333 000012 XX=XX+1
|
|
3334
|
|
3335 MOP1 (\ADR,XX,-1,1,0,XX)^
|
|
3336 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
3337 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3338 ;AND E AGAINST [0], [XX] AND [1] RESPECTIVELY.
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 5-8
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0078
|
|
|
|
3339 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3340
|
|
3341 000012 F31240: AA1=XX ;INITIAL C(AC)
|
|
3342 032502 200 13 0 00 044115 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3343 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
3344 032503 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
3345 000001 AEE=1 ;INITIAL C(E)
|
|
3346 032504 200 11 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
3347 032505 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3348 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
3349 032506 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
3350 032507 003 13 0 00 031241 ER3 AC,31241 ;HIGH PRODUCT FAILED
|
|
3351 000012 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
3352 032510 312 14 0 00 044115 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
3353 032511 004 14 0 00 031242 ER4 AC+1,31242 ;LOW PRODUCT FAILED
|
|
3354 000001 AEE=1 ;INITIAL C(E)
|
|
3355 032512 312 11 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
3356 032513 005 11 0 00 031243 ER5 E,31243 ;C(E) WAS CLOBBERED
|
|
3357 032514 321 15 0 00 032502 JUMPL AC+2,F31240 ;LOOP ON ERROR SWITCH^
|
|
3358
|
|
3359 ;TEST MULTIPLICATION ALGORITHM
|
|
3360 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3361 ;KI10 MULTIPLICATION ALGORITHM. I.E., THE TWO LEAST
|
|
3362 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3363 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3364 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3365 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3366 ;EXECUTED 16 TIMES WITH C(AC)=0,1,3,4,..., 17 AND
|
|
3367 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3368 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3369 ;OF C(E).
|
|
3370
|
|
3371 003125 ADR=ADR+1
|
|
3372 000013 XX=XX+1
|
|
3373
|
|
3374 MOP1 (\ADR,XX,-1,1,0,XX)^
|
|
3375 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
3376 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3377 ;AND E AGAINST [0], [XX] AND [1] RESPECTIVELY.
|
|
3378 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3379
|
|
3380 000013 F31250: AA1=XX ;INITIAL C(AC)
|
|
3381 032515 200 13 0 00 044116 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3382 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
3383 032516 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
3384 000001 AEE=1 ;INITIAL C(E)
|
|
3385 032517 200 11 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
3386 032520 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3387 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
3388 032521 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
3389 032522 003 13 0 00 031251 ER3 AC,31251 ;HIGH PRODUCT FAILED
|
|
3390 000013 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
3391 032523 312 14 0 00 044116 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
3392 032524 004 14 0 00 031252 ER4 AC+1,31252 ;LOW PRODUCT FAILED
|
|
3393 000001 AEE=1 ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 5-9
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0079
|
|
|
|
3394 032525 312 11 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
3395 032526 005 11 0 00 031253 ER5 E,31253 ;C(E) WAS CLOBBERED
|
|
3396 032527 321 15 0 00 032515 JUMPL AC+2,F31250 ;LOOP ON ERROR SWITCH^
|
|
3397
|
|
3398 ;TEST MULTIPLICATION ALGORITHM
|
|
3399 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3400 ;KI10 MULTIPLICATION ALGORITHM. I.E., THE TWO LEAST
|
|
3401 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3402 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3403 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3404 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3405 ;EXECUTED 16 TIMES WITH C(AC)=0,1,3,4,..., 17 AND
|
|
3406 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3407 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3408 ;OF C(E).
|
|
3409
|
|
3410 003126 ADR=ADR+1
|
|
3411 000014 XX=XX+1
|
|
3412
|
|
3413 MOP1 (\ADR,XX,-1,1,0,XX)^
|
|
3414 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
3415 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3416 ;AND E AGAINST [0], [XX] AND [1] RESPECTIVELY.
|
|
3417 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3418
|
|
3419 000014 F31260: AA1=XX ;INITIAL C(AC)
|
|
3420 032530 200 13 0 00 044117 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3421 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
3422 032531 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
3423 000001 AEE=1 ;INITIAL C(E)
|
|
3424 032532 200 11 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
3425 032533 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3426 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
3427 032534 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
3428 032535 003 13 0 00 031261 ER3 AC,31261 ;HIGH PRODUCT FAILED
|
|
3429 000014 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
3430 032536 312 14 0 00 044117 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
3431 032537 004 14 0 00 031262 ER4 AC+1,31262 ;LOW PRODUCT FAILED
|
|
3432 000001 AEE=1 ;INITIAL C(E)
|
|
3433 032540 312 11 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
3434 032541 005 11 0 00 031263 ER5 E,31263 ;C(E) WAS CLOBBERED
|
|
3435 032542 321 15 0 00 032530 JUMPL AC+2,F31260 ;LOOP ON ERROR SWITCH^
|
|
3436
|
|
3437 ;TEST MULTIPLICATION ALGORITHM
|
|
3438 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3439 ;KI10 MULTIPLICATION ALGORITHM. I.E., THE TWO LEAST
|
|
3440 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3441 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3442 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3443 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3444 ;EXECUTED 16 TIMES WITH C(AC)=0,1,3,4,..., 17 AND
|
|
3445 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3446 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3447 ;OF C(E).
|
|
3448
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 5-10
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0080
|
|
|
|
3449 003127 ADR=ADR+1
|
|
3450 000015 XX=XX+1
|
|
3451
|
|
3452 MOP1 (\ADR,XX,-1,1,0,XX)^
|
|
3453 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
3454 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3455 ;AND E AGAINST [0], [XX] AND [1] RESPECTIVELY.
|
|
3456 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3457
|
|
3458 000015 F31270: AA1=XX ;INITIAL C(AC)
|
|
3459 032543 200 13 0 00 044120 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3460 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
3461 032544 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
3462 000001 AEE=1 ;INITIAL C(E)
|
|
3463 032545 200 11 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
3464 032546 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3465 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
3466 032547 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
3467 032550 003 13 0 00 031271 ER3 AC,31271 ;HIGH PRODUCT FAILED
|
|
3468 000015 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
3469 032551 312 14 0 00 044120 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
3470 032552 004 14 0 00 031272 ER4 AC+1,31272 ;LOW PRODUCT FAILED
|
|
3471 000001 AEE=1 ;INITIAL C(E)
|
|
3472 032553 312 11 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
3473 032554 005 11 0 00 031273 ER5 E,31273 ;C(E) WAS CLOBBERED
|
|
3474 032555 321 15 0 00 032543 JUMPL AC+2,F31270 ;LOOP ON ERROR SWITCH^
|
|
3475
|
|
3476 ;TEST MULTIPLICATION ALGORITHM
|
|
3477 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3478 ;KI10 MULTIPLICATION ALGORITHM. I.E., THE TWO LEAST
|
|
3479 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3480 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3481 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3482 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3483 ;EXECUTED 16 TIMES WITH C(AC)=0,1,3,4,..., 17 AND
|
|
3484 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3485 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3486 ;OF C(E).
|
|
3487
|
|
3488 003130 ADR=ADR+1
|
|
3489 000016 XX=XX+1
|
|
3490
|
|
3491 MOP1 (\ADR,XX,-1,1,0,XX)^
|
|
3492 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
3493 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3494 ;AND E AGAINST [0], [XX] AND [1] RESPECTIVELY.
|
|
3495 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3496
|
|
3497 000016 F31300: AA1=XX ;INITIAL C(AC)
|
|
3498 032556 200 13 0 00 044121 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3499 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
3500 032557 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
3501 000001 AEE=1 ;INITIAL C(E)
|
|
3502 032560 200 11 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
3503 032561 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 5-11
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0081
|
|
|
|
3504 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
3505 032562 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
3506 032563 003 13 0 00 031301 ER3 AC,31301 ;HIGH PRODUCT FAILED
|
|
3507 000016 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
3508 032564 312 14 0 00 044121 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
3509 032565 004 14 0 00 031302 ER4 AC+1,31302 ;LOW PRODUCT FAILED
|
|
3510 000001 AEE=1 ;INITIAL C(E)
|
|
3511 032566 312 11 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
3512 032567 005 11 0 00 031303 ER5 E,31303 ;C(E) WAS CLOBBERED
|
|
3513 032570 321 15 0 00 032556 JUMPL AC+2,F31300 ;LOOP ON ERROR SWITCH^
|
|
3514
|
|
3515 ;TEST MULTIPLICATION ALGORITHM
|
|
3516 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3517 ;KI10 MULTIPLICATION ALGORITHM. I.E., THE TWO LEAST
|
|
3518 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3519 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3520 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3521 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3522 ;EXECUTED 16 TIMES WITH C(AC)=0,1,3,4,..., 17 AND
|
|
3523 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3524 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3525 ;OF C(E).
|
|
3526
|
|
3527 003131 ADR=ADR+1
|
|
3528 000017 XX=XX+1
|
|
3529
|
|
3530 MOP1 (\ADR,XX,-1,1,0,XX)^
|
|
3531 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
3532 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3533 ;AND E AGAINST [0], [XX] AND [1] RESPECTIVELY.
|
|
3534 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3535
|
|
3536 000017 F31310: AA1=XX ;INITIAL C(AC)
|
|
3537 032571 200 13 0 00 044122 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3538 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
3539 032572 200 14 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
3540 000001 AEE=1 ;INITIAL C(E)
|
|
3541 032573 200 11 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
3542 032574 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3543 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
3544 032575 312 13 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
3545 032576 003 13 0 00 031311 ER3 AC,31311 ;HIGH PRODUCT FAILED
|
|
3546 000017 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
3547 032577 312 14 0 00 044122 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
3548 032600 004 14 0 00 031312 ER4 AC+1,31312 ;LOW PRODUCT FAILED
|
|
3549 000001 AEE=1 ;INITIAL C(E)
|
|
3550 032601 312 11 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
3551 032602 005 11 0 00 031313 ER5 E,31313 ;C(E) WAS CLOBBERED
|
|
3552 032603 321 15 0 00 032571 JUMPL AC+2,F31310 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 6
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0082
|
|
|
|
3553 000012 AC=12
|
|
3554 000010 E=<AC-2>&17
|
|
3555 SAVEAC (1,1)^
|
|
3556 032604 201 14 0 00 032604 MOVEI AC+2,. ;SAVE TEST PC
|
|
3557 032605 202 14 0 00 030051 MOVEM AC+2,TESTPC
|
|
3558 032606 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
3559 032607 202 14 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
3560
|
|
3561 777777 777777 XX=-1
|
|
3562
|
|
3563 ;MULTIPLICAND=-1
|
|
3564 REPEAT ^D16,<
|
|
3565 ;TEST MULTIPLICATION ALGORITHM
|
|
3566 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3567 ;KI10 MULTIPLICATION ALGORITHM, I.E., THE TWO LEAST
|
|
3568 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3569 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3570 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3571 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3572 ;EXECUTED 16 TIMES WITH C(AC)=0, 1,2,3,4, . . ., 17 AND
|
|
3573 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3574 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3575 ;OF C(E).
|
|
3576
|
|
3577 ADR=ADR+1
|
|
3578 XX=XX+1
|
|
3579 MX=-XX
|
|
3580 IFE XX,<
|
|
3581 V1=-1
|
|
3582 V2=0>
|
|
3583 IFN XX,<
|
|
3584 V1=0
|
|
3585 V2=-1>
|
|
3586 MOP1 (\ADR,XX,V1,-1,V2,MX)>
|
|
3587
|
|
3588 ;TEST MULTIPLICATION ALGORITHM
|
|
3589 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3590 ;KI10 MULTIPLICATION ALGORITHM, I.E., THE TWO LEAST
|
|
3591 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3592 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3593 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3594 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3595 ;EXECUTED 16 TIMES WITH C(AC)=0, 1,2,3,4, . . ., 17 AND
|
|
3596 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3597 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3598 ;OF C(E).
|
|
3599
|
|
3600 003132 ADR=ADR+1
|
|
3601 000000 XX=XX+1
|
|
3602 000000 MX=-XX
|
|
3603 IFE XX,<
|
|
3604 777777 777777 V1=-1
|
|
3605 000000 V2=0>
|
|
3606 IFN XX,<
|
|
3607 V1=0
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 6-1
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0083
|
|
|
|
3608 V2=-1>
|
|
3609 MOP1 (\ADR,XX,V1,-1,V2,MX)^
|
|
3610 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[V1] AND
|
|
3611 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3612 ;AND E AGAINST [V2], [MX] AND [-1] RESPECTIVELY.
|
|
3613 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3614
|
|
3615 000000 F31320: AA1=XX ;INITIAL C(AC)
|
|
3616 032610 200 12 0 00 043776 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3617 777777 777777 AA2=V1 ;INITIAL C(AC+1)
|
|
3618 032611 200 13 0 00 043777 MOVE AC+1,[V1] ;PRELOAD AC+1
|
|
3619 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3620 032612 200 10 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
3621 032613 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3622 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
3623 032614 312 12 0 00 043776 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
3624 032615 003 12 0 00 031321 ER3 AC,31321 ;HIGH PRODUCT FAILED
|
|
3625 000000 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
3626 032616 312 13 0 00 043776 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
3627 032617 004 13 0 00 031322 ER4 AC+1,31322 ;LOW PRODUCT FAILED
|
|
3628 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3629 032620 312 10 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
3630 032621 005 10 0 00 031323 ER5 E,31323 ;C(E) WAS CLOBBERED
|
|
3631 032622 321 14 0 00 032610 JUMPL AC+2,F31320 ;LOOP ON ERROR SWITCH^
|
|
3632
|
|
3633 ;TEST MULTIPLICATION ALGORITHM
|
|
3634 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3635 ;KI10 MULTIPLICATION ALGORITHM, I.E., THE TWO LEAST
|
|
3636 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3637 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3638 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3639 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3640 ;EXECUTED 16 TIMES WITH C(AC)=0, 1,2,3,4, . . ., 17 AND
|
|
3641 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3642 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3643 ;OF C(E).
|
|
3644
|
|
3645 003133 ADR=ADR+1
|
|
3646 000001 XX=XX+1
|
|
3647 777777 777777 MX=-XX
|
|
3648 IFE XX,<
|
|
3649 V1=-1
|
|
3650 V2=0>
|
|
3651 IFN XX,<
|
|
3652 000000 V1=0
|
|
3653 777777 777777 V2=-1>
|
|
3654 MOP1 (\ADR,XX,V1,-1,V2,MX)^
|
|
3655 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[V1] AND
|
|
3656 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3657 ;AND E AGAINST [V2], [MX] AND [-1] RESPECTIVELY.
|
|
3658 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3659
|
|
3660 000001 F31330: AA1=XX ;INITIAL C(AC)
|
|
3661 032623 200 12 0 00 044000 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3662 000000 AA2=V1 ;INITIAL C(AC+1)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 6-2
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0084
|
|
|
|
3663 032624 200 13 0 00 043776 MOVE AC+1,[V1] ;PRELOAD AC+1
|
|
3664 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3665 032625 200 10 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
3666 032626 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3667 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
3668 032627 312 12 0 00 043777 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
3669 032630 003 12 0 00 031331 ER3 AC,31331 ;HIGH PRODUCT FAILED
|
|
3670 777777 777777 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
3671 032631 312 13 0 00 043777 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
3672 032632 004 13 0 00 031332 ER4 AC+1,31332 ;LOW PRODUCT FAILED
|
|
3673 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3674 032633 312 10 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
3675 032634 005 10 0 00 031333 ER5 E,31333 ;C(E) WAS CLOBBERED
|
|
3676 032635 321 14 0 00 032623 JUMPL AC+2,F31330 ;LOOP ON ERROR SWITCH^
|
|
3677
|
|
3678 ;TEST MULTIPLICATION ALGORITHM
|
|
3679 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3680 ;KI10 MULTIPLICATION ALGORITHM, I.E., THE TWO LEAST
|
|
3681 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3682 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3683 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3684 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3685 ;EXECUTED 16 TIMES WITH C(AC)=0, 1,2,3,4, . . ., 17 AND
|
|
3686 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3687 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3688 ;OF C(E).
|
|
3689
|
|
3690 003134 ADR=ADR+1
|
|
3691 000002 XX=XX+1
|
|
3692 777777 777776 MX=-XX
|
|
3693 IFE XX,<
|
|
3694 V1=-1
|
|
3695 V2=0>
|
|
3696 IFN XX,<
|
|
3697 000000 V1=0
|
|
3698 777777 777777 V2=-1>
|
|
3699 MOP1 (\ADR,XX,V1,-1,V2,MX)^
|
|
3700 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[V1] AND
|
|
3701 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3702 ;AND E AGAINST [V2], [MX] AND [-1] RESPECTIVELY.
|
|
3703 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3704
|
|
3705 000002 F31340: AA1=XX ;INITIAL C(AC)
|
|
3706 032636 200 12 0 00 044001 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3707 000000 AA2=V1 ;INITIAL C(AC+1)
|
|
3708 032637 200 13 0 00 043776 MOVE AC+1,[V1] ;PRELOAD AC+1
|
|
3709 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3710 032640 200 10 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
3711 032641 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3712 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
3713 032642 312 12 0 00 043777 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
3714 032643 003 12 0 00 031341 ER3 AC,31341 ;HIGH PRODUCT FAILED
|
|
3715 777777 777776 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
3716 032644 312 13 0 00 044044 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
3717 032645 004 13 0 00 031342 ER4 AC+1,31342 ;LOW PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 6-3
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0085
|
|
|
|
3718 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3719 032646 312 10 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
3720 032647 005 10 0 00 031343 ER5 E,31343 ;C(E) WAS CLOBBERED
|
|
3721 032650 321 14 0 00 032636 JUMPL AC+2,F31340 ;LOOP ON ERROR SWITCH^
|
|
3722
|
|
3723 ;TEST MULTIPLICATION ALGORITHM
|
|
3724 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3725 ;KI10 MULTIPLICATION ALGORITHM, I.E., THE TWO LEAST
|
|
3726 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3727 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3728 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3729 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3730 ;EXECUTED 16 TIMES WITH C(AC)=0, 1,2,3,4, . . ., 17 AND
|
|
3731 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3732 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3733 ;OF C(E).
|
|
3734
|
|
3735 003135 ADR=ADR+1
|
|
3736 000003 XX=XX+1
|
|
3737 777777 777775 MX=-XX
|
|
3738 IFE XX,<
|
|
3739 V1=-1
|
|
3740 V2=0>
|
|
3741 IFN XX,<
|
|
3742 000000 V1=0
|
|
3743 777777 777777 V2=-1>
|
|
3744 MOP1 (\ADR,XX,V1,-1,V2,MX)^
|
|
3745 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[V1] AND
|
|
3746 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3747 ;AND E AGAINST [V2], [MX] AND [-1] RESPECTIVELY.
|
|
3748 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3749
|
|
3750 000003 F31350: AA1=XX ;INITIAL C(AC)
|
|
3751 032651 200 12 0 00 044110 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3752 000000 AA2=V1 ;INITIAL C(AC+1)
|
|
3753 032652 200 13 0 00 043776 MOVE AC+1,[V1] ;PRELOAD AC+1
|
|
3754 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3755 032653 200 10 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
3756 032654 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3757 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
3758 032655 312 12 0 00 043777 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
3759 032656 003 12 0 00 031351 ER3 AC,31351 ;HIGH PRODUCT FAILED
|
|
3760 777777 777775 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
3761 032657 312 13 0 00 044045 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
3762 032660 004 13 0 00 031352 ER4 AC+1,31352 ;LOW PRODUCT FAILED
|
|
3763 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3764 032661 312 10 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
3765 032662 005 10 0 00 031353 ER5 E,31353 ;C(E) WAS CLOBBERED
|
|
3766 032663 321 14 0 00 032651 JUMPL AC+2,F31350 ;LOOP ON ERROR SWITCH^
|
|
3767
|
|
3768 ;TEST MULTIPLICATION ALGORITHM
|
|
3769 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3770 ;KI10 MULTIPLICATION ALGORITHM, I.E., THE TWO LEAST
|
|
3771 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3772 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 6-4
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0086
|
|
|
|
3773 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3774 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3775 ;EXECUTED 16 TIMES WITH C(AC)=0, 1,2,3,4, . . ., 17 AND
|
|
3776 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3777 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3778 ;OF C(E).
|
|
3779
|
|
3780 003136 ADR=ADR+1
|
|
3781 000004 XX=XX+1
|
|
3782 777777 777774 MX=-XX
|
|
3783 IFE XX,<
|
|
3784 V1=-1
|
|
3785 V2=0>
|
|
3786 IFN XX,<
|
|
3787 000000 V1=0
|
|
3788 777777 777777 V2=-1>
|
|
3789 MOP1 (\ADR,XX,V1,-1,V2,MX)^
|
|
3790 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[V1] AND
|
|
3791 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3792 ;AND E AGAINST [V2], [MX] AND [-1] RESPECTIVELY.
|
|
3793 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3794
|
|
3795 000004 F31360: AA1=XX ;INITIAL C(AC)
|
|
3796 032664 200 12 0 00 044002 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3797 000000 AA2=V1 ;INITIAL C(AC+1)
|
|
3798 032665 200 13 0 00 043776 MOVE AC+1,[V1] ;PRELOAD AC+1
|
|
3799 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3800 032666 200 10 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
3801 032667 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3802 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
3803 032670 312 12 0 00 043777 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
3804 032671 003 12 0 00 031361 ER3 AC,31361 ;HIGH PRODUCT FAILED
|
|
3805 777777 777774 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
3806 032672 312 13 0 00 044123 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
3807 032673 004 13 0 00 031362 ER4 AC+1,31362 ;LOW PRODUCT FAILED
|
|
3808 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3809 032674 312 10 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
3810 032675 005 10 0 00 031363 ER5 E,31363 ;C(E) WAS CLOBBERED
|
|
3811 032676 321 14 0 00 032664 JUMPL AC+2,F31360 ;LOOP ON ERROR SWITCH^
|
|
3812
|
|
3813 ;TEST MULTIPLICATION ALGORITHM
|
|
3814 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3815 ;KI10 MULTIPLICATION ALGORITHM, I.E., THE TWO LEAST
|
|
3816 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3817 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3818 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3819 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3820 ;EXECUTED 16 TIMES WITH C(AC)=0, 1,2,3,4, . . ., 17 AND
|
|
3821 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3822 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3823 ;OF C(E).
|
|
3824
|
|
3825 003137 ADR=ADR+1
|
|
3826 000005 XX=XX+1
|
|
3827 777777 777773 MX=-XX
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 6-5
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0087
|
|
|
|
3828 IFE XX,<
|
|
3829 V1=-1
|
|
3830 V2=0>
|
|
3831 IFN XX,<
|
|
3832 000000 V1=0
|
|
3833 777777 777777 V2=-1>
|
|
3834 MOP1 (\ADR,XX,V1,-1,V2,MX)^
|
|
3835 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[V1] AND
|
|
3836 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3837 ;AND E AGAINST [V2], [MX] AND [-1] RESPECTIVELY.
|
|
3838 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3839
|
|
3840 000005 F31370: AA1=XX ;INITIAL C(AC)
|
|
3841 032677 200 12 0 00 044111 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3842 000000 AA2=V1 ;INITIAL C(AC+1)
|
|
3843 032700 200 13 0 00 043776 MOVE AC+1,[V1] ;PRELOAD AC+1
|
|
3844 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3845 032701 200 10 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
3846 032702 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3847 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
3848 032703 312 12 0 00 043777 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
3849 032704 003 12 0 00 031371 ER3 AC,31371 ;HIGH PRODUCT FAILED
|
|
3850 777777 777773 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
3851 032705 312 13 0 00 044046 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
3852 032706 004 13 0 00 031372 ER4 AC+1,31372 ;LOW PRODUCT FAILED
|
|
3853 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3854 032707 312 10 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
3855 032710 005 10 0 00 031373 ER5 E,31373 ;C(E) WAS CLOBBERED
|
|
3856 032711 321 14 0 00 032677 JUMPL AC+2,F31370 ;LOOP ON ERROR SWITCH^
|
|
3857
|
|
3858 ;TEST MULTIPLICATION ALGORITHM
|
|
3859 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3860 ;KI10 MULTIPLICATION ALGORITHM, I.E., THE TWO LEAST
|
|
3861 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3862 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3863 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3864 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3865 ;EXECUTED 16 TIMES WITH C(AC)=0, 1,2,3,4, . . ., 17 AND
|
|
3866 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3867 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3868 ;OF C(E).
|
|
3869
|
|
3870 003140 ADR=ADR+1
|
|
3871 000006 XX=XX+1
|
|
3872 777777 777772 MX=-XX
|
|
3873 IFE XX,<
|
|
3874 V1=-1
|
|
3875 V2=0>
|
|
3876 IFN XX,<
|
|
3877 000000 V1=0
|
|
3878 777777 777777 V2=-1>
|
|
3879 MOP1 (\ADR,XX,V1,-1,V2,MX)^
|
|
3880 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[V1] AND
|
|
3881 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3882 ;AND E AGAINST [V2], [MX] AND [-1] RESPECTIVELY.
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 6-6
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0088
|
|
|
|
3883 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3884
|
|
3885 000006 F31400: AA1=XX ;INITIAL C(AC)
|
|
3886 032712 200 12 0 00 044112 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3887 000000 AA2=V1 ;INITIAL C(AC+1)
|
|
3888 032713 200 13 0 00 043776 MOVE AC+1,[V1] ;PRELOAD AC+1
|
|
3889 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3890 032714 200 10 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
3891 032715 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3892 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
3893 032716 312 12 0 00 043777 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
3894 032717 003 12 0 00 031401 ER3 AC,31401 ;HIGH PRODUCT FAILED
|
|
3895 777777 777772 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
3896 032720 312 13 0 00 044124 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
3897 032721 004 13 0 00 031402 ER4 AC+1,31402 ;LOW PRODUCT FAILED
|
|
3898 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3899 032722 312 10 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
3900 032723 005 10 0 00 031403 ER5 E,31403 ;C(E) WAS CLOBBERED
|
|
3901 032724 321 14 0 00 032712 JUMPL AC+2,F31400 ;LOOP ON ERROR SWITCH^
|
|
3902
|
|
3903 ;TEST MULTIPLICATION ALGORITHM
|
|
3904 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3905 ;KI10 MULTIPLICATION ALGORITHM, I.E., THE TWO LEAST
|
|
3906 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3907 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3908 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3909 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3910 ;EXECUTED 16 TIMES WITH C(AC)=0, 1,2,3,4, . . ., 17 AND
|
|
3911 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3912 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3913 ;OF C(E).
|
|
3914
|
|
3915 003141 ADR=ADR+1
|
|
3916 000007 XX=XX+1
|
|
3917 777777 777771 MX=-XX
|
|
3918 IFE XX,<
|
|
3919 V1=-1
|
|
3920 V2=0>
|
|
3921 IFN XX,<
|
|
3922 000000 V1=0
|
|
3923 777777 777777 V2=-1>
|
|
3924 MOP1 (\ADR,XX,V1,-1,V2,MX)^
|
|
3925 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[V1] AND
|
|
3926 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3927 ;AND E AGAINST [V2], [MX] AND [-1] RESPECTIVELY.
|
|
3928 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3929
|
|
3930 000007 F31410: AA1=XX ;INITIAL C(AC)
|
|
3931 032725 200 12 0 00 044113 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3932 000000 AA2=V1 ;INITIAL C(AC+1)
|
|
3933 032726 200 13 0 00 043776 MOVE AC+1,[V1] ;PRELOAD AC+1
|
|
3934 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3935 032727 200 10 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
3936 032730 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3937 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 6-7
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0089
|
|
|
|
3938 032731 312 12 0 00 043777 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
3939 032732 003 12 0 00 031411 ER3 AC,31411 ;HIGH PRODUCT FAILED
|
|
3940 777777 777771 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
3941 032733 312 13 0 00 044125 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
3942 032734 004 13 0 00 031412 ER4 AC+1,31412 ;LOW PRODUCT FAILED
|
|
3943 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3944 032735 312 10 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
3945 032736 005 10 0 00 031413 ER5 E,31413 ;C(E) WAS CLOBBERED
|
|
3946 032737 321 14 0 00 032725 JUMPL AC+2,F31410 ;LOOP ON ERROR SWITCH^
|
|
3947
|
|
3948 ;TEST MULTIPLICATION ALGORITHM
|
|
3949 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3950 ;KI10 MULTIPLICATION ALGORITHM, I.E., THE TWO LEAST
|
|
3951 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3952 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3953 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3954 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
3955 ;EXECUTED 16 TIMES WITH C(AC)=0, 1,2,3,4, . . ., 17 AND
|
|
3956 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
3957 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
3958 ;OF C(E).
|
|
3959
|
|
3960 003142 ADR=ADR+1
|
|
3961 000010 XX=XX+1
|
|
3962 777777 777770 MX=-XX
|
|
3963 IFE XX,<
|
|
3964 V1=-1
|
|
3965 V2=0>
|
|
3966 IFN XX,<
|
|
3967 000000 V1=0
|
|
3968 777777 777777 V2=-1>
|
|
3969 MOP1 (\ADR,XX,V1,-1,V2,MX)^
|
|
3970 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[V1] AND
|
|
3971 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3972 ;AND E AGAINST [V2], [MX] AND [-1] RESPECTIVELY.
|
|
3973 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3974
|
|
3975 000010 F31420: AA1=XX ;INITIAL C(AC)
|
|
3976 032740 200 12 0 00 044003 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3977 000000 AA2=V1 ;INITIAL C(AC+1)
|
|
3978 032741 200 13 0 00 043776 MOVE AC+1,[V1] ;PRELOAD AC+1
|
|
3979 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3980 032742 200 10 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
3981 032743 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3982 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
3983 032744 312 12 0 00 043777 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
3984 032745 003 12 0 00 031421 ER3 AC,31421 ;HIGH PRODUCT FAILED
|
|
3985 777777 777770 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
3986 032746 312 13 0 00 044126 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
3987 032747 004 13 0 00 031422 ER4 AC+1,31422 ;LOW PRODUCT FAILED
|
|
3988 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
3989 032750 312 10 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
3990 032751 005 10 0 00 031423 ER5 E,31423 ;C(E) WAS CLOBBERED
|
|
3991 032752 321 14 0 00 032740 JUMPL AC+2,F31420 ;LOOP ON ERROR SWITCH^
|
|
3992
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 6-8
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0090
|
|
|
|
3993 ;TEST MULTIPLICATION ALGORITHM
|
|
3994 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
3995 ;KI10 MULTIPLICATION ALGORITHM, I.E., THE TWO LEAST
|
|
3996 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
3997 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
3998 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
3999 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
4000 ;EXECUTED 16 TIMES WITH C(AC)=0, 1,2,3,4, . . ., 17 AND
|
|
4001 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
4002 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
4003 ;OF C(E).
|
|
4004
|
|
4005 003143 ADR=ADR+1
|
|
4006 000011 XX=XX+1
|
|
4007 777777 777767 MX=-XX
|
|
4008 IFE XX,<
|
|
4009 V1=-1
|
|
4010 V2=0>
|
|
4011 IFN XX,<
|
|
4012 000000 V1=0
|
|
4013 777777 777777 V2=-1>
|
|
4014 MOP1 (\ADR,XX,V1,-1,V2,MX)^
|
|
4015 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[V1] AND
|
|
4016 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4017 ;AND E AGAINST [V2], [MX] AND [-1] RESPECTIVELY.
|
|
4018 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4019
|
|
4020 000011 F31430: AA1=XX ;INITIAL C(AC)
|
|
4021 032753 200 12 0 00 044114 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4022 000000 AA2=V1 ;INITIAL C(AC+1)
|
|
4023 032754 200 13 0 00 043776 MOVE AC+1,[V1] ;PRELOAD AC+1
|
|
4024 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
4025 032755 200 10 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
4026 032756 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4027 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4028 032757 312 12 0 00 043777 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4029 032760 003 12 0 00 031431 ER3 AC,31431 ;HIGH PRODUCT FAILED
|
|
4030 777777 777767 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
4031 032761 312 13 0 00 044047 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
4032 032762 004 13 0 00 031432 ER4 AC+1,31432 ;LOW PRODUCT FAILED
|
|
4033 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
4034 032763 312 10 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
4035 032764 005 10 0 00 031433 ER5 E,31433 ;C(E) WAS CLOBBERED
|
|
4036 032765 321 14 0 00 032753 JUMPL AC+2,F31430 ;LOOP ON ERROR SWITCH^
|
|
4037
|
|
4038 ;TEST MULTIPLICATION ALGORITHM
|
|
4039 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
4040 ;KI10 MULTIPLICATION ALGORITHM, I.E., THE TWO LEAST
|
|
4041 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
4042 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
4043 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
4044 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
4045 ;EXECUTED 16 TIMES WITH C(AC)=0, 1,2,3,4, . . ., 17 AND
|
|
4046 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
4047 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 6-9
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0091
|
|
|
|
4048 ;OF C(E).
|
|
4049
|
|
4050 003144 ADR=ADR+1
|
|
4051 000012 XX=XX+1
|
|
4052 777777 777766 MX=-XX
|
|
4053 IFE XX,<
|
|
4054 V1=-1
|
|
4055 V2=0>
|
|
4056 IFN XX,<
|
|
4057 000000 V1=0
|
|
4058 777777 777777 V2=-1>
|
|
4059 MOP1 (\ADR,XX,V1,-1,V2,MX)^
|
|
4060 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[V1] AND
|
|
4061 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4062 ;AND E AGAINST [V2], [MX] AND [-1] RESPECTIVELY.
|
|
4063 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4064
|
|
4065 000012 F31440: AA1=XX ;INITIAL C(AC)
|
|
4066 032766 200 12 0 00 044115 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4067 000000 AA2=V1 ;INITIAL C(AC+1)
|
|
4068 032767 200 13 0 00 043776 MOVE AC+1,[V1] ;PRELOAD AC+1
|
|
4069 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
4070 032770 200 10 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
4071 032771 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4072 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4073 032772 312 12 0 00 043777 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4074 032773 003 12 0 00 031441 ER3 AC,31441 ;HIGH PRODUCT FAILED
|
|
4075 777777 777766 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
4076 032774 312 13 0 00 044127 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
4077 032775 004 13 0 00 031442 ER4 AC+1,31442 ;LOW PRODUCT FAILED
|
|
4078 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
4079 032776 312 10 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
4080 032777 005 10 0 00 031443 ER5 E,31443 ;C(E) WAS CLOBBERED
|
|
4081 033000 321 14 0 00 032766 JUMPL AC+2,F31440 ;LOOP ON ERROR SWITCH^
|
|
4082
|
|
4083 ;TEST MULTIPLICATION ALGORITHM
|
|
4084 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
4085 ;KI10 MULTIPLICATION ALGORITHM, I.E., THE TWO LEAST
|
|
4086 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
4087 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
4088 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
4089 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
4090 ;EXECUTED 16 TIMES WITH C(AC)=0, 1,2,3,4, . . ., 17 AND
|
|
4091 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
4092 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
4093 ;OF C(E).
|
|
4094
|
|
4095 003145 ADR=ADR+1
|
|
4096 000013 XX=XX+1
|
|
4097 777777 777765 MX=-XX
|
|
4098 IFE XX,<
|
|
4099 V1=-1
|
|
4100 V2=0>
|
|
4101 IFN XX,<
|
|
4102 000000 V1=0
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 6-10
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0092
|
|
|
|
4103 777777 777777 V2=-1>
|
|
4104 MOP1 (\ADR,XX,V1,-1,V2,MX)^
|
|
4105 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[V1] AND
|
|
4106 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4107 ;AND E AGAINST [V2], [MX] AND [-1] RESPECTIVELY.
|
|
4108 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4109
|
|
4110 000013 F31450: AA1=XX ;INITIAL C(AC)
|
|
4111 033001 200 12 0 00 044116 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4112 000000 AA2=V1 ;INITIAL C(AC+1)
|
|
4113 033002 200 13 0 00 043776 MOVE AC+1,[V1] ;PRELOAD AC+1
|
|
4114 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
4115 033003 200 10 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
4116 033004 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4117 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4118 033005 312 12 0 00 043777 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4119 033006 003 12 0 00 031451 ER3 AC,31451 ;HIGH PRODUCT FAILED
|
|
4120 777777 777765 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
4121 033007 312 13 0 00 044130 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
4122 033010 004 13 0 00 031452 ER4 AC+1,31452 ;LOW PRODUCT FAILED
|
|
4123 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
4124 033011 312 10 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
4125 033012 005 10 0 00 031453 ER5 E,31453 ;C(E) WAS CLOBBERED
|
|
4126 033013 321 14 0 00 033001 JUMPL AC+2,F31450 ;LOOP ON ERROR SWITCH^
|
|
4127
|
|
4128 ;TEST MULTIPLICATION ALGORITHM
|
|
4129 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
4130 ;KI10 MULTIPLICATION ALGORITHM, I.E., THE TWO LEAST
|
|
4131 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
4132 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
4133 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
4134 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
4135 ;EXECUTED 16 TIMES WITH C(AC)=0, 1,2,3,4, . . ., 17 AND
|
|
4136 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
4137 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
4138 ;OF C(E).
|
|
4139
|
|
4140 003146 ADR=ADR+1
|
|
4141 000014 XX=XX+1
|
|
4142 777777 777764 MX=-XX
|
|
4143 IFE XX,<
|
|
4144 V1=-1
|
|
4145 V2=0>
|
|
4146 IFN XX,<
|
|
4147 000000 V1=0
|
|
4148 777777 777777 V2=-1>
|
|
4149 MOP1 (\ADR,XX,V1,-1,V2,MX)^
|
|
4150 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[V1] AND
|
|
4151 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4152 ;AND E AGAINST [V2], [MX] AND [-1] RESPECTIVELY.
|
|
4153 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4154
|
|
4155 000014 F31460: AA1=XX ;INITIAL C(AC)
|
|
4156 033014 200 12 0 00 044117 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4157 000000 AA2=V1 ;INITIAL C(AC+1)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 6-11
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0093
|
|
|
|
4158 033015 200 13 0 00 043776 MOVE AC+1,[V1] ;PRELOAD AC+1
|
|
4159 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
4160 033016 200 10 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
4161 033017 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4162 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4163 033020 312 12 0 00 043777 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4164 033021 003 12 0 00 031461 ER3 AC,31461 ;HIGH PRODUCT FAILED
|
|
4165 777777 777764 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
4166 033022 312 13 0 00 044131 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
4167 033023 004 13 0 00 031462 ER4 AC+1,31462 ;LOW PRODUCT FAILED
|
|
4168 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
4169 033024 312 10 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
4170 033025 005 10 0 00 031463 ER5 E,31463 ;C(E) WAS CLOBBERED
|
|
4171 033026 321 14 0 00 033014 JUMPL AC+2,F31460 ;LOOP ON ERROR SWITCH^
|
|
4172
|
|
4173 ;TEST MULTIPLICATION ALGORITHM
|
|
4174 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
4175 ;KI10 MULTIPLICATION ALGORITHM, I.E., THE TWO LEAST
|
|
4176 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
4177 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
4178 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
4179 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
4180 ;EXECUTED 16 TIMES WITH C(AC)=0, 1,2,3,4, . . ., 17 AND
|
|
4181 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
4182 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
4183 ;OF C(E).
|
|
4184
|
|
4185 003147 ADR=ADR+1
|
|
4186 000015 XX=XX+1
|
|
4187 777777 777763 MX=-XX
|
|
4188 IFE XX,<
|
|
4189 V1=-1
|
|
4190 V2=0>
|
|
4191 IFN XX,<
|
|
4192 000000 V1=0
|
|
4193 777777 777777 V2=-1>
|
|
4194 MOP1 (\ADR,XX,V1,-1,V2,MX)^
|
|
4195 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[V1] AND
|
|
4196 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4197 ;AND E AGAINST [V2], [MX] AND [-1] RESPECTIVELY.
|
|
4198 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4199
|
|
4200 000015 F31470: AA1=XX ;INITIAL C(AC)
|
|
4201 033027 200 12 0 00 044120 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4202 000000 AA2=V1 ;INITIAL C(AC+1)
|
|
4203 033030 200 13 0 00 043776 MOVE AC+1,[V1] ;PRELOAD AC+1
|
|
4204 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
4205 033031 200 10 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
4206 033032 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4207 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4208 033033 312 12 0 00 043777 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4209 033034 003 12 0 00 031471 ER3 AC,31471 ;HIGH PRODUCT FAILED
|
|
4210 777777 777763 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
4211 033035 312 13 0 00 044132 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
4212 033036 004 13 0 00 031472 ER4 AC+1,31472 ;LOW PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 6-12
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0094
|
|
|
|
4213 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
4214 033037 312 10 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
4215 033040 005 10 0 00 031473 ER5 E,31473 ;C(E) WAS CLOBBERED
|
|
4216 033041 321 14 0 00 033027 JUMPL AC+2,F31470 ;LOOP ON ERROR SWITCH^
|
|
4217
|
|
4218 ;TEST MULTIPLICATION ALGORITHM
|
|
4219 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
4220 ;KI10 MULTIPLICATION ALGORITHM, I.E., THE TWO LEAST
|
|
4221 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
4222 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
4223 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
4224 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
4225 ;EXECUTED 16 TIMES WITH C(AC)=0, 1,2,3,4, . . ., 17 AND
|
|
4226 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
4227 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
4228 ;OF C(E).
|
|
4229
|
|
4230 003150 ADR=ADR+1
|
|
4231 000016 XX=XX+1
|
|
4232 777777 777762 MX=-XX
|
|
4233 IFE XX,<
|
|
4234 V1=-1
|
|
4235 V2=0>
|
|
4236 IFN XX,<
|
|
4237 000000 V1=0
|
|
4238 777777 777777 V2=-1>
|
|
4239 MOP1 (\ADR,XX,V1,-1,V2,MX)^
|
|
4240 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[V1] AND
|
|
4241 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4242 ;AND E AGAINST [V2], [MX] AND [-1] RESPECTIVELY.
|
|
4243 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4244
|
|
4245 000016 F31500: AA1=XX ;INITIAL C(AC)
|
|
4246 033042 200 12 0 00 044121 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4247 000000 AA2=V1 ;INITIAL C(AC+1)
|
|
4248 033043 200 13 0 00 043776 MOVE AC+1,[V1] ;PRELOAD AC+1
|
|
4249 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
4250 033044 200 10 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
4251 033045 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4252 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4253 033046 312 12 0 00 043777 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4254 033047 003 12 0 00 031501 ER3 AC,31501 ;HIGH PRODUCT FAILED
|
|
4255 777777 777762 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
4256 033050 312 13 0 00 044133 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
4257 033051 004 13 0 00 031502 ER4 AC+1,31502 ;LOW PRODUCT FAILED
|
|
4258 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
4259 033052 312 10 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
4260 033053 005 10 0 00 031503 ER5 E,31503 ;C(E) WAS CLOBBERED
|
|
4261 033054 321 14 0 00 033042 JUMPL AC+2,F31500 ;LOOP ON ERROR SWITCH^
|
|
4262
|
|
4263 ;TEST MULTIPLICATION ALGORITHM
|
|
4264 ;VERIFY THAT (-MPY SHIFT) WORKS AS SPECIFIED IN THE
|
|
4265 ;KI10 MULTIPLICATION ALGORITHM, I.E., THE TWO LEAST
|
|
4266 ;SIGNIFICANT BITS OF THE MULTIPLIER (C(AC)) ARE
|
|
4267 ;EXAMINED AND THEN THE MULTIPLICAND (C(E)) IS MULTIPLIED BY THEM.
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 6-13
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MULTIPLICATION ALGORITHM SEQ 0095
|
|
|
|
4268 ;THIS PROCESS IS REPEATED 18 TIMES IN ORDER
|
|
4269 ;TO MULTIPLY ALL 36 BITS OF THE AC. THIS TEST IS
|
|
4270 ;EXECUTED 16 TIMES WITH C(AC)=0, 1,2,3,4, . . ., 17 AND
|
|
4271 ;C(E)=1. IT IS EXECUTED ANOTHER 16 TIMES AS ABOVE
|
|
4272 ;EXCEPT C(E)=-1 TO VERIFY THAT THE ALGORITHM IS INDEPENDENT
|
|
4273 ;OF C(E).
|
|
4274
|
|
4275 003151 ADR=ADR+1
|
|
4276 000017 XX=XX+1
|
|
4277 777777 777761 MX=-XX
|
|
4278 IFE XX,<
|
|
4279 V1=-1
|
|
4280 V2=0>
|
|
4281 IFN XX,<
|
|
4282 000000 V1=0
|
|
4283 777777 777777 V2=-1>
|
|
4284 MOP1 (\ADR,XX,V1,-1,V2,MX)^
|
|
4285 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[V1] AND
|
|
4286 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4287 ;AND E AGAINST [V2], [MX] AND [-1] RESPECTIVELY.
|
|
4288 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4289
|
|
4290 000017 F31510: AA1=XX ;INITIAL C(AC)
|
|
4291 033055 200 12 0 00 044122 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4292 000000 AA2=V1 ;INITIAL C(AC+1)
|
|
4293 033056 200 13 0 00 043776 MOVE AC+1,[V1] ;PRELOAD AC+1
|
|
4294 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
4295 033057 200 10 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
4296 033060 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4297 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4298 033061 312 12 0 00 043777 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4299 033062 003 12 0 00 031511 ER3 AC,31511 ;HIGH PRODUCT FAILED
|
|
4300 777777 777761 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
4301 033063 312 13 0 00 044134 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
4302 033064 004 13 0 00 031512 ER4 AC+1,31512 ;LOW PRODUCT FAILED
|
|
4303 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
4304 033065 312 10 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
4305 033066 005 10 0 00 031513 ER5 E,31513 ;C(E) WAS CLOBBERED
|
|
4306 033067 321 14 0 00 033055 JUMPL AC+2,F31510 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0096
|
|
|
|
4307 SUBTTL DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT
|
|
4308
|
|
4309 000011 AC=11
|
|
4310 000007 E=<AC-2>&17
|
|
4311 SAVEAC (1,1)^
|
|
4312 033070 201 13 0 00 033070 MOVEI AC+2,. ;SAVE TEST PC
|
|
4313 033071 202 13 0 00 030051 MOVEM AC+2,TESTPC
|
|
4314 033072 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
4315 033073 202 13 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
4316 000000 XX=0
|
|
4317
|
|
4318 REPEAT ^D36, <
|
|
4319 ADR=ADR+1
|
|
4320 XX=XX+XX
|
|
4321 IFE XX,<XX=1>
|
|
4322
|
|
4323 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4324 MOP1 (\ADR,XX,-1,0,0,0)>
|
|
4325
|
|
4326 003152 ADR=ADR+1
|
|
4327 000000 XX=XX+XX
|
|
4328 000001 IFE XX,<XX=1>
|
|
4329
|
|
4330 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4331 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4332 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4333 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4334 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4335 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4336
|
|
4337 000001 F31520: AA1=XX ;INITIAL C(AC)
|
|
4338 033074 200 11 0 00 044000 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4339 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4340 033075 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4341 000000 AEE=0 ;INITIAL C(E)
|
|
4342 033076 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4343 033077 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4344 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4345 033100 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4346 033101 003 11 0 00 031521 ER3 AC,31521 ;HIGH PRODUCT FAILED
|
|
4347 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4348 033102 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4349 033103 004 12 0 00 031522 ER4 AC+1,31522 ;LOW PRODUCT FAILED
|
|
4350 000000 AEE=0 ;INITIAL C(E)
|
|
4351 033104 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4352 033105 005 07 0 00 031523 ER5 E,31523 ;C(E) WAS CLOBBERED
|
|
4353 033106 321 13 0 00 033074 JUMPL AC+2,F31520 ;LOOP ON ERROR SWITCH^
|
|
4354
|
|
4355 003153 ADR=ADR+1
|
|
4356 000002 XX=XX+XX
|
|
4357 IFE XX,<XX=1>
|
|
4358
|
|
4359 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4360 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4361 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-1
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0097
|
|
|
|
4362 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4363 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4364 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4365
|
|
4366 000002 F31530: AA1=XX ;INITIAL C(AC)
|
|
4367 033107 200 11 0 00 044001 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4368 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4369 033110 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4370 000000 AEE=0 ;INITIAL C(E)
|
|
4371 033111 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4372 033112 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4373 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4374 033113 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4375 033114 003 11 0 00 031531 ER3 AC,31531 ;HIGH PRODUCT FAILED
|
|
4376 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4377 033115 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4378 033116 004 12 0 00 031532 ER4 AC+1,31532 ;LOW PRODUCT FAILED
|
|
4379 000000 AEE=0 ;INITIAL C(E)
|
|
4380 033117 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4381 033120 005 07 0 00 031533 ER5 E,31533 ;C(E) WAS CLOBBERED
|
|
4382 033121 321 13 0 00 033107 JUMPL AC+2,F31530 ;LOOP ON ERROR SWITCH^
|
|
4383
|
|
4384 003154 ADR=ADR+1
|
|
4385 000004 XX=XX+XX
|
|
4386 IFE XX,<XX=1>
|
|
4387
|
|
4388 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4389 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4390 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4391 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4392 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4393 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4394
|
|
4395 000004 F31540: AA1=XX ;INITIAL C(AC)
|
|
4396 033122 200 11 0 00 044002 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4397 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4398 033123 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4399 000000 AEE=0 ;INITIAL C(E)
|
|
4400 033124 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4401 033125 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4402 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4403 033126 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4404 033127 003 11 0 00 031541 ER3 AC,31541 ;HIGH PRODUCT FAILED
|
|
4405 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4406 033130 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4407 033131 004 12 0 00 031542 ER4 AC+1,31542 ;LOW PRODUCT FAILED
|
|
4408 000000 AEE=0 ;INITIAL C(E)
|
|
4409 033132 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4410 033133 005 07 0 00 031543 ER5 E,31543 ;C(E) WAS CLOBBERED
|
|
4411 033134 321 13 0 00 033122 JUMPL AC+2,F31540 ;LOOP ON ERROR SWITCH^
|
|
4412
|
|
4413 003155 ADR=ADR+1
|
|
4414 000010 XX=XX+XX
|
|
4415 IFE XX,<XX=1>
|
|
4416
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-2
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0098
|
|
|
|
4417 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4418 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4419 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4420 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4421 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4422 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4423
|
|
4424 000010 F31550: AA1=XX ;INITIAL C(AC)
|
|
4425 033135 200 11 0 00 044003 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4426 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4427 033136 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4428 000000 AEE=0 ;INITIAL C(E)
|
|
4429 033137 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4430 033140 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4431 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4432 033141 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4433 033142 003 11 0 00 031551 ER3 AC,31551 ;HIGH PRODUCT FAILED
|
|
4434 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4435 033143 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4436 033144 004 12 0 00 031552 ER4 AC+1,31552 ;LOW PRODUCT FAILED
|
|
4437 000000 AEE=0 ;INITIAL C(E)
|
|
4438 033145 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4439 033146 005 07 0 00 031553 ER5 E,31553 ;C(E) WAS CLOBBERED
|
|
4440 033147 321 13 0 00 033135 JUMPL AC+2,F31550 ;LOOP ON ERROR SWITCH^
|
|
4441
|
|
4442 003156 ADR=ADR+1
|
|
4443 000020 XX=XX+XX
|
|
4444 IFE XX,<XX=1>
|
|
4445
|
|
4446 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4447 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4448 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4449 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4450 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4451 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4452
|
|
4453 000020 F31560: AA1=XX ;INITIAL C(AC)
|
|
4454 033150 200 11 0 00 044004 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4455 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4456 033151 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4457 000000 AEE=0 ;INITIAL C(E)
|
|
4458 033152 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4459 033153 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4460 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4461 033154 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4462 033155 003 11 0 00 031561 ER3 AC,31561 ;HIGH PRODUCT FAILED
|
|
4463 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4464 033156 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4465 033157 004 12 0 00 031562 ER4 AC+1,31562 ;LOW PRODUCT FAILED
|
|
4466 000000 AEE=0 ;INITIAL C(E)
|
|
4467 033160 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4468 033161 005 07 0 00 031563 ER5 E,31563 ;C(E) WAS CLOBBERED
|
|
4469 033162 321 13 0 00 033150 JUMPL AC+2,F31560 ;LOOP ON ERROR SWITCH^
|
|
4470
|
|
4471 003157 ADR=ADR+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-3
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0099
|
|
|
|
4472 000040 XX=XX+XX
|
|
4473 IFE XX,<XX=1>
|
|
4474
|
|
4475 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4476 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4477 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4478 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4479 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4480 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4481
|
|
4482 000040 F31570: AA1=XX ;INITIAL C(AC)
|
|
4483 033163 200 11 0 00 044005 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4484 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4485 033164 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4486 000000 AEE=0 ;INITIAL C(E)
|
|
4487 033165 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4488 033166 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4489 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4490 033167 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4491 033170 003 11 0 00 031571 ER3 AC,31571 ;HIGH PRODUCT FAILED
|
|
4492 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4493 033171 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4494 033172 004 12 0 00 031572 ER4 AC+1,31572 ;LOW PRODUCT FAILED
|
|
4495 000000 AEE=0 ;INITIAL C(E)
|
|
4496 033173 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4497 033174 005 07 0 00 031573 ER5 E,31573 ;C(E) WAS CLOBBERED
|
|
4498 033175 321 13 0 00 033163 JUMPL AC+2,F31570 ;LOOP ON ERROR SWITCH^
|
|
4499
|
|
4500 003160 ADR=ADR+1
|
|
4501 000100 XX=XX+XX
|
|
4502 IFE XX,<XX=1>
|
|
4503
|
|
4504 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4505 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4506 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4507 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4508 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4509 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4510
|
|
4511 000100 F31600: AA1=XX ;INITIAL C(AC)
|
|
4512 033176 200 11 0 00 044006 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4513 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4514 033177 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4515 000000 AEE=0 ;INITIAL C(E)
|
|
4516 033200 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4517 033201 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4518 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4519 033202 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4520 033203 003 11 0 00 031601 ER3 AC,31601 ;HIGH PRODUCT FAILED
|
|
4521 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4522 033204 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4523 033205 004 12 0 00 031602 ER4 AC+1,31602 ;LOW PRODUCT FAILED
|
|
4524 000000 AEE=0 ;INITIAL C(E)
|
|
4525 033206 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4526 033207 005 07 0 00 031603 ER5 E,31603 ;C(E) WAS CLOBBERED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-4
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0100
|
|
|
|
4527 033210 321 13 0 00 033176 JUMPL AC+2,F31600 ;LOOP ON ERROR SWITCH^
|
|
4528
|
|
4529 003161 ADR=ADR+1
|
|
4530 000200 XX=XX+XX
|
|
4531 IFE XX,<XX=1>
|
|
4532
|
|
4533 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4534 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4535 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4536 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4537 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4538 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4539
|
|
4540 000200 F31610: AA1=XX ;INITIAL C(AC)
|
|
4541 033211 200 11 0 00 044007 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4542 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4543 033212 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4544 000000 AEE=0 ;INITIAL C(E)
|
|
4545 033213 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4546 033214 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4547 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4548 033215 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4549 033216 003 11 0 00 031611 ER3 AC,31611 ;HIGH PRODUCT FAILED
|
|
4550 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4551 033217 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4552 033220 004 12 0 00 031612 ER4 AC+1,31612 ;LOW PRODUCT FAILED
|
|
4553 000000 AEE=0 ;INITIAL C(E)
|
|
4554 033221 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4555 033222 005 07 0 00 031613 ER5 E,31613 ;C(E) WAS CLOBBERED
|
|
4556 033223 321 13 0 00 033211 JUMPL AC+2,F31610 ;LOOP ON ERROR SWITCH^
|
|
4557
|
|
4558 003162 ADR=ADR+1
|
|
4559 000400 XX=XX+XX
|
|
4560 IFE XX,<XX=1>
|
|
4561
|
|
4562 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4563 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4564 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4565 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4566 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4567 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4568
|
|
4569 000400 F31620: AA1=XX ;INITIAL C(AC)
|
|
4570 033224 200 11 0 00 044010 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4571 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4572 033225 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4573 000000 AEE=0 ;INITIAL C(E)
|
|
4574 033226 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4575 033227 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4576 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4577 033230 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4578 033231 003 11 0 00 031621 ER3 AC,31621 ;HIGH PRODUCT FAILED
|
|
4579 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4580 033232 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4581 033233 004 12 0 00 031622 ER4 AC+1,31622 ;LOW PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-5
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0101
|
|
|
|
4582 000000 AEE=0 ;INITIAL C(E)
|
|
4583 033234 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4584 033235 005 07 0 00 031623 ER5 E,31623 ;C(E) WAS CLOBBERED
|
|
4585 033236 321 13 0 00 033224 JUMPL AC+2,F31620 ;LOOP ON ERROR SWITCH^
|
|
4586
|
|
4587 003163 ADR=ADR+1
|
|
4588 001000 XX=XX+XX
|
|
4589 IFE XX,<XX=1>
|
|
4590
|
|
4591 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4592 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4593 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4594 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4595 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4596 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4597
|
|
4598 001000 F31630: AA1=XX ;INITIAL C(AC)
|
|
4599 033237 200 11 0 00 044011 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4600 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4601 033240 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4602 000000 AEE=0 ;INITIAL C(E)
|
|
4603 033241 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4604 033242 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4605 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4606 033243 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4607 033244 003 11 0 00 031631 ER3 AC,31631 ;HIGH PRODUCT FAILED
|
|
4608 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4609 033245 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4610 033246 004 12 0 00 031632 ER4 AC+1,31632 ;LOW PRODUCT FAILED
|
|
4611 000000 AEE=0 ;INITIAL C(E)
|
|
4612 033247 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4613 033250 005 07 0 00 031633 ER5 E,31633 ;C(E) WAS CLOBBERED
|
|
4614 033251 321 13 0 00 033237 JUMPL AC+2,F31630 ;LOOP ON ERROR SWITCH^
|
|
4615
|
|
4616 003164 ADR=ADR+1
|
|
4617 002000 XX=XX+XX
|
|
4618 IFE XX,<XX=1>
|
|
4619
|
|
4620 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4621 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4622 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4623 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4624 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4625 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4626
|
|
4627 002000 F31640: AA1=XX ;INITIAL C(AC)
|
|
4628 033252 200 11 0 00 044012 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4629 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4630 033253 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4631 000000 AEE=0 ;INITIAL C(E)
|
|
4632 033254 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4633 033255 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4634 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4635 033256 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4636 033257 003 11 0 00 031641 ER3 AC,31641 ;HIGH PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-6
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0102
|
|
|
|
4637 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4638 033260 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4639 033261 004 12 0 00 031642 ER4 AC+1,31642 ;LOW PRODUCT FAILED
|
|
4640 000000 AEE=0 ;INITIAL C(E)
|
|
4641 033262 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4642 033263 005 07 0 00 031643 ER5 E,31643 ;C(E) WAS CLOBBERED
|
|
4643 033264 321 13 0 00 033252 JUMPL AC+2,F31640 ;LOOP ON ERROR SWITCH^
|
|
4644
|
|
4645 003165 ADR=ADR+1
|
|
4646 004000 XX=XX+XX
|
|
4647 IFE XX,<XX=1>
|
|
4648
|
|
4649 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4650 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4651 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4652 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4653 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4654 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4655
|
|
4656 004000 F31650: AA1=XX ;INITIAL C(AC)
|
|
4657 033265 200 11 0 00 044013 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4658 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4659 033266 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4660 000000 AEE=0 ;INITIAL C(E)
|
|
4661 033267 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4662 033270 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4663 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4664 033271 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4665 033272 003 11 0 00 031651 ER3 AC,31651 ;HIGH PRODUCT FAILED
|
|
4666 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4667 033273 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4668 033274 004 12 0 00 031652 ER4 AC+1,31652 ;LOW PRODUCT FAILED
|
|
4669 000000 AEE=0 ;INITIAL C(E)
|
|
4670 033275 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4671 033276 005 07 0 00 031653 ER5 E,31653 ;C(E) WAS CLOBBERED
|
|
4672 033277 321 13 0 00 033265 JUMPL AC+2,F31650 ;LOOP ON ERROR SWITCH^
|
|
4673
|
|
4674 003166 ADR=ADR+1
|
|
4675 010000 XX=XX+XX
|
|
4676 IFE XX,<XX=1>
|
|
4677
|
|
4678 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4679 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4680 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4681 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4682 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4683 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4684
|
|
4685 010000 F31660: AA1=XX ;INITIAL C(AC)
|
|
4686 033300 200 11 0 00 044014 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4687 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4688 033301 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4689 000000 AEE=0 ;INITIAL C(E)
|
|
4690 033302 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4691 033303 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-7
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0103
|
|
|
|
4692 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4693 033304 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4694 033305 003 11 0 00 031661 ER3 AC,31661 ;HIGH PRODUCT FAILED
|
|
4695 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4696 033306 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4697 033307 004 12 0 00 031662 ER4 AC+1,31662 ;LOW PRODUCT FAILED
|
|
4698 000000 AEE=0 ;INITIAL C(E)
|
|
4699 033310 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4700 033311 005 07 0 00 031663 ER5 E,31663 ;C(E) WAS CLOBBERED
|
|
4701 033312 321 13 0 00 033300 JUMPL AC+2,F31660 ;LOOP ON ERROR SWITCH^
|
|
4702
|
|
4703 003167 ADR=ADR+1
|
|
4704 020000 XX=XX+XX
|
|
4705 IFE XX,<XX=1>
|
|
4706
|
|
4707 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4708 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4709 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4710 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4711 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4712 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4713
|
|
4714 020000 F31670: AA1=XX ;INITIAL C(AC)
|
|
4715 033313 200 11 0 00 044015 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4716 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4717 033314 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4718 000000 AEE=0 ;INITIAL C(E)
|
|
4719 033315 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4720 033316 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4721 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4722 033317 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4723 033320 003 11 0 00 031671 ER3 AC,31671 ;HIGH PRODUCT FAILED
|
|
4724 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4725 033321 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4726 033322 004 12 0 00 031672 ER4 AC+1,31672 ;LOW PRODUCT FAILED
|
|
4727 000000 AEE=0 ;INITIAL C(E)
|
|
4728 033323 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4729 033324 005 07 0 00 031673 ER5 E,31673 ;C(E) WAS CLOBBERED
|
|
4730 033325 321 13 0 00 033313 JUMPL AC+2,F31670 ;LOOP ON ERROR SWITCH^
|
|
4731
|
|
4732 003170 ADR=ADR+1
|
|
4733 040000 XX=XX+XX
|
|
4734 IFE XX,<XX=1>
|
|
4735
|
|
4736 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4737 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4738 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4739 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4740 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4741 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4742
|
|
4743 040000 F31700: AA1=XX ;INITIAL C(AC)
|
|
4744 033326 200 11 0 00 044016 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4745 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4746 033327 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-8
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0104
|
|
|
|
4747 000000 AEE=0 ;INITIAL C(E)
|
|
4748 033330 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4749 033331 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4750 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4751 033332 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4752 033333 003 11 0 00 031701 ER3 AC,31701 ;HIGH PRODUCT FAILED
|
|
4753 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4754 033334 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4755 033335 004 12 0 00 031702 ER4 AC+1,31702 ;LOW PRODUCT FAILED
|
|
4756 000000 AEE=0 ;INITIAL C(E)
|
|
4757 033336 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4758 033337 005 07 0 00 031703 ER5 E,31703 ;C(E) WAS CLOBBERED
|
|
4759 033340 321 13 0 00 033326 JUMPL AC+2,F31700 ;LOOP ON ERROR SWITCH^
|
|
4760
|
|
4761 003171 ADR=ADR+1
|
|
4762 100000 XX=XX+XX
|
|
4763 IFE XX,<XX=1>
|
|
4764
|
|
4765 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4766 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4767 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4768 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4769 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4770 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4771
|
|
4772 100000 F31710: AA1=XX ;INITIAL C(AC)
|
|
4773 033341 200 11 0 00 044017 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4774 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4775 033342 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4776 000000 AEE=0 ;INITIAL C(E)
|
|
4777 033343 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4778 033344 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4779 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4780 033345 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4781 033346 003 11 0 00 031711 ER3 AC,31711 ;HIGH PRODUCT FAILED
|
|
4782 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4783 033347 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4784 033350 004 12 0 00 031712 ER4 AC+1,31712 ;LOW PRODUCT FAILED
|
|
4785 000000 AEE=0 ;INITIAL C(E)
|
|
4786 033351 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4787 033352 005 07 0 00 031713 ER5 E,31713 ;C(E) WAS CLOBBERED
|
|
4788 033353 321 13 0 00 033341 JUMPL AC+2,F31710 ;LOOP ON ERROR SWITCH^
|
|
4789
|
|
4790 003172 ADR=ADR+1
|
|
4791 200000 XX=XX+XX
|
|
4792 IFE XX,<XX=1>
|
|
4793
|
|
4794 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4795 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4796 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4797 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4798 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4799 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4800
|
|
4801 200000 F31720: AA1=XX ;INITIAL C(AC)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-9
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0105
|
|
|
|
4802 033354 200 11 0 00 044020 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4803 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4804 033355 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4805 000000 AEE=0 ;INITIAL C(E)
|
|
4806 033356 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4807 033357 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4808 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4809 033360 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4810 033361 003 11 0 00 031721 ER3 AC,31721 ;HIGH PRODUCT FAILED
|
|
4811 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4812 033362 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4813 033363 004 12 0 00 031722 ER4 AC+1,31722 ;LOW PRODUCT FAILED
|
|
4814 000000 AEE=0 ;INITIAL C(E)
|
|
4815 033364 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4816 033365 005 07 0 00 031723 ER5 E,31723 ;C(E) WAS CLOBBERED
|
|
4817 033366 321 13 0 00 033354 JUMPL AC+2,F31720 ;LOOP ON ERROR SWITCH^
|
|
4818
|
|
4819 003173 ADR=ADR+1
|
|
4820 400000 XX=XX+XX
|
|
4821 IFE XX,<XX=1>
|
|
4822
|
|
4823 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4824 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4825 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4826 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4827 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4828 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4829
|
|
4830 400000 F31730: AA1=XX ;INITIAL C(AC)
|
|
4831 033367 200 11 0 00 044021 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4832 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4833 033370 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4834 000000 AEE=0 ;INITIAL C(E)
|
|
4835 033371 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4836 033372 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4837 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4838 033373 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4839 033374 003 11 0 00 031731 ER3 AC,31731 ;HIGH PRODUCT FAILED
|
|
4840 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4841 033375 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4842 033376 004 12 0 00 031732 ER4 AC+1,31732 ;LOW PRODUCT FAILED
|
|
4843 000000 AEE=0 ;INITIAL C(E)
|
|
4844 033377 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4845 033400 005 07 0 00 031733 ER5 E,31733 ;C(E) WAS CLOBBERED
|
|
4846 033401 321 13 0 00 033367 JUMPL AC+2,F31730 ;LOOP ON ERROR SWITCH^
|
|
4847
|
|
4848 003174 ADR=ADR+1
|
|
4849 000001 000000 XX=XX+XX
|
|
4850 IFE XX,<XX=1>
|
|
4851
|
|
4852 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4853 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4854 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4855 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4856 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-10
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0106
|
|
|
|
4857 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4858
|
|
4859 000001 000000 F31740: AA1=XX ;INITIAL C(AC)
|
|
4860 033402 200 11 0 00 044022 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4861 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4862 033403 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4863 000000 AEE=0 ;INITIAL C(E)
|
|
4864 033404 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4865 033405 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4866 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4867 033406 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4868 033407 003 11 0 00 031741 ER3 AC,31741 ;HIGH PRODUCT FAILED
|
|
4869 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4870 033410 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4871 033411 004 12 0 00 031742 ER4 AC+1,31742 ;LOW PRODUCT FAILED
|
|
4872 000000 AEE=0 ;INITIAL C(E)
|
|
4873 033412 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4874 033413 005 07 0 00 031743 ER5 E,31743 ;C(E) WAS CLOBBERED
|
|
4875 033414 321 13 0 00 033402 JUMPL AC+2,F31740 ;LOOP ON ERROR SWITCH^
|
|
4876
|
|
4877 003175 ADR=ADR+1
|
|
4878 000002 000000 XX=XX+XX
|
|
4879 IFE XX,<XX=1>
|
|
4880
|
|
4881 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4882 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4883 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4884 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4885 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4886 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4887
|
|
4888 000002 000000 F31750: AA1=XX ;INITIAL C(AC)
|
|
4889 033415 200 11 0 00 044023 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4890 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4891 033416 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4892 000000 AEE=0 ;INITIAL C(E)
|
|
4893 033417 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4894 033420 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4895 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4896 033421 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4897 033422 003 11 0 00 031751 ER3 AC,31751 ;HIGH PRODUCT FAILED
|
|
4898 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4899 033423 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4900 033424 004 12 0 00 031752 ER4 AC+1,31752 ;LOW PRODUCT FAILED
|
|
4901 000000 AEE=0 ;INITIAL C(E)
|
|
4902 033425 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4903 033426 005 07 0 00 031753 ER5 E,31753 ;C(E) WAS CLOBBERED
|
|
4904 033427 321 13 0 00 033415 JUMPL AC+2,F31750 ;LOOP ON ERROR SWITCH^
|
|
4905
|
|
4906 003176 ADR=ADR+1
|
|
4907 000004 000000 XX=XX+XX
|
|
4908 IFE XX,<XX=1>
|
|
4909
|
|
4910 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4911 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-11
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0107
|
|
|
|
4912 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4913 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4914 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4915 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4916
|
|
4917 000004 000000 F31760: AA1=XX ;INITIAL C(AC)
|
|
4918 033430 200 11 0 00 044024 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4919 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4920 033431 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4921 000000 AEE=0 ;INITIAL C(E)
|
|
4922 033432 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4923 033433 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4924 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4925 033434 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4926 033435 003 11 0 00 031761 ER3 AC,31761 ;HIGH PRODUCT FAILED
|
|
4927 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4928 033436 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4929 033437 004 12 0 00 031762 ER4 AC+1,31762 ;LOW PRODUCT FAILED
|
|
4930 000000 AEE=0 ;INITIAL C(E)
|
|
4931 033440 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4932 033441 005 07 0 00 031763 ER5 E,31763 ;C(E) WAS CLOBBERED
|
|
4933 033442 321 13 0 00 033430 JUMPL AC+2,F31760 ;LOOP ON ERROR SWITCH^
|
|
4934
|
|
4935 003177 ADR=ADR+1
|
|
4936 000010 000000 XX=XX+XX
|
|
4937 IFE XX,<XX=1>
|
|
4938
|
|
4939 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4940 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4941 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4942 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4943 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4944 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4945
|
|
4946 000010 000000 F31770: AA1=XX ;INITIAL C(AC)
|
|
4947 033443 200 11 0 00 044025 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4948 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4949 033444 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4950 000000 AEE=0 ;INITIAL C(E)
|
|
4951 033445 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4952 033446 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4953 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4954 033447 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4955 033450 003 11 0 00 031771 ER3 AC,31771 ;HIGH PRODUCT FAILED
|
|
4956 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4957 033451 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4958 033452 004 12 0 00 031772 ER4 AC+1,31772 ;LOW PRODUCT FAILED
|
|
4959 000000 AEE=0 ;INITIAL C(E)
|
|
4960 033453 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4961 033454 005 07 0 00 031773 ER5 E,31773 ;C(E) WAS CLOBBERED
|
|
4962 033455 321 13 0 00 033443 JUMPL AC+2,F31770 ;LOOP ON ERROR SWITCH^
|
|
4963
|
|
4964 003200 ADR=ADR+1
|
|
4965 000020 000000 XX=XX+XX
|
|
4966 IFE XX,<XX=1>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-12
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0108
|
|
|
|
4967
|
|
4968 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4969 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4970 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4971 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4972 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
4973 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4974
|
|
4975 000020 000000 F32000: AA1=XX ;INITIAL C(AC)
|
|
4976 033456 200 11 0 00 044026 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4977 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4978 033457 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4979 000000 AEE=0 ;INITIAL C(E)
|
|
4980 033460 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
4981 033461 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4982 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
4983 033462 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
4984 033463 003 11 0 00 032001 ER3 AC,32001 ;HIGH PRODUCT FAILED
|
|
4985 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
4986 033464 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
4987 033465 004 12 0 00 032002 ER4 AC+1,32002 ;LOW PRODUCT FAILED
|
|
4988 000000 AEE=0 ;INITIAL C(E)
|
|
4989 033466 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
4990 033467 005 07 0 00 032003 ER5 E,32003 ;C(E) WAS CLOBBERED
|
|
4991 033470 321 13 0 00 033456 JUMPL AC+2,F32000 ;LOOP ON ERROR SWITCH^
|
|
4992
|
|
4993 003201 ADR=ADR+1
|
|
4994 000040 000000 XX=XX+XX
|
|
4995 IFE XX,<XX=1>
|
|
4996
|
|
4997 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
4998 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
4999 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5000 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5001 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5002 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5003
|
|
5004 000040 000000 F32010: AA1=XX ;INITIAL C(AC)
|
|
5005 033471 200 11 0 00 044027 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5006 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5007 033472 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5008 000000 AEE=0 ;INITIAL C(E)
|
|
5009 033473 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5010 033474 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5011 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5012 033475 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5013 033476 003 11 0 00 032011 ER3 AC,32011 ;HIGH PRODUCT FAILED
|
|
5014 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5015 033477 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5016 033500 004 12 0 00 032012 ER4 AC+1,32012 ;LOW PRODUCT FAILED
|
|
5017 000000 AEE=0 ;INITIAL C(E)
|
|
5018 033501 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5019 033502 005 07 0 00 032013 ER5 E,32013 ;C(E) WAS CLOBBERED
|
|
5020 033503 321 13 0 00 033471 JUMPL AC+2,F32010 ;LOOP ON ERROR SWITCH^
|
|
5021
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-13
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0109
|
|
|
|
5022 003202 ADR=ADR+1
|
|
5023 000100 000000 XX=XX+XX
|
|
5024 IFE XX,<XX=1>
|
|
5025
|
|
5026 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
5027 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5028 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5029 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5030 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5031 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5032
|
|
5033 000100 000000 F32020: AA1=XX ;INITIAL C(AC)
|
|
5034 033504 200 11 0 00 044030 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5035 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5036 033505 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5037 000000 AEE=0 ;INITIAL C(E)
|
|
5038 033506 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5039 033507 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5040 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5041 033510 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5042 033511 003 11 0 00 032021 ER3 AC,32021 ;HIGH PRODUCT FAILED
|
|
5043 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5044 033512 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5045 033513 004 12 0 00 032022 ER4 AC+1,32022 ;LOW PRODUCT FAILED
|
|
5046 000000 AEE=0 ;INITIAL C(E)
|
|
5047 033514 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5048 033515 005 07 0 00 032023 ER5 E,32023 ;C(E) WAS CLOBBERED
|
|
5049 033516 321 13 0 00 033504 JUMPL AC+2,F32020 ;LOOP ON ERROR SWITCH^
|
|
5050
|
|
5051 003203 ADR=ADR+1
|
|
5052 000200 000000 XX=XX+XX
|
|
5053 IFE XX,<XX=1>
|
|
5054
|
|
5055 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
5056 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5057 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5058 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5059 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5060 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5061
|
|
5062 000200 000000 F32030: AA1=XX ;INITIAL C(AC)
|
|
5063 033517 200 11 0 00 044031 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5064 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5065 033520 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5066 000000 AEE=0 ;INITIAL C(E)
|
|
5067 033521 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5068 033522 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5069 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5070 033523 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5071 033524 003 11 0 00 032031 ER3 AC,32031 ;HIGH PRODUCT FAILED
|
|
5072 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5073 033525 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5074 033526 004 12 0 00 032032 ER4 AC+1,32032 ;LOW PRODUCT FAILED
|
|
5075 000000 AEE=0 ;INITIAL C(E)
|
|
5076 033527 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-14
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0110
|
|
|
|
5077 033530 005 07 0 00 032033 ER5 E,32033 ;C(E) WAS CLOBBERED
|
|
5078 033531 321 13 0 00 033517 JUMPL AC+2,F32030 ;LOOP ON ERROR SWITCH^
|
|
5079
|
|
5080 003204 ADR=ADR+1
|
|
5081 000400 000000 XX=XX+XX
|
|
5082 IFE XX,<XX=1>
|
|
5083
|
|
5084 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
5085 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5086 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5087 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5088 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5089 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5090
|
|
5091 000400 000000 F32040: AA1=XX ;INITIAL C(AC)
|
|
5092 033532 200 11 0 00 044032 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5093 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5094 033533 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5095 000000 AEE=0 ;INITIAL C(E)
|
|
5096 033534 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5097 033535 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5098 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5099 033536 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5100 033537 003 11 0 00 032041 ER3 AC,32041 ;HIGH PRODUCT FAILED
|
|
5101 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5102 033540 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5103 033541 004 12 0 00 032042 ER4 AC+1,32042 ;LOW PRODUCT FAILED
|
|
5104 000000 AEE=0 ;INITIAL C(E)
|
|
5105 033542 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5106 033543 005 07 0 00 032043 ER5 E,32043 ;C(E) WAS CLOBBERED
|
|
5107 033544 321 13 0 00 033532 JUMPL AC+2,F32040 ;LOOP ON ERROR SWITCH^
|
|
5108
|
|
5109 003205 ADR=ADR+1
|
|
5110 001000 000000 XX=XX+XX
|
|
5111 IFE XX,<XX=1>
|
|
5112
|
|
5113 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
5114 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5115 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5116 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5117 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5118 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5119
|
|
5120 001000 000000 F32050: AA1=XX ;INITIAL C(AC)
|
|
5121 033545 200 11 0 00 044033 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5122 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5123 033546 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5124 000000 AEE=0 ;INITIAL C(E)
|
|
5125 033547 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5126 033550 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5127 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5128 033551 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5129 033552 003 11 0 00 032051 ER3 AC,32051 ;HIGH PRODUCT FAILED
|
|
5130 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5131 033553 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-15
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0111
|
|
|
|
5132 033554 004 12 0 00 032052 ER4 AC+1,32052 ;LOW PRODUCT FAILED
|
|
5133 000000 AEE=0 ;INITIAL C(E)
|
|
5134 033555 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5135 033556 005 07 0 00 032053 ER5 E,32053 ;C(E) WAS CLOBBERED
|
|
5136 033557 321 13 0 00 033545 JUMPL AC+2,F32050 ;LOOP ON ERROR SWITCH^
|
|
5137
|
|
5138 003206 ADR=ADR+1
|
|
5139 002000 000000 XX=XX+XX
|
|
5140 IFE XX,<XX=1>
|
|
5141
|
|
5142 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
5143 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5144 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5145 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5146 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5147 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5148
|
|
5149 002000 000000 F32060: AA1=XX ;INITIAL C(AC)
|
|
5150 033560 200 11 0 00 044034 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5151 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5152 033561 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5153 000000 AEE=0 ;INITIAL C(E)
|
|
5154 033562 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5155 033563 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5156 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5157 033564 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5158 033565 003 11 0 00 032061 ER3 AC,32061 ;HIGH PRODUCT FAILED
|
|
5159 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5160 033566 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5161 033567 004 12 0 00 032062 ER4 AC+1,32062 ;LOW PRODUCT FAILED
|
|
5162 000000 AEE=0 ;INITIAL C(E)
|
|
5163 033570 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5164 033571 005 07 0 00 032063 ER5 E,32063 ;C(E) WAS CLOBBERED
|
|
5165 033572 321 13 0 00 033560 JUMPL AC+2,F32060 ;LOOP ON ERROR SWITCH^
|
|
5166
|
|
5167 003207 ADR=ADR+1
|
|
5168 004000 000000 XX=XX+XX
|
|
5169 IFE XX,<XX=1>
|
|
5170
|
|
5171 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
5172 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5173 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5174 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5175 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5176 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5177
|
|
5178 004000 000000 F32070: AA1=XX ;INITIAL C(AC)
|
|
5179 033573 200 11 0 00 044035 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5180 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5181 033574 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5182 000000 AEE=0 ;INITIAL C(E)
|
|
5183 033575 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5184 033576 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5185 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5186 033577 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-16
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0112
|
|
|
|
5187 033600 003 11 0 00 032071 ER3 AC,32071 ;HIGH PRODUCT FAILED
|
|
5188 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5189 033601 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5190 033602 004 12 0 00 032072 ER4 AC+1,32072 ;LOW PRODUCT FAILED
|
|
5191 000000 AEE=0 ;INITIAL C(E)
|
|
5192 033603 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5193 033604 005 07 0 00 032073 ER5 E,32073 ;C(E) WAS CLOBBERED
|
|
5194 033605 321 13 0 00 033573 JUMPL AC+2,F32070 ;LOOP ON ERROR SWITCH^
|
|
5195
|
|
5196 003210 ADR=ADR+1
|
|
5197 010000 000000 XX=XX+XX
|
|
5198 IFE XX,<XX=1>
|
|
5199
|
|
5200 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
5201 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5202 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5203 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5204 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5205 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5206
|
|
5207 010000 000000 F32100: AA1=XX ;INITIAL C(AC)
|
|
5208 033606 200 11 0 00 044036 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5209 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5210 033607 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5211 000000 AEE=0 ;INITIAL C(E)
|
|
5212 033610 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5213 033611 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5214 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5215 033612 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5216 033613 003 11 0 00 032101 ER3 AC,32101 ;HIGH PRODUCT FAILED
|
|
5217 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5218 033614 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5219 033615 004 12 0 00 032102 ER4 AC+1,32102 ;LOW PRODUCT FAILED
|
|
5220 000000 AEE=0 ;INITIAL C(E)
|
|
5221 033616 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5222 033617 005 07 0 00 032103 ER5 E,32103 ;C(E) WAS CLOBBERED
|
|
5223 033620 321 13 0 00 033606 JUMPL AC+2,F32100 ;LOOP ON ERROR SWITCH^
|
|
5224
|
|
5225 003211 ADR=ADR+1
|
|
5226 020000 000000 XX=XX+XX
|
|
5227 IFE XX,<XX=1>
|
|
5228
|
|
5229 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
5230 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5231 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5232 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5233 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5234 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5235
|
|
5236 020000 000000 F32110: AA1=XX ;INITIAL C(AC)
|
|
5237 033621 200 11 0 00 044037 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5238 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5239 033622 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5240 000000 AEE=0 ;INITIAL C(E)
|
|
5241 033623 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-17
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0113
|
|
|
|
5242 033624 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5243 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5244 033625 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5245 033626 003 11 0 00 032111 ER3 AC,32111 ;HIGH PRODUCT FAILED
|
|
5246 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5247 033627 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5248 033630 004 12 0 00 032112 ER4 AC+1,32112 ;LOW PRODUCT FAILED
|
|
5249 000000 AEE=0 ;INITIAL C(E)
|
|
5250 033631 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5251 033632 005 07 0 00 032113 ER5 E,32113 ;C(E) WAS CLOBBERED
|
|
5252 033633 321 13 0 00 033621 JUMPL AC+2,F32110 ;LOOP ON ERROR SWITCH^
|
|
5253
|
|
5254 003212 ADR=ADR+1
|
|
5255 040000 000000 XX=XX+XX
|
|
5256 IFE XX,<XX=1>
|
|
5257
|
|
5258 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
5259 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5260 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5261 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5262 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5263 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5264
|
|
5265 040000 000000 F32120: AA1=XX ;INITIAL C(AC)
|
|
5266 033634 200 11 0 00 044040 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5267 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5268 033635 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5269 000000 AEE=0 ;INITIAL C(E)
|
|
5270 033636 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5271 033637 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5272 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5273 033640 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5274 033641 003 11 0 00 032121 ER3 AC,32121 ;HIGH PRODUCT FAILED
|
|
5275 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5276 033642 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5277 033643 004 12 0 00 032122 ER4 AC+1,32122 ;LOW PRODUCT FAILED
|
|
5278 000000 AEE=0 ;INITIAL C(E)
|
|
5279 033644 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5280 033645 005 07 0 00 032123 ER5 E,32123 ;C(E) WAS CLOBBERED
|
|
5281 033646 321 13 0 00 033634 JUMPL AC+2,F32120 ;LOOP ON ERROR SWITCH^
|
|
5282
|
|
5283 003213 ADR=ADR+1
|
|
5284 100000 000000 XX=XX+XX
|
|
5285 IFE XX,<XX=1>
|
|
5286
|
|
5287 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
5288 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5289 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5290 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5291 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5292 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5293
|
|
5294 100000 000000 F32130: AA1=XX ;INITIAL C(AC)
|
|
5295 033647 200 11 0 00 044041 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5296 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-18
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0114
|
|
|
|
5297 033650 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5298 000000 AEE=0 ;INITIAL C(E)
|
|
5299 033651 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5300 033652 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5301 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5302 033653 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5303 033654 003 11 0 00 032131 ER3 AC,32131 ;HIGH PRODUCT FAILED
|
|
5304 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5305 033655 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5306 033656 004 12 0 00 032132 ER4 AC+1,32132 ;LOW PRODUCT FAILED
|
|
5307 000000 AEE=0 ;INITIAL C(E)
|
|
5308 033657 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5309 033660 005 07 0 00 032133 ER5 E,32133 ;C(E) WAS CLOBBERED
|
|
5310 033661 321 13 0 00 033647 JUMPL AC+2,F32130 ;LOOP ON ERROR SWITCH^
|
|
5311
|
|
5312 003214 ADR=ADR+1
|
|
5313 200000 000000 XX=XX+XX
|
|
5314 IFE XX,<XX=1>
|
|
5315
|
|
5316 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
5317 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5318 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5319 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5320 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5321 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5322
|
|
5323 200000 000000 F32140: AA1=XX ;INITIAL C(AC)
|
|
5324 033662 200 11 0 00 044042 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5325 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5326 033663 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5327 000000 AEE=0 ;INITIAL C(E)
|
|
5328 033664 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5329 033665 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5330 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5331 033666 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5332 033667 003 11 0 00 032141 ER3 AC,32141 ;HIGH PRODUCT FAILED
|
|
5333 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5334 033670 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5335 033671 004 12 0 00 032142 ER4 AC+1,32142 ;LOW PRODUCT FAILED
|
|
5336 000000 AEE=0 ;INITIAL C(E)
|
|
5337 033672 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5338 033673 005 07 0 00 032143 ER5 E,32143 ;C(E) WAS CLOBBERED
|
|
5339 033674 321 13 0 00 033662 JUMPL AC+2,F32140 ;LOOP ON ERROR SWITCH^
|
|
5340
|
|
5341 003215 ADR=ADR+1
|
|
5342 400000 000000 XX=XX+XX
|
|
5343 IFE XX,<XX=1>
|
|
5344
|
|
5345 ;MULTIPLY 0 BY RIPPLED 1 TO GET PRODUCT OF ZERO
|
|
5346 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5347 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5348 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5349 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5350 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5351
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 7-19
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0115
|
|
|
|
5352 400000 000000 F32150: AA1=XX ;INITIAL C(AC)
|
|
5353 033675 200 11 0 00 044043 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5354 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5355 033676 200 12 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5356 000000 AEE=0 ;INITIAL C(E)
|
|
5357 033677 200 07 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5358 033700 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5359 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5360 033701 312 11 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5361 033702 003 11 0 00 032151 ER3 AC,32151 ;HIGH PRODUCT FAILED
|
|
5362 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5363 033703 312 12 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5364 033704 004 12 0 00 032152 ER4 AC+1,32152 ;LOW PRODUCT FAILED
|
|
5365 000000 AEE=0 ;INITIAL C(E)
|
|
5366 033705 312 07 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5367 033706 005 07 0 00 032153 ER5 E,32153 ;C(E) WAS CLOBBERED
|
|
5368 033707 321 13 0 00 033675 JUMPL AC+2,F32150 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0116
|
|
|
|
5369 000010 AC=10
|
|
5370 000006 E=<AC-2>&17
|
|
5371 SAVEAC (1,1)^
|
|
5372 033710 201 12 0 00 033710 MOVEI AC+2,. ;SAVE TEST PC
|
|
5373 033711 202 12 0 00 030051 MOVEM AC+2,TESTPC
|
|
5374 033712 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
5375 033713 202 12 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
5376 000000 XX=0
|
|
5377
|
|
5378 REPEAT ^D36,<
|
|
5379 ADR=ADR+1
|
|
5380 XX=XX+XX+1
|
|
5381 IFE <XX-1>,<XX=-2>
|
|
5382
|
|
5383 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5384 MOP1 (\ADR,XX,-1,0,0,0)>
|
|
5385
|
|
5386 003216 ADR=ADR+1
|
|
5387 000001 XX=XX+XX+1
|
|
5388 777777 777776 IFE <XX-1>,<XX=-2>
|
|
5389
|
|
5390 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5391 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5392 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5393 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5394 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5395 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5396
|
|
5397 777777 777776 F32160: AA1=XX ;INITIAL C(AC)
|
|
5398 033714 200 10 0 00 044044 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5399 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5400 033715 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5401 000000 AEE=0 ;INITIAL C(E)
|
|
5402 033716 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5403 033717 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5404 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5405 033720 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5406 033721 003 10 0 00 032161 ER3 AC,32161 ;HIGH PRODUCT FAILED
|
|
5407 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5408 033722 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5409 033723 004 11 0 00 032162 ER4 AC+1,32162 ;LOW PRODUCT FAILED
|
|
5410 000000 AEE=0 ;INITIAL C(E)
|
|
5411 033724 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5412 033725 005 06 0 00 032163 ER5 E,32163 ;C(E) WAS CLOBBERED
|
|
5413 033726 321 12 0 00 033714 JUMPL AC+2,F32160 ;LOOP ON ERROR SWITCH^
|
|
5414
|
|
5415 003217 ADR=ADR+1
|
|
5416 777777 777775 XX=XX+XX+1
|
|
5417 IFE <XX-1>,<XX=-2>
|
|
5418
|
|
5419 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5420 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5421 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5422 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5423 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-1
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0117
|
|
|
|
5424 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5425
|
|
5426 777777 777775 F32170: AA1=XX ;INITIAL C(AC)
|
|
5427 033727 200 10 0 00 044045 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5428 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5429 033730 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5430 000000 AEE=0 ;INITIAL C(E)
|
|
5431 033731 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5432 033732 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5433 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5434 033733 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5435 033734 003 10 0 00 032171 ER3 AC,32171 ;HIGH PRODUCT FAILED
|
|
5436 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5437 033735 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5438 033736 004 11 0 00 032172 ER4 AC+1,32172 ;LOW PRODUCT FAILED
|
|
5439 000000 AEE=0 ;INITIAL C(E)
|
|
5440 033737 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5441 033740 005 06 0 00 032173 ER5 E,32173 ;C(E) WAS CLOBBERED
|
|
5442 033741 321 12 0 00 033727 JUMPL AC+2,F32170 ;LOOP ON ERROR SWITCH^
|
|
5443
|
|
5444 003220 ADR=ADR+1
|
|
5445 777777 777773 XX=XX+XX+1
|
|
5446 IFE <XX-1>,<XX=-2>
|
|
5447
|
|
5448 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5449 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5450 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5451 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5452 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5453 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5454
|
|
5455 777777 777773 F32200: AA1=XX ;INITIAL C(AC)
|
|
5456 033742 200 10 0 00 044046 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5457 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5458 033743 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5459 000000 AEE=0 ;INITIAL C(E)
|
|
5460 033744 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5461 033745 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5462 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5463 033746 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5464 033747 003 10 0 00 032201 ER3 AC,32201 ;HIGH PRODUCT FAILED
|
|
5465 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5466 033750 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5467 033751 004 11 0 00 032202 ER4 AC+1,32202 ;LOW PRODUCT FAILED
|
|
5468 000000 AEE=0 ;INITIAL C(E)
|
|
5469 033752 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5470 033753 005 06 0 00 032203 ER5 E,32203 ;C(E) WAS CLOBBERED
|
|
5471 033754 321 12 0 00 033742 JUMPL AC+2,F32200 ;LOOP ON ERROR SWITCH^
|
|
5472
|
|
5473 003221 ADR=ADR+1
|
|
5474 777777 777767 XX=XX+XX+1
|
|
5475 IFE <XX-1>,<XX=-2>
|
|
5476
|
|
5477 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5478 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-2
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0118
|
|
|
|
5479 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5480 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5481 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5482 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5483
|
|
5484 777777 777767 F32210: AA1=XX ;INITIAL C(AC)
|
|
5485 033755 200 10 0 00 044047 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5486 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5487 033756 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5488 000000 AEE=0 ;INITIAL C(E)
|
|
5489 033757 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5490 033760 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5491 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5492 033761 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5493 033762 003 10 0 00 032211 ER3 AC,32211 ;HIGH PRODUCT FAILED
|
|
5494 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5495 033763 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5496 033764 004 11 0 00 032212 ER4 AC+1,32212 ;LOW PRODUCT FAILED
|
|
5497 000000 AEE=0 ;INITIAL C(E)
|
|
5498 033765 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5499 033766 005 06 0 00 032213 ER5 E,32213 ;C(E) WAS CLOBBERED
|
|
5500 033767 321 12 0 00 033755 JUMPL AC+2,F32210 ;LOOP ON ERROR SWITCH^
|
|
5501
|
|
5502 003222 ADR=ADR+1
|
|
5503 777777 777757 XX=XX+XX+1
|
|
5504 IFE <XX-1>,<XX=-2>
|
|
5505
|
|
5506 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5507 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5508 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5509 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5510 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5511 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5512
|
|
5513 777777 777757 F32220: AA1=XX ;INITIAL C(AC)
|
|
5514 033770 200 10 0 00 044050 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5515 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5516 033771 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5517 000000 AEE=0 ;INITIAL C(E)
|
|
5518 033772 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5519 033773 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5520 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5521 033774 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5522 033775 003 10 0 00 032221 ER3 AC,32221 ;HIGH PRODUCT FAILED
|
|
5523 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5524 033776 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5525 033777 004 11 0 00 032222 ER4 AC+1,32222 ;LOW PRODUCT FAILED
|
|
5526 000000 AEE=0 ;INITIAL C(E)
|
|
5527 034000 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5528 034001 005 06 0 00 032223 ER5 E,32223 ;C(E) WAS CLOBBERED
|
|
5529 034002 321 12 0 00 033770 JUMPL AC+2,F32220 ;LOOP ON ERROR SWITCH^
|
|
5530
|
|
5531 003223 ADR=ADR+1
|
|
5532 777777 777737 XX=XX+XX+1
|
|
5533 IFE <XX-1>,<XX=-2>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-3
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0119
|
|
|
|
5534
|
|
5535 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5536 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5537 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5538 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5539 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5540 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5541
|
|
5542 777777 777737 F32230: AA1=XX ;INITIAL C(AC)
|
|
5543 034003 200 10 0 00 044051 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5544 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5545 034004 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5546 000000 AEE=0 ;INITIAL C(E)
|
|
5547 034005 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5548 034006 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5549 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5550 034007 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5551 034010 003 10 0 00 032231 ER3 AC,32231 ;HIGH PRODUCT FAILED
|
|
5552 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5553 034011 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5554 034012 004 11 0 00 032232 ER4 AC+1,32232 ;LOW PRODUCT FAILED
|
|
5555 000000 AEE=0 ;INITIAL C(E)
|
|
5556 034013 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5557 034014 005 06 0 00 032233 ER5 E,32233 ;C(E) WAS CLOBBERED
|
|
5558 034015 321 12 0 00 034003 JUMPL AC+2,F32230 ;LOOP ON ERROR SWITCH^
|
|
5559
|
|
5560 003224 ADR=ADR+1
|
|
5561 777777 777677 XX=XX+XX+1
|
|
5562 IFE <XX-1>,<XX=-2>
|
|
5563
|
|
5564 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5565 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5566 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5567 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5568 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5569 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5570
|
|
5571 777777 777677 F32240: AA1=XX ;INITIAL C(AC)
|
|
5572 034016 200 10 0 00 044052 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5573 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5574 034017 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5575 000000 AEE=0 ;INITIAL C(E)
|
|
5576 034020 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5577 034021 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5578 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5579 034022 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5580 034023 003 10 0 00 032241 ER3 AC,32241 ;HIGH PRODUCT FAILED
|
|
5581 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5582 034024 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5583 034025 004 11 0 00 032242 ER4 AC+1,32242 ;LOW PRODUCT FAILED
|
|
5584 000000 AEE=0 ;INITIAL C(E)
|
|
5585 034026 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5586 034027 005 06 0 00 032243 ER5 E,32243 ;C(E) WAS CLOBBERED
|
|
5587 034030 321 12 0 00 034016 JUMPL AC+2,F32240 ;LOOP ON ERROR SWITCH^
|
|
5588
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-4
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0120
|
|
|
|
5589 003225 ADR=ADR+1
|
|
5590 777777 777577 XX=XX+XX+1
|
|
5591 IFE <XX-1>,<XX=-2>
|
|
5592
|
|
5593 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5594 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5595 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5596 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5597 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5598 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5599
|
|
5600 777777 777577 F32250: AA1=XX ;INITIAL C(AC)
|
|
5601 034031 200 10 0 00 044053 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5602 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5603 034032 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5604 000000 AEE=0 ;INITIAL C(E)
|
|
5605 034033 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5606 034034 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5607 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5608 034035 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5609 034036 003 10 0 00 032251 ER3 AC,32251 ;HIGH PRODUCT FAILED
|
|
5610 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5611 034037 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5612 034040 004 11 0 00 032252 ER4 AC+1,32252 ;LOW PRODUCT FAILED
|
|
5613 000000 AEE=0 ;INITIAL C(E)
|
|
5614 034041 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5615 034042 005 06 0 00 032253 ER5 E,32253 ;C(E) WAS CLOBBERED
|
|
5616 034043 321 12 0 00 034031 JUMPL AC+2,F32250 ;LOOP ON ERROR SWITCH^
|
|
5617
|
|
5618 003226 ADR=ADR+1
|
|
5619 777777 777377 XX=XX+XX+1
|
|
5620 IFE <XX-1>,<XX=-2>
|
|
5621
|
|
5622 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5623 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5624 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5625 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5626 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5627 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5628
|
|
5629 777777 777377 F32260: AA1=XX ;INITIAL C(AC)
|
|
5630 034044 200 10 0 00 044054 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5631 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5632 034045 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5633 000000 AEE=0 ;INITIAL C(E)
|
|
5634 034046 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5635 034047 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5636 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5637 034050 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5638 034051 003 10 0 00 032261 ER3 AC,32261 ;HIGH PRODUCT FAILED
|
|
5639 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5640 034052 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5641 034053 004 11 0 00 032262 ER4 AC+1,32262 ;LOW PRODUCT FAILED
|
|
5642 000000 AEE=0 ;INITIAL C(E)
|
|
5643 034054 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-5
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0121
|
|
|
|
5644 034055 005 06 0 00 032263 ER5 E,32263 ;C(E) WAS CLOBBERED
|
|
5645 034056 321 12 0 00 034044 JUMPL AC+2,F32260 ;LOOP ON ERROR SWITCH^
|
|
5646
|
|
5647 003227 ADR=ADR+1
|
|
5648 777777 776777 XX=XX+XX+1
|
|
5649 IFE <XX-1>,<XX=-2>
|
|
5650
|
|
5651 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5652 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5653 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5654 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5655 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5656 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5657
|
|
5658 777777 776777 F32270: AA1=XX ;INITIAL C(AC)
|
|
5659 034057 200 10 0 00 044055 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5660 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5661 034060 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5662 000000 AEE=0 ;INITIAL C(E)
|
|
5663 034061 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5664 034062 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5665 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5666 034063 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5667 034064 003 10 0 00 032271 ER3 AC,32271 ;HIGH PRODUCT FAILED
|
|
5668 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5669 034065 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5670 034066 004 11 0 00 032272 ER4 AC+1,32272 ;LOW PRODUCT FAILED
|
|
5671 000000 AEE=0 ;INITIAL C(E)
|
|
5672 034067 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5673 034070 005 06 0 00 032273 ER5 E,32273 ;C(E) WAS CLOBBERED
|
|
5674 034071 321 12 0 00 034057 JUMPL AC+2,F32270 ;LOOP ON ERROR SWITCH^
|
|
5675
|
|
5676 003230 ADR=ADR+1
|
|
5677 777777 775777 XX=XX+XX+1
|
|
5678 IFE <XX-1>,<XX=-2>
|
|
5679
|
|
5680 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5681 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5682 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5683 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5684 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5685 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5686
|
|
5687 777777 775777 F32300: AA1=XX ;INITIAL C(AC)
|
|
5688 034072 200 10 0 00 044056 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5689 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5690 034073 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5691 000000 AEE=0 ;INITIAL C(E)
|
|
5692 034074 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5693 034075 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5694 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5695 034076 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5696 034077 003 10 0 00 032301 ER3 AC,32301 ;HIGH PRODUCT FAILED
|
|
5697 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5698 034100 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-6
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0122
|
|
|
|
5699 034101 004 11 0 00 032302 ER4 AC+1,32302 ;LOW PRODUCT FAILED
|
|
5700 000000 AEE=0 ;INITIAL C(E)
|
|
5701 034102 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5702 034103 005 06 0 00 032303 ER5 E,32303 ;C(E) WAS CLOBBERED
|
|
5703 034104 321 12 0 00 034072 JUMPL AC+2,F32300 ;LOOP ON ERROR SWITCH^
|
|
5704
|
|
5705 003231 ADR=ADR+1
|
|
5706 777777 773777 XX=XX+XX+1
|
|
5707 IFE <XX-1>,<XX=-2>
|
|
5708
|
|
5709 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5710 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5711 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5712 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5713 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5714 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5715
|
|
5716 777777 773777 F32310: AA1=XX ;INITIAL C(AC)
|
|
5717 034105 200 10 0 00 044057 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5718 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5719 034106 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5720 000000 AEE=0 ;INITIAL C(E)
|
|
5721 034107 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5722 034110 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5723 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5724 034111 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5725 034112 003 10 0 00 032311 ER3 AC,32311 ;HIGH PRODUCT FAILED
|
|
5726 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5727 034113 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5728 034114 004 11 0 00 032312 ER4 AC+1,32312 ;LOW PRODUCT FAILED
|
|
5729 000000 AEE=0 ;INITIAL C(E)
|
|
5730 034115 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5731 034116 005 06 0 00 032313 ER5 E,32313 ;C(E) WAS CLOBBERED
|
|
5732 034117 321 12 0 00 034105 JUMPL AC+2,F32310 ;LOOP ON ERROR SWITCH^
|
|
5733
|
|
5734 003232 ADR=ADR+1
|
|
5735 777777 767777 XX=XX+XX+1
|
|
5736 IFE <XX-1>,<XX=-2>
|
|
5737
|
|
5738 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5739 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5740 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5741 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5742 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5743 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5744
|
|
5745 777777 767777 F32320: AA1=XX ;INITIAL C(AC)
|
|
5746 034120 200 10 0 00 044060 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5747 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5748 034121 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5749 000000 AEE=0 ;INITIAL C(E)
|
|
5750 034122 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5751 034123 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5752 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5753 034124 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-7
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0123
|
|
|
|
5754 034125 003 10 0 00 032321 ER3 AC,32321 ;HIGH PRODUCT FAILED
|
|
5755 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5756 034126 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5757 034127 004 11 0 00 032322 ER4 AC+1,32322 ;LOW PRODUCT FAILED
|
|
5758 000000 AEE=0 ;INITIAL C(E)
|
|
5759 034130 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5760 034131 005 06 0 00 032323 ER5 E,32323 ;C(E) WAS CLOBBERED
|
|
5761 034132 321 12 0 00 034120 JUMPL AC+2,F32320 ;LOOP ON ERROR SWITCH^
|
|
5762
|
|
5763 003233 ADR=ADR+1
|
|
5764 777777 757777 XX=XX+XX+1
|
|
5765 IFE <XX-1>,<XX=-2>
|
|
5766
|
|
5767 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5768 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5769 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5770 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5771 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5772 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5773
|
|
5774 777777 757777 F32330: AA1=XX ;INITIAL C(AC)
|
|
5775 034133 200 10 0 00 044061 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5776 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5777 034134 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5778 000000 AEE=0 ;INITIAL C(E)
|
|
5779 034135 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5780 034136 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5781 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5782 034137 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5783 034140 003 10 0 00 032331 ER3 AC,32331 ;HIGH PRODUCT FAILED
|
|
5784 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5785 034141 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5786 034142 004 11 0 00 032332 ER4 AC+1,32332 ;LOW PRODUCT FAILED
|
|
5787 000000 AEE=0 ;INITIAL C(E)
|
|
5788 034143 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5789 034144 005 06 0 00 032333 ER5 E,32333 ;C(E) WAS CLOBBERED
|
|
5790 034145 321 12 0 00 034133 JUMPL AC+2,F32330 ;LOOP ON ERROR SWITCH^
|
|
5791
|
|
5792 003234 ADR=ADR+1
|
|
5793 777777 737777 XX=XX+XX+1
|
|
5794 IFE <XX-1>,<XX=-2>
|
|
5795
|
|
5796 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5797 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5798 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5799 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5800 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5801 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5802
|
|
5803 777777 737777 F32340: AA1=XX ;INITIAL C(AC)
|
|
5804 034146 200 10 0 00 044062 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5805 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5806 034147 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5807 000000 AEE=0 ;INITIAL C(E)
|
|
5808 034150 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-8
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0124
|
|
|
|
5809 034151 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5810 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5811 034152 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5812 034153 003 10 0 00 032341 ER3 AC,32341 ;HIGH PRODUCT FAILED
|
|
5813 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5814 034154 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5815 034155 004 11 0 00 032342 ER4 AC+1,32342 ;LOW PRODUCT FAILED
|
|
5816 000000 AEE=0 ;INITIAL C(E)
|
|
5817 034156 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5818 034157 005 06 0 00 032343 ER5 E,32343 ;C(E) WAS CLOBBERED
|
|
5819 034160 321 12 0 00 034146 JUMPL AC+2,F32340 ;LOOP ON ERROR SWITCH^
|
|
5820
|
|
5821 003235 ADR=ADR+1
|
|
5822 777777 677777 XX=XX+XX+1
|
|
5823 IFE <XX-1>,<XX=-2>
|
|
5824
|
|
5825 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5826 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5827 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5828 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5829 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5830 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5831
|
|
5832 777777 677777 F32350: AA1=XX ;INITIAL C(AC)
|
|
5833 034161 200 10 0 00 044063 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5834 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5835 034162 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5836 000000 AEE=0 ;INITIAL C(E)
|
|
5837 034163 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5838 034164 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5839 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5840 034165 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5841 034166 003 10 0 00 032351 ER3 AC,32351 ;HIGH PRODUCT FAILED
|
|
5842 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5843 034167 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5844 034170 004 11 0 00 032352 ER4 AC+1,32352 ;LOW PRODUCT FAILED
|
|
5845 000000 AEE=0 ;INITIAL C(E)
|
|
5846 034171 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5847 034172 005 06 0 00 032353 ER5 E,32353 ;C(E) WAS CLOBBERED
|
|
5848 034173 321 12 0 00 034161 JUMPL AC+2,F32350 ;LOOP ON ERROR SWITCH^
|
|
5849
|
|
5850 003236 ADR=ADR+1
|
|
5851 777777 577777 XX=XX+XX+1
|
|
5852 IFE <XX-1>,<XX=-2>
|
|
5853
|
|
5854 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5855 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5856 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5857 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5858 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5859 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5860
|
|
5861 777777 577777 F32360: AA1=XX ;INITIAL C(AC)
|
|
5862 034174 200 10 0 00 044064 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5863 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-9
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0125
|
|
|
|
5864 034175 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5865 000000 AEE=0 ;INITIAL C(E)
|
|
5866 034176 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5867 034177 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5868 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5869 034200 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5870 034201 003 10 0 00 032361 ER3 AC,32361 ;HIGH PRODUCT FAILED
|
|
5871 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5872 034202 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5873 034203 004 11 0 00 032362 ER4 AC+1,32362 ;LOW PRODUCT FAILED
|
|
5874 000000 AEE=0 ;INITIAL C(E)
|
|
5875 034204 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5876 034205 005 06 0 00 032363 ER5 E,32363 ;C(E) WAS CLOBBERED
|
|
5877 034206 321 12 0 00 034174 JUMPL AC+2,F32360 ;LOOP ON ERROR SWITCH^
|
|
5878
|
|
5879 003237 ADR=ADR+1
|
|
5880 777777 377777 XX=XX+XX+1
|
|
5881 IFE <XX-1>,<XX=-2>
|
|
5882
|
|
5883 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5884 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5885 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5886 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5887 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5888 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5889
|
|
5890 777777 377777 F32370: AA1=XX ;INITIAL C(AC)
|
|
5891 034207 200 10 0 00 044065 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5892 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5893 034210 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5894 000000 AEE=0 ;INITIAL C(E)
|
|
5895 034211 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5896 034212 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5897 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5898 034213 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5899 034214 003 10 0 00 032371 ER3 AC,32371 ;HIGH PRODUCT FAILED
|
|
5900 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5901 034215 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5902 034216 004 11 0 00 032372 ER4 AC+1,32372 ;LOW PRODUCT FAILED
|
|
5903 000000 AEE=0 ;INITIAL C(E)
|
|
5904 034217 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5905 034220 005 06 0 00 032373 ER5 E,32373 ;C(E) WAS CLOBBERED
|
|
5906 034221 321 12 0 00 034207 JUMPL AC+2,F32370 ;LOOP ON ERROR SWITCH^
|
|
5907
|
|
5908 003240 ADR=ADR+1
|
|
5909 777776 777777 XX=XX+XX+1
|
|
5910 IFE <XX-1>,<XX=-2>
|
|
5911
|
|
5912 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5913 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5914 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5915 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5916 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5917 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5918
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-10
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0126
|
|
|
|
5919 777776 777777 F32400: AA1=XX ;INITIAL C(AC)
|
|
5920 034222 200 10 0 00 044066 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5921 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5922 034223 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5923 000000 AEE=0 ;INITIAL C(E)
|
|
5924 034224 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5925 034225 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5926 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5927 034226 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5928 034227 003 10 0 00 032401 ER3 AC,32401 ;HIGH PRODUCT FAILED
|
|
5929 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5930 034230 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5931 034231 004 11 0 00 032402 ER4 AC+1,32402 ;LOW PRODUCT FAILED
|
|
5932 000000 AEE=0 ;INITIAL C(E)
|
|
5933 034232 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5934 034233 005 06 0 00 032403 ER5 E,32403 ;C(E) WAS CLOBBERED
|
|
5935 034234 321 12 0 00 034222 JUMPL AC+2,F32400 ;LOOP ON ERROR SWITCH^
|
|
5936
|
|
5937 003241 ADR=ADR+1
|
|
5938 777775 777777 XX=XX+XX+1
|
|
5939 IFE <XX-1>,<XX=-2>
|
|
5940
|
|
5941 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5942 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5943 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5944 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5945 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5946 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5947
|
|
5948 777775 777777 F32410: AA1=XX ;INITIAL C(AC)
|
|
5949 034235 200 10 0 00 044067 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5950 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5951 034236 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5952 000000 AEE=0 ;INITIAL C(E)
|
|
5953 034237 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5954 034240 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5955 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5956 034241 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5957 034242 003 10 0 00 032411 ER3 AC,32411 ;HIGH PRODUCT FAILED
|
|
5958 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5959 034243 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5960 034244 004 11 0 00 032412 ER4 AC+1,32412 ;LOW PRODUCT FAILED
|
|
5961 000000 AEE=0 ;INITIAL C(E)
|
|
5962 034245 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5963 034246 005 06 0 00 032413 ER5 E,32413 ;C(E) WAS CLOBBERED
|
|
5964 034247 321 12 0 00 034235 JUMPL AC+2,F32410 ;LOOP ON ERROR SWITCH^
|
|
5965
|
|
5966 003242 ADR=ADR+1
|
|
5967 777773 777777 XX=XX+XX+1
|
|
5968 IFE <XX-1>,<XX=-2>
|
|
5969
|
|
5970 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
5971 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
5972 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5973 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-11
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0127
|
|
|
|
5974 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
5975 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5976
|
|
5977 777773 777777 F32420: AA1=XX ;INITIAL C(AC)
|
|
5978 034250 200 10 0 00 044070 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5979 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5980 034251 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5981 000000 AEE=0 ;INITIAL C(E)
|
|
5982 034252 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
5983 034253 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5984 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
5985 034254 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
5986 034255 003 10 0 00 032421 ER3 AC,32421 ;HIGH PRODUCT FAILED
|
|
5987 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
5988 034256 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
5989 034257 004 11 0 00 032422 ER4 AC+1,32422 ;LOW PRODUCT FAILED
|
|
5990 000000 AEE=0 ;INITIAL C(E)
|
|
5991 034260 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
5992 034261 005 06 0 00 032423 ER5 E,32423 ;C(E) WAS CLOBBERED
|
|
5993 034262 321 12 0 00 034250 JUMPL AC+2,F32420 ;LOOP ON ERROR SWITCH^
|
|
5994
|
|
5995 003243 ADR=ADR+1
|
|
5996 777767 777777 XX=XX+XX+1
|
|
5997 IFE <XX-1>,<XX=-2>
|
|
5998
|
|
5999 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
6000 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
6001 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6002 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6003 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
6004 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6005
|
|
6006 777767 777777 F32430: AA1=XX ;INITIAL C(AC)
|
|
6007 034263 200 10 0 00 044071 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6008 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6009 034264 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6010 000000 AEE=0 ;INITIAL C(E)
|
|
6011 034265 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
6012 034266 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6013 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
6014 034267 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
6015 034270 003 10 0 00 032431 ER3 AC,32431 ;HIGH PRODUCT FAILED
|
|
6016 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
6017 034271 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
6018 034272 004 11 0 00 032432 ER4 AC+1,32432 ;LOW PRODUCT FAILED
|
|
6019 000000 AEE=0 ;INITIAL C(E)
|
|
6020 034273 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
6021 034274 005 06 0 00 032433 ER5 E,32433 ;C(E) WAS CLOBBERED
|
|
6022 034275 321 12 0 00 034263 JUMPL AC+2,F32430 ;LOOP ON ERROR SWITCH^
|
|
6023
|
|
6024 003244 ADR=ADR+1
|
|
6025 777757 777777 XX=XX+XX+1
|
|
6026 IFE <XX-1>,<XX=-2>
|
|
6027
|
|
6028 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-12
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0128
|
|
|
|
6029 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
6030 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6031 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6032 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
6033 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6034
|
|
6035 777757 777777 F32440: AA1=XX ;INITIAL C(AC)
|
|
6036 034276 200 10 0 00 044072 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6037 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6038 034277 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6039 000000 AEE=0 ;INITIAL C(E)
|
|
6040 034300 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
6041 034301 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6042 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
6043 034302 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
6044 034303 003 10 0 00 032441 ER3 AC,32441 ;HIGH PRODUCT FAILED
|
|
6045 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
6046 034304 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
6047 034305 004 11 0 00 032442 ER4 AC+1,32442 ;LOW PRODUCT FAILED
|
|
6048 000000 AEE=0 ;INITIAL C(E)
|
|
6049 034306 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
6050 034307 005 06 0 00 032443 ER5 E,32443 ;C(E) WAS CLOBBERED
|
|
6051 034310 321 12 0 00 034276 JUMPL AC+2,F32440 ;LOOP ON ERROR SWITCH^
|
|
6052
|
|
6053 003245 ADR=ADR+1
|
|
6054 777737 777777 XX=XX+XX+1
|
|
6055 IFE <XX-1>,<XX=-2>
|
|
6056
|
|
6057 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
6058 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
6059 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6060 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6061 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
6062 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6063
|
|
6064 777737 777777 F32450: AA1=XX ;INITIAL C(AC)
|
|
6065 034311 200 10 0 00 044073 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6066 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6067 034312 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6068 000000 AEE=0 ;INITIAL C(E)
|
|
6069 034313 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
6070 034314 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6071 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
6072 034315 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
6073 034316 003 10 0 00 032451 ER3 AC,32451 ;HIGH PRODUCT FAILED
|
|
6074 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
6075 034317 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
6076 034320 004 11 0 00 032452 ER4 AC+1,32452 ;LOW PRODUCT FAILED
|
|
6077 000000 AEE=0 ;INITIAL C(E)
|
|
6078 034321 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
6079 034322 005 06 0 00 032453 ER5 E,32453 ;C(E) WAS CLOBBERED
|
|
6080 034323 321 12 0 00 034311 JUMPL AC+2,F32450 ;LOOP ON ERROR SWITCH^
|
|
6081
|
|
6082 003246 ADR=ADR+1
|
|
6083 777677 777777 XX=XX+XX+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-13
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0129
|
|
|
|
6084 IFE <XX-1>,<XX=-2>
|
|
6085
|
|
6086 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
6087 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
6088 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6089 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6090 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
6091 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6092
|
|
6093 777677 777777 F32460: AA1=XX ;INITIAL C(AC)
|
|
6094 034324 200 10 0 00 044074 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6095 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6096 034325 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6097 000000 AEE=0 ;INITIAL C(E)
|
|
6098 034326 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
6099 034327 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6100 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
6101 034330 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
6102 034331 003 10 0 00 032461 ER3 AC,32461 ;HIGH PRODUCT FAILED
|
|
6103 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
6104 034332 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
6105 034333 004 11 0 00 032462 ER4 AC+1,32462 ;LOW PRODUCT FAILED
|
|
6106 000000 AEE=0 ;INITIAL C(E)
|
|
6107 034334 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
6108 034335 005 06 0 00 032463 ER5 E,32463 ;C(E) WAS CLOBBERED
|
|
6109 034336 321 12 0 00 034324 JUMPL AC+2,F32460 ;LOOP ON ERROR SWITCH^
|
|
6110
|
|
6111 003247 ADR=ADR+1
|
|
6112 777577 777777 XX=XX+XX+1
|
|
6113 IFE <XX-1>,<XX=-2>
|
|
6114
|
|
6115 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
6116 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
6117 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6118 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6119 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
6120 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6121
|
|
6122 777577 777777 F32470: AA1=XX ;INITIAL C(AC)
|
|
6123 034337 200 10 0 00 044075 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6124 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6125 034340 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6126 000000 AEE=0 ;INITIAL C(E)
|
|
6127 034341 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
6128 034342 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6129 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
6130 034343 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
6131 034344 003 10 0 00 032471 ER3 AC,32471 ;HIGH PRODUCT FAILED
|
|
6132 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
6133 034345 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
6134 034346 004 11 0 00 032472 ER4 AC+1,32472 ;LOW PRODUCT FAILED
|
|
6135 000000 AEE=0 ;INITIAL C(E)
|
|
6136 034347 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
6137 034350 005 06 0 00 032473 ER5 E,32473 ;C(E) WAS CLOBBERED
|
|
6138 034351 321 12 0 00 034337 JUMPL AC+2,F32470 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-14
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0130
|
|
|
|
6139
|
|
6140 003250 ADR=ADR+1
|
|
6141 777377 777777 XX=XX+XX+1
|
|
6142 IFE <XX-1>,<XX=-2>
|
|
6143
|
|
6144 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
6145 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
6146 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6147 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6148 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
6149 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6150
|
|
6151 777377 777777 F32500: AA1=XX ;INITIAL C(AC)
|
|
6152 034352 200 10 0 00 044076 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6153 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6154 034353 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6155 000000 AEE=0 ;INITIAL C(E)
|
|
6156 034354 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
6157 034355 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6158 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
6159 034356 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
6160 034357 003 10 0 00 032501 ER3 AC,32501 ;HIGH PRODUCT FAILED
|
|
6161 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
6162 034360 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
6163 034361 004 11 0 00 032502 ER4 AC+1,32502 ;LOW PRODUCT FAILED
|
|
6164 000000 AEE=0 ;INITIAL C(E)
|
|
6165 034362 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
6166 034363 005 06 0 00 032503 ER5 E,32503 ;C(E) WAS CLOBBERED
|
|
6167 034364 321 12 0 00 034352 JUMPL AC+2,F32500 ;LOOP ON ERROR SWITCH^
|
|
6168
|
|
6169 003251 ADR=ADR+1
|
|
6170 776777 777777 XX=XX+XX+1
|
|
6171 IFE <XX-1>,<XX=-2>
|
|
6172
|
|
6173 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
6174 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
6175 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6176 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6177 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
6178 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6179
|
|
6180 776777 777777 F32510: AA1=XX ;INITIAL C(AC)
|
|
6181 034365 200 10 0 00 044077 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6182 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6183 034366 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6184 000000 AEE=0 ;INITIAL C(E)
|
|
6185 034367 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
6186 034370 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6187 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
6188 034371 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
6189 034372 003 10 0 00 032511 ER3 AC,32511 ;HIGH PRODUCT FAILED
|
|
6190 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
6191 034373 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
6192 034374 004 11 0 00 032512 ER4 AC+1,32512 ;LOW PRODUCT FAILED
|
|
6193 000000 AEE=0 ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-15
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0131
|
|
|
|
6194 034375 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
6195 034376 005 06 0 00 032513 ER5 E,32513 ;C(E) WAS CLOBBERED
|
|
6196 034377 321 12 0 00 034365 JUMPL AC+2,F32510 ;LOOP ON ERROR SWITCH^
|
|
6197
|
|
6198 003252 ADR=ADR+1
|
|
6199 775777 777777 XX=XX+XX+1
|
|
6200 IFE <XX-1>,<XX=-2>
|
|
6201
|
|
6202 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
6203 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
6204 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6205 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6206 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
6207 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6208
|
|
6209 775777 777777 F32520: AA1=XX ;INITIAL C(AC)
|
|
6210 034400 200 10 0 00 044100 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6211 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6212 034401 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6213 000000 AEE=0 ;INITIAL C(E)
|
|
6214 034402 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
6215 034403 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6216 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
6217 034404 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
6218 034405 003 10 0 00 032521 ER3 AC,32521 ;HIGH PRODUCT FAILED
|
|
6219 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
6220 034406 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
6221 034407 004 11 0 00 032522 ER4 AC+1,32522 ;LOW PRODUCT FAILED
|
|
6222 000000 AEE=0 ;INITIAL C(E)
|
|
6223 034410 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
6224 034411 005 06 0 00 032523 ER5 E,32523 ;C(E) WAS CLOBBERED
|
|
6225 034412 321 12 0 00 034400 JUMPL AC+2,F32520 ;LOOP ON ERROR SWITCH^
|
|
6226
|
|
6227 003253 ADR=ADR+1
|
|
6228 773777 777777 XX=XX+XX+1
|
|
6229 IFE <XX-1>,<XX=-2>
|
|
6230
|
|
6231 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
6232 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
6233 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6234 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6235 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
6236 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6237
|
|
6238 773777 777777 F32530: AA1=XX ;INITIAL C(AC)
|
|
6239 034413 200 10 0 00 044101 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6240 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6241 034414 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6242 000000 AEE=0 ;INITIAL C(E)
|
|
6243 034415 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
6244 034416 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6245 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
6246 034417 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
6247 034420 003 10 0 00 032531 ER3 AC,32531 ;HIGH PRODUCT FAILED
|
|
6248 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-16
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0132
|
|
|
|
6249 034421 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
6250 034422 004 11 0 00 032532 ER4 AC+1,32532 ;LOW PRODUCT FAILED
|
|
6251 000000 AEE=0 ;INITIAL C(E)
|
|
6252 034423 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
6253 034424 005 06 0 00 032533 ER5 E,32533 ;C(E) WAS CLOBBERED
|
|
6254 034425 321 12 0 00 034413 JUMPL AC+2,F32530 ;LOOP ON ERROR SWITCH^
|
|
6255
|
|
6256 003254 ADR=ADR+1
|
|
6257 767777 777777 XX=XX+XX+1
|
|
6258 IFE <XX-1>,<XX=-2>
|
|
6259
|
|
6260 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
6261 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
6262 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6263 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6264 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
6265 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6266
|
|
6267 767777 777777 F32540: AA1=XX ;INITIAL C(AC)
|
|
6268 034426 200 10 0 00 044102 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6269 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6270 034427 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6271 000000 AEE=0 ;INITIAL C(E)
|
|
6272 034430 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
6273 034431 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6274 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
6275 034432 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
6276 034433 003 10 0 00 032541 ER3 AC,32541 ;HIGH PRODUCT FAILED
|
|
6277 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
6278 034434 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
6279 034435 004 11 0 00 032542 ER4 AC+1,32542 ;LOW PRODUCT FAILED
|
|
6280 000000 AEE=0 ;INITIAL C(E)
|
|
6281 034436 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
6282 034437 005 06 0 00 032543 ER5 E,32543 ;C(E) WAS CLOBBERED
|
|
6283 034440 321 12 0 00 034426 JUMPL AC+2,F32540 ;LOOP ON ERROR SWITCH^
|
|
6284
|
|
6285 003255 ADR=ADR+1
|
|
6286 757777 777777 XX=XX+XX+1
|
|
6287 IFE <XX-1>,<XX=-2>
|
|
6288
|
|
6289 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
6290 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
6291 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6292 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6293 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
6294 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6295
|
|
6296 757777 777777 F32550: AA1=XX ;INITIAL C(AC)
|
|
6297 034441 200 10 0 00 044103 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6298 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6299 034442 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6300 000000 AEE=0 ;INITIAL C(E)
|
|
6301 034443 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
6302 034444 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6303 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-17
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0133
|
|
|
|
6304 034445 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
6305 034446 003 10 0 00 032551 ER3 AC,32551 ;HIGH PRODUCT FAILED
|
|
6306 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
6307 034447 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
6308 034450 004 11 0 00 032552 ER4 AC+1,32552 ;LOW PRODUCT FAILED
|
|
6309 000000 AEE=0 ;INITIAL C(E)
|
|
6310 034451 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
6311 034452 005 06 0 00 032553 ER5 E,32553 ;C(E) WAS CLOBBERED
|
|
6312 034453 321 12 0 00 034441 JUMPL AC+2,F32550 ;LOOP ON ERROR SWITCH^
|
|
6313
|
|
6314 003256 ADR=ADR+1
|
|
6315 737777 777777 XX=XX+XX+1
|
|
6316 IFE <XX-1>,<XX=-2>
|
|
6317
|
|
6318 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
6319 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
6320 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6321 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6322 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
6323 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6324
|
|
6325 737777 777777 F32560: AA1=XX ;INITIAL C(AC)
|
|
6326 034454 200 10 0 00 044104 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6327 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6328 034455 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6329 000000 AEE=0 ;INITIAL C(E)
|
|
6330 034456 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
6331 034457 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6332 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
6333 034460 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
6334 034461 003 10 0 00 032561 ER3 AC,32561 ;HIGH PRODUCT FAILED
|
|
6335 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
6336 034462 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
6337 034463 004 11 0 00 032562 ER4 AC+1,32562 ;LOW PRODUCT FAILED
|
|
6338 000000 AEE=0 ;INITIAL C(E)
|
|
6339 034464 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
6340 034465 005 06 0 00 032563 ER5 E,32563 ;C(E) WAS CLOBBERED
|
|
6341 034466 321 12 0 00 034454 JUMPL AC+2,F32560 ;LOOP ON ERROR SWITCH^
|
|
6342
|
|
6343 003257 ADR=ADR+1
|
|
6344 677777 777777 XX=XX+XX+1
|
|
6345 IFE <XX-1>,<XX=-2>
|
|
6346
|
|
6347 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
6348 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
6349 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6350 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6351 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
6352 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6353
|
|
6354 677777 777777 F32570: AA1=XX ;INITIAL C(AC)
|
|
6355 034467 200 10 0 00 044105 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6356 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6357 034470 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6358 000000 AEE=0 ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-18
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0134
|
|
|
|
6359 034471 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
6360 034472 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6361 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
6362 034473 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
6363 034474 003 10 0 00 032571 ER3 AC,32571 ;HIGH PRODUCT FAILED
|
|
6364 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
6365 034475 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
6366 034476 004 11 0 00 032572 ER4 AC+1,32572 ;LOW PRODUCT FAILED
|
|
6367 000000 AEE=0 ;INITIAL C(E)
|
|
6368 034477 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
6369 034500 005 06 0 00 032573 ER5 E,32573 ;C(E) WAS CLOBBERED
|
|
6370 034501 321 12 0 00 034467 JUMPL AC+2,F32570 ;LOOP ON ERROR SWITCH^
|
|
6371
|
|
6372 003260 ADR=ADR+1
|
|
6373 577777 777777 XX=XX+XX+1
|
|
6374 IFE <XX-1>,<XX=-2>
|
|
6375
|
|
6376 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
6377 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
6378 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6379 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6380 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
6381 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6382
|
|
6383 577777 777777 F32600: AA1=XX ;INITIAL C(AC)
|
|
6384 034502 200 10 0 00 044106 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6385 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6386 034503 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6387 000000 AEE=0 ;INITIAL C(E)
|
|
6388 034504 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
6389 034505 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6390 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
6391 034506 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
6392 034507 003 10 0 00 032601 ER3 AC,32601 ;HIGH PRODUCT FAILED
|
|
6393 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
6394 034510 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
6395 034511 004 11 0 00 032602 ER4 AC+1,32602 ;LOW PRODUCT FAILED
|
|
6396 000000 AEE=0 ;INITIAL C(E)
|
|
6397 034512 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
6398 034513 005 06 0 00 032603 ER5 E,32603 ;C(E) WAS CLOBBERED
|
|
6399 034514 321 12 0 00 034502 JUMPL AC+2,F32600 ;LOOP ON ERROR SWITCH^
|
|
6400
|
|
6401 003261 ADR=ADR+1
|
|
6402 377777 777777 XX=XX+XX+1
|
|
6403 IFE <XX-1>,<XX=-2>
|
|
6404
|
|
6405 ;MULTIPLY 0 BY RIPPLED 0 TO GET PRODUCT OF 0
|
|
6406 MOP1 (\ADR,XX,-1,0,0,0)^
|
|
6407 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6408 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6409 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
6410 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6411
|
|
6412 377777 777777 F32610: AA1=XX ;INITIAL C(AC)
|
|
6413 034515 200 10 0 00 044107 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8-19
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0135
|
|
|
|
6414 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6415 034516 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6416 000000 AEE=0 ;INITIAL C(E)
|
|
6417 034517 200 06 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
6418 034520 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6419 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
6420 034521 312 10 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
6421 034522 003 10 0 00 032611 ER3 AC,32611 ;HIGH PRODUCT FAILED
|
|
6422 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
6423 034523 312 11 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
6424 034524 004 11 0 00 032612 ER4 AC+1,32612 ;LOW PRODUCT FAILED
|
|
6425 000000 AEE=0 ;INITIAL C(E)
|
|
6426 034525 312 06 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
6427 034526 005 06 0 00 032613 ER5 E,32613 ;C(E) WAS CLOBBERED
|
|
6428 034527 321 12 0 00 034515 JUMPL AC+2,F32610 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 9
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - ZERO PRODUCT SEQ 0136
|
|
|
|
6429 000007 AC=7
|
|
6430 000005 E=<AC-2>&17
|
|
6431 SAVEAC (1,1)^
|
|
6432 034530 201 11 0 00 034530 MOVEI AC+2,. ;SAVE TEST PC
|
|
6433 034531 202 11 0 00 030051 MOVEM AC+2,TESTPC
|
|
6434 034532 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
6435 034533 202 11 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
6436 003262 ADR=ADR+1
|
|
6437
|
|
6438 ;MULTIPLY 0 BY -1 TO GET PRODUCT OF 0
|
|
6439 MOP1 (\ADR,-1,-1,0,0,0)^
|
|
6440 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
6441 ;[0] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6442 ;AND E AGAINST [0], [0] AND [0] RESPECTIVELY.
|
|
6443 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6444
|
|
6445 777777 777777 F32620: AA1=-1 ;INITIAL C(AC)
|
|
6446 034534 200 07 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
6447 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6448 034535 200 10 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6449 000000 AEE=0 ;INITIAL C(E)
|
|
6450 034536 200 05 0 00 043776 MOVE E,[0] ;PRELOAD E (MULTIPLICAND)
|
|
6451 034537 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6452 000000 AR1=0 ;EXPECTED RESULT IN AC
|
|
6453 034540 312 07 0 00 043776 CAME AC,[0] ;IS HIGH PRODUCT CORRECT?
|
|
6454 034541 003 07 0 00 032621 ER3 AC,32621 ;HIGH PRODUCT FAILED
|
|
6455 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
6456 034542 312 10 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
6457 034543 004 10 0 00 032622 ER4 AC+1,32622 ;LOW PRODUCT FAILED
|
|
6458 000000 AEE=0 ;INITIAL C(E)
|
|
6459 034544 312 05 0 00 043776 CAME E,[0] ;WAS C(E) CLOBBERED?
|
|
6460 034545 005 05 0 00 032623 ER5 E,32623 ;C(E) WAS CLOBBERED
|
|
6461 034546 321 11 0 00 034534 JUMPL AC+2,F32620 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0137
|
|
|
|
6462 SUBTTL DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT
|
|
6463
|
|
6464 000006 AC=6
|
|
6465 000004 E=<AC-2>&17
|
|
6466 SAVEAC (1,1)^
|
|
6467 034547 201 10 0 00 034547 MOVEI AC+2,. ;SAVE TEST PC
|
|
6468 034550 202 10 0 00 030051 MOVEM AC+2,TESTPC
|
|
6469 034551 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
6470 034552 202 10 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
6471
|
|
6472 000000 XX=0
|
|
6473
|
|
6474 REPEAT ^D36, <
|
|
6475 ADR=ADR+1
|
|
6476 XX=XX+XX
|
|
6477 IFE XX,<XX=1>
|
|
6478
|
|
6479 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
6480 IFG XX,<V1=0>
|
|
6481 IFL XX,<V1=-1>
|
|
6482 MOP1 (\ADR,1,-1,XX,V1,XX)>
|
|
6483
|
|
6484 003263 ADR=ADR+1
|
|
6485 000000 XX=XX+XX
|
|
6486 000001 IFE XX,<XX=1>
|
|
6487
|
|
6488 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
6489 000000 IFG XX,<V1=0>
|
|
6490 IFL XX,<V1=-1>
|
|
6491 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
6492 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
6493 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6494 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
6495 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6496
|
|
6497 000001 F32630: AA1=1 ;INITIAL C(AC)
|
|
6498 034553 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
6499 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6500 034554 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6501 000001 AEE=XX ;INITIAL C(E)
|
|
6502 034555 200 04 0 00 044000 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6503 034556 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6504 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
6505 034557 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
6506 034560 003 06 0 00 032631 ER3 AC,32631 ;HIGH PRODUCT FAILED
|
|
6507 000001 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
6508 034561 312 07 0 00 044000 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
6509 034562 004 07 0 00 032632 ER4 AC+1,32632 ;LOW PRODUCT FAILED
|
|
6510 000001 AEE=XX ;INITIAL C(E)
|
|
6511 034563 312 04 0 00 044000 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6512 034564 005 04 0 00 032633 ER5 E,32633 ;C(E) WAS CLOBBERED
|
|
6513 034565 321 10 0 00 034553 JUMPL AC+2,F32630 ;LOOP ON ERROR SWITCH^
|
|
6514
|
|
6515 003264 ADR=ADR+1
|
|
6516 000002 XX=XX+XX
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-1
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0138
|
|
|
|
6517 IFE XX,<XX=1>
|
|
6518
|
|
6519 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
6520 000000 IFG XX,<V1=0>
|
|
6521 IFL XX,<V1=-1>
|
|
6522 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
6523 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
6524 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6525 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
6526 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6527
|
|
6528 000001 F32640: AA1=1 ;INITIAL C(AC)
|
|
6529 034566 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
6530 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6531 034567 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6532 000002 AEE=XX ;INITIAL C(E)
|
|
6533 034570 200 04 0 00 044001 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6534 034571 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6535 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
6536 034572 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
6537 034573 003 06 0 00 032641 ER3 AC,32641 ;HIGH PRODUCT FAILED
|
|
6538 000002 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
6539 034574 312 07 0 00 044001 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
6540 034575 004 07 0 00 032642 ER4 AC+1,32642 ;LOW PRODUCT FAILED
|
|
6541 000002 AEE=XX ;INITIAL C(E)
|
|
6542 034576 312 04 0 00 044001 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6543 034577 005 04 0 00 032643 ER5 E,32643 ;C(E) WAS CLOBBERED
|
|
6544 034600 321 10 0 00 034566 JUMPL AC+2,F32640 ;LOOP ON ERROR SWITCH^
|
|
6545
|
|
6546 003265 ADR=ADR+1
|
|
6547 000004 XX=XX+XX
|
|
6548 IFE XX,<XX=1>
|
|
6549
|
|
6550 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
6551 000000 IFG XX,<V1=0>
|
|
6552 IFL XX,<V1=-1>
|
|
6553 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
6554 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
6555 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6556 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
6557 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6558
|
|
6559 000001 F32650: AA1=1 ;INITIAL C(AC)
|
|
6560 034601 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
6561 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6562 034602 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6563 000004 AEE=XX ;INITIAL C(E)
|
|
6564 034603 200 04 0 00 044002 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6565 034604 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6566 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
6567 034605 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
6568 034606 003 06 0 00 032651 ER3 AC,32651 ;HIGH PRODUCT FAILED
|
|
6569 000004 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
6570 034607 312 07 0 00 044002 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
6571 034610 004 07 0 00 032652 ER4 AC+1,32652 ;LOW PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-2
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0139
|
|
|
|
6572 000004 AEE=XX ;INITIAL C(E)
|
|
6573 034611 312 04 0 00 044002 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6574 034612 005 04 0 00 032653 ER5 E,32653 ;C(E) WAS CLOBBERED
|
|
6575 034613 321 10 0 00 034601 JUMPL AC+2,F32650 ;LOOP ON ERROR SWITCH^
|
|
6576
|
|
6577 003266 ADR=ADR+1
|
|
6578 000010 XX=XX+XX
|
|
6579 IFE XX,<XX=1>
|
|
6580
|
|
6581 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
6582 000000 IFG XX,<V1=0>
|
|
6583 IFL XX,<V1=-1>
|
|
6584 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
6585 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
6586 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6587 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
6588 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6589
|
|
6590 000001 F32660: AA1=1 ;INITIAL C(AC)
|
|
6591 034614 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
6592 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6593 034615 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6594 000010 AEE=XX ;INITIAL C(E)
|
|
6595 034616 200 04 0 00 044003 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6596 034617 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6597 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
6598 034620 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
6599 034621 003 06 0 00 032661 ER3 AC,32661 ;HIGH PRODUCT FAILED
|
|
6600 000010 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
6601 034622 312 07 0 00 044003 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
6602 034623 004 07 0 00 032662 ER4 AC+1,32662 ;LOW PRODUCT FAILED
|
|
6603 000010 AEE=XX ;INITIAL C(E)
|
|
6604 034624 312 04 0 00 044003 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6605 034625 005 04 0 00 032663 ER5 E,32663 ;C(E) WAS CLOBBERED
|
|
6606 034626 321 10 0 00 034614 JUMPL AC+2,F32660 ;LOOP ON ERROR SWITCH^
|
|
6607
|
|
6608 003267 ADR=ADR+1
|
|
6609 000020 XX=XX+XX
|
|
6610 IFE XX,<XX=1>
|
|
6611
|
|
6612 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
6613 000000 IFG XX,<V1=0>
|
|
6614 IFL XX,<V1=-1>
|
|
6615 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
6616 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
6617 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6618 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
6619 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6620
|
|
6621 000001 F32670: AA1=1 ;INITIAL C(AC)
|
|
6622 034627 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
6623 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6624 034630 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6625 000020 AEE=XX ;INITIAL C(E)
|
|
6626 034631 200 04 0 00 044004 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-3
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0140
|
|
|
|
6627 034632 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6628 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
6629 034633 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
6630 034634 003 06 0 00 032671 ER3 AC,32671 ;HIGH PRODUCT FAILED
|
|
6631 000020 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
6632 034635 312 07 0 00 044004 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
6633 034636 004 07 0 00 032672 ER4 AC+1,32672 ;LOW PRODUCT FAILED
|
|
6634 000020 AEE=XX ;INITIAL C(E)
|
|
6635 034637 312 04 0 00 044004 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6636 034640 005 04 0 00 032673 ER5 E,32673 ;C(E) WAS CLOBBERED
|
|
6637 034641 321 10 0 00 034627 JUMPL AC+2,F32670 ;LOOP ON ERROR SWITCH^
|
|
6638
|
|
6639 003270 ADR=ADR+1
|
|
6640 000040 XX=XX+XX
|
|
6641 IFE XX,<XX=1>
|
|
6642
|
|
6643 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
6644 000000 IFG XX,<V1=0>
|
|
6645 IFL XX,<V1=-1>
|
|
6646 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
6647 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
6648 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6649 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
6650 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6651
|
|
6652 000001 F32700: AA1=1 ;INITIAL C(AC)
|
|
6653 034642 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
6654 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6655 034643 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6656 000040 AEE=XX ;INITIAL C(E)
|
|
6657 034644 200 04 0 00 044005 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6658 034645 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6659 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
6660 034646 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
6661 034647 003 06 0 00 032701 ER3 AC,32701 ;HIGH PRODUCT FAILED
|
|
6662 000040 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
6663 034650 312 07 0 00 044005 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
6664 034651 004 07 0 00 032702 ER4 AC+1,32702 ;LOW PRODUCT FAILED
|
|
6665 000040 AEE=XX ;INITIAL C(E)
|
|
6666 034652 312 04 0 00 044005 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6667 034653 005 04 0 00 032703 ER5 E,32703 ;C(E) WAS CLOBBERED
|
|
6668 034654 321 10 0 00 034642 JUMPL AC+2,F32700 ;LOOP ON ERROR SWITCH^
|
|
6669
|
|
6670 003271 ADR=ADR+1
|
|
6671 000100 XX=XX+XX
|
|
6672 IFE XX,<XX=1>
|
|
6673
|
|
6674 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
6675 000000 IFG XX,<V1=0>
|
|
6676 IFL XX,<V1=-1>
|
|
6677 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
6678 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
6679 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6680 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
6681 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-4
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0141
|
|
|
|
6682
|
|
6683 000001 F32710: AA1=1 ;INITIAL C(AC)
|
|
6684 034655 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
6685 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6686 034656 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6687 000100 AEE=XX ;INITIAL C(E)
|
|
6688 034657 200 04 0 00 044006 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6689 034660 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6690 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
6691 034661 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
6692 034662 003 06 0 00 032711 ER3 AC,32711 ;HIGH PRODUCT FAILED
|
|
6693 000100 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
6694 034663 312 07 0 00 044006 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
6695 034664 004 07 0 00 032712 ER4 AC+1,32712 ;LOW PRODUCT FAILED
|
|
6696 000100 AEE=XX ;INITIAL C(E)
|
|
6697 034665 312 04 0 00 044006 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6698 034666 005 04 0 00 032713 ER5 E,32713 ;C(E) WAS CLOBBERED
|
|
6699 034667 321 10 0 00 034655 JUMPL AC+2,F32710 ;LOOP ON ERROR SWITCH^
|
|
6700
|
|
6701 003272 ADR=ADR+1
|
|
6702 000200 XX=XX+XX
|
|
6703 IFE XX,<XX=1>
|
|
6704
|
|
6705 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
6706 000000 IFG XX,<V1=0>
|
|
6707 IFL XX,<V1=-1>
|
|
6708 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
6709 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
6710 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6711 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
6712 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6713
|
|
6714 000001 F32720: AA1=1 ;INITIAL C(AC)
|
|
6715 034670 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
6716 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6717 034671 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6718 000200 AEE=XX ;INITIAL C(E)
|
|
6719 034672 200 04 0 00 044007 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6720 034673 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6721 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
6722 034674 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
6723 034675 003 06 0 00 032721 ER3 AC,32721 ;HIGH PRODUCT FAILED
|
|
6724 000200 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
6725 034676 312 07 0 00 044007 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
6726 034677 004 07 0 00 032722 ER4 AC+1,32722 ;LOW PRODUCT FAILED
|
|
6727 000200 AEE=XX ;INITIAL C(E)
|
|
6728 034700 312 04 0 00 044007 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6729 034701 005 04 0 00 032723 ER5 E,32723 ;C(E) WAS CLOBBERED
|
|
6730 034702 321 10 0 00 034670 JUMPL AC+2,F32720 ;LOOP ON ERROR SWITCH^
|
|
6731
|
|
6732 003273 ADR=ADR+1
|
|
6733 000400 XX=XX+XX
|
|
6734 IFE XX,<XX=1>
|
|
6735
|
|
6736 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-5
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0142
|
|
|
|
6737 000000 IFG XX,<V1=0>
|
|
6738 IFL XX,<V1=-1>
|
|
6739 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
6740 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
6741 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6742 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
6743 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6744
|
|
6745 000001 F32730: AA1=1 ;INITIAL C(AC)
|
|
6746 034703 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
6747 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6748 034704 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6749 000400 AEE=XX ;INITIAL C(E)
|
|
6750 034705 200 04 0 00 044010 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6751 034706 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6752 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
6753 034707 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
6754 034710 003 06 0 00 032731 ER3 AC,32731 ;HIGH PRODUCT FAILED
|
|
6755 000400 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
6756 034711 312 07 0 00 044010 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
6757 034712 004 07 0 00 032732 ER4 AC+1,32732 ;LOW PRODUCT FAILED
|
|
6758 000400 AEE=XX ;INITIAL C(E)
|
|
6759 034713 312 04 0 00 044010 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6760 034714 005 04 0 00 032733 ER5 E,32733 ;C(E) WAS CLOBBERED
|
|
6761 034715 321 10 0 00 034703 JUMPL AC+2,F32730 ;LOOP ON ERROR SWITCH^
|
|
6762
|
|
6763 003274 ADR=ADR+1
|
|
6764 001000 XX=XX+XX
|
|
6765 IFE XX,<XX=1>
|
|
6766
|
|
6767 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
6768 000000 IFG XX,<V1=0>
|
|
6769 IFL XX,<V1=-1>
|
|
6770 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
6771 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
6772 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6773 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
6774 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6775
|
|
6776 000001 F32740: AA1=1 ;INITIAL C(AC)
|
|
6777 034716 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
6778 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6779 034717 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6780 001000 AEE=XX ;INITIAL C(E)
|
|
6781 034720 200 04 0 00 044011 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6782 034721 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6783 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
6784 034722 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
6785 034723 003 06 0 00 032741 ER3 AC,32741 ;HIGH PRODUCT FAILED
|
|
6786 001000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
6787 034724 312 07 0 00 044011 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
6788 034725 004 07 0 00 032742 ER4 AC+1,32742 ;LOW PRODUCT FAILED
|
|
6789 001000 AEE=XX ;INITIAL C(E)
|
|
6790 034726 312 04 0 00 044011 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6791 034727 005 04 0 00 032743 ER5 E,32743 ;C(E) WAS CLOBBERED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-6
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0143
|
|
|
|
6792 034730 321 10 0 00 034716 JUMPL AC+2,F32740 ;LOOP ON ERROR SWITCH^
|
|
6793
|
|
6794 003275 ADR=ADR+1
|
|
6795 002000 XX=XX+XX
|
|
6796 IFE XX,<XX=1>
|
|
6797
|
|
6798 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
6799 000000 IFG XX,<V1=0>
|
|
6800 IFL XX,<V1=-1>
|
|
6801 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
6802 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
6803 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6804 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
6805 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6806
|
|
6807 000001 F32750: AA1=1 ;INITIAL C(AC)
|
|
6808 034731 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
6809 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6810 034732 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6811 002000 AEE=XX ;INITIAL C(E)
|
|
6812 034733 200 04 0 00 044012 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6813 034734 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6814 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
6815 034735 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
6816 034736 003 06 0 00 032751 ER3 AC,32751 ;HIGH PRODUCT FAILED
|
|
6817 002000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
6818 034737 312 07 0 00 044012 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
6819 034740 004 07 0 00 032752 ER4 AC+1,32752 ;LOW PRODUCT FAILED
|
|
6820 002000 AEE=XX ;INITIAL C(E)
|
|
6821 034741 312 04 0 00 044012 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6822 034742 005 04 0 00 032753 ER5 E,32753 ;C(E) WAS CLOBBERED
|
|
6823 034743 321 10 0 00 034731 JUMPL AC+2,F32750 ;LOOP ON ERROR SWITCH^
|
|
6824
|
|
6825 003276 ADR=ADR+1
|
|
6826 004000 XX=XX+XX
|
|
6827 IFE XX,<XX=1>
|
|
6828
|
|
6829 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
6830 000000 IFG XX,<V1=0>
|
|
6831 IFL XX,<V1=-1>
|
|
6832 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
6833 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
6834 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6835 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
6836 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6837
|
|
6838 000001 F32760: AA1=1 ;INITIAL C(AC)
|
|
6839 034744 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
6840 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6841 034745 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6842 004000 AEE=XX ;INITIAL C(E)
|
|
6843 034746 200 04 0 00 044013 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6844 034747 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6845 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
6846 034750 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-7
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0144
|
|
|
|
6847 034751 003 06 0 00 032761 ER3 AC,32761 ;HIGH PRODUCT FAILED
|
|
6848 004000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
6849 034752 312 07 0 00 044013 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
6850 034753 004 07 0 00 032762 ER4 AC+1,32762 ;LOW PRODUCT FAILED
|
|
6851 004000 AEE=XX ;INITIAL C(E)
|
|
6852 034754 312 04 0 00 044013 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6853 034755 005 04 0 00 032763 ER5 E,32763 ;C(E) WAS CLOBBERED
|
|
6854 034756 321 10 0 00 034744 JUMPL AC+2,F32760 ;LOOP ON ERROR SWITCH^
|
|
6855
|
|
6856 003277 ADR=ADR+1
|
|
6857 010000 XX=XX+XX
|
|
6858 IFE XX,<XX=1>
|
|
6859
|
|
6860 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
6861 000000 IFG XX,<V1=0>
|
|
6862 IFL XX,<V1=-1>
|
|
6863 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
6864 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
6865 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6866 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
6867 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6868
|
|
6869 000001 F32770: AA1=1 ;INITIAL C(AC)
|
|
6870 034757 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
6871 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6872 034760 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6873 010000 AEE=XX ;INITIAL C(E)
|
|
6874 034761 200 04 0 00 044014 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6875 034762 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6876 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
6877 034763 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
6878 034764 003 06 0 00 032771 ER3 AC,32771 ;HIGH PRODUCT FAILED
|
|
6879 010000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
6880 034765 312 07 0 00 044014 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
6881 034766 004 07 0 00 032772 ER4 AC+1,32772 ;LOW PRODUCT FAILED
|
|
6882 010000 AEE=XX ;INITIAL C(E)
|
|
6883 034767 312 04 0 00 044014 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6884 034770 005 04 0 00 032773 ER5 E,32773 ;C(E) WAS CLOBBERED
|
|
6885 034771 321 10 0 00 034757 JUMPL AC+2,F32770 ;LOOP ON ERROR SWITCH^
|
|
6886
|
|
6887 003300 ADR=ADR+1
|
|
6888 020000 XX=XX+XX
|
|
6889 IFE XX,<XX=1>
|
|
6890
|
|
6891 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
6892 000000 IFG XX,<V1=0>
|
|
6893 IFL XX,<V1=-1>
|
|
6894 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
6895 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
6896 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6897 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
6898 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6899
|
|
6900 000001 F33000: AA1=1 ;INITIAL C(AC)
|
|
6901 034772 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-8
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0145
|
|
|
|
6902 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6903 034773 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6904 020000 AEE=XX ;INITIAL C(E)
|
|
6905 034774 200 04 0 00 044015 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6906 034775 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6907 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
6908 034776 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
6909 034777 003 06 0 00 033001 ER3 AC,33001 ;HIGH PRODUCT FAILED
|
|
6910 020000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
6911 035000 312 07 0 00 044015 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
6912 035001 004 07 0 00 033002 ER4 AC+1,33002 ;LOW PRODUCT FAILED
|
|
6913 020000 AEE=XX ;INITIAL C(E)
|
|
6914 035002 312 04 0 00 044015 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6915 035003 005 04 0 00 033003 ER5 E,33003 ;C(E) WAS CLOBBERED
|
|
6916 035004 321 10 0 00 034772 JUMPL AC+2,F33000 ;LOOP ON ERROR SWITCH^
|
|
6917
|
|
6918 003301 ADR=ADR+1
|
|
6919 040000 XX=XX+XX
|
|
6920 IFE XX,<XX=1>
|
|
6921
|
|
6922 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
6923 000000 IFG XX,<V1=0>
|
|
6924 IFL XX,<V1=-1>
|
|
6925 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
6926 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
6927 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6928 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
6929 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6930
|
|
6931 000001 F33010: AA1=1 ;INITIAL C(AC)
|
|
6932 035005 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
6933 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6934 035006 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6935 040000 AEE=XX ;INITIAL C(E)
|
|
6936 035007 200 04 0 00 044016 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6937 035010 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6938 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
6939 035011 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
6940 035012 003 06 0 00 033011 ER3 AC,33011 ;HIGH PRODUCT FAILED
|
|
6941 040000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
6942 035013 312 07 0 00 044016 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
6943 035014 004 07 0 00 033012 ER4 AC+1,33012 ;LOW PRODUCT FAILED
|
|
6944 040000 AEE=XX ;INITIAL C(E)
|
|
6945 035015 312 04 0 00 044016 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6946 035016 005 04 0 00 033013 ER5 E,33013 ;C(E) WAS CLOBBERED
|
|
6947 035017 321 10 0 00 035005 JUMPL AC+2,F33010 ;LOOP ON ERROR SWITCH^
|
|
6948
|
|
6949 003302 ADR=ADR+1
|
|
6950 100000 XX=XX+XX
|
|
6951 IFE XX,<XX=1>
|
|
6952
|
|
6953 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
6954 000000 IFG XX,<V1=0>
|
|
6955 IFL XX,<V1=-1>
|
|
6956 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-9
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0146
|
|
|
|
6957 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
6958 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6959 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
6960 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6961
|
|
6962 000001 F33020: AA1=1 ;INITIAL C(AC)
|
|
6963 035020 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
6964 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6965 035021 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6966 100000 AEE=XX ;INITIAL C(E)
|
|
6967 035022 200 04 0 00 044017 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6968 035023 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6969 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
6970 035024 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
6971 035025 003 06 0 00 033021 ER3 AC,33021 ;HIGH PRODUCT FAILED
|
|
6972 100000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
6973 035026 312 07 0 00 044017 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
6974 035027 004 07 0 00 033022 ER4 AC+1,33022 ;LOW PRODUCT FAILED
|
|
6975 100000 AEE=XX ;INITIAL C(E)
|
|
6976 035030 312 04 0 00 044017 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6977 035031 005 04 0 00 033023 ER5 E,33023 ;C(E) WAS CLOBBERED
|
|
6978 035032 321 10 0 00 035020 JUMPL AC+2,F33020 ;LOOP ON ERROR SWITCH^
|
|
6979
|
|
6980 003303 ADR=ADR+1
|
|
6981 200000 XX=XX+XX
|
|
6982 IFE XX,<XX=1>
|
|
6983
|
|
6984 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
6985 000000 IFG XX,<V1=0>
|
|
6986 IFL XX,<V1=-1>
|
|
6987 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
6988 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
6989 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6990 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
6991 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6992
|
|
6993 000001 F33030: AA1=1 ;INITIAL C(AC)
|
|
6994 035033 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
6995 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6996 035034 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6997 200000 AEE=XX ;INITIAL C(E)
|
|
6998 035035 200 04 0 00 044020 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6999 035036 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7000 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7001 035037 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7002 035040 003 06 0 00 033031 ER3 AC,33031 ;HIGH PRODUCT FAILED
|
|
7003 200000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7004 035041 312 07 0 00 044020 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7005 035042 004 07 0 00 033032 ER4 AC+1,33032 ;LOW PRODUCT FAILED
|
|
7006 200000 AEE=XX ;INITIAL C(E)
|
|
7007 035043 312 04 0 00 044020 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7008 035044 005 04 0 00 033033 ER5 E,33033 ;C(E) WAS CLOBBERED
|
|
7009 035045 321 10 0 00 035033 JUMPL AC+2,F33030 ;LOOP ON ERROR SWITCH^
|
|
7010
|
|
7011 003304 ADR=ADR+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-10
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0147
|
|
|
|
7012 400000 XX=XX+XX
|
|
7013 IFE XX,<XX=1>
|
|
7014
|
|
7015 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7016 000000 IFG XX,<V1=0>
|
|
7017 IFL XX,<V1=-1>
|
|
7018 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7019 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7020 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7021 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7022 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7023
|
|
7024 000001 F33040: AA1=1 ;INITIAL C(AC)
|
|
7025 035046 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7026 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7027 035047 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7028 400000 AEE=XX ;INITIAL C(E)
|
|
7029 035050 200 04 0 00 044021 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7030 035051 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7031 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7032 035052 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7033 035053 003 06 0 00 033041 ER3 AC,33041 ;HIGH PRODUCT FAILED
|
|
7034 400000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7035 035054 312 07 0 00 044021 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7036 035055 004 07 0 00 033042 ER4 AC+1,33042 ;LOW PRODUCT FAILED
|
|
7037 400000 AEE=XX ;INITIAL C(E)
|
|
7038 035056 312 04 0 00 044021 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7039 035057 005 04 0 00 033043 ER5 E,33043 ;C(E) WAS CLOBBERED
|
|
7040 035060 321 10 0 00 035046 JUMPL AC+2,F33040 ;LOOP ON ERROR SWITCH^
|
|
7041
|
|
7042 003305 ADR=ADR+1
|
|
7043 000001 000000 XX=XX+XX
|
|
7044 IFE XX,<XX=1>
|
|
7045
|
|
7046 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7047 000000 IFG XX,<V1=0>
|
|
7048 IFL XX,<V1=-1>
|
|
7049 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7050 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7051 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7052 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7053 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7054
|
|
7055 000001 F33050: AA1=1 ;INITIAL C(AC)
|
|
7056 035061 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7057 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7058 035062 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7059 000001 000000 AEE=XX ;INITIAL C(E)
|
|
7060 035063 200 04 0 00 044022 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7061 035064 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7062 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7063 035065 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7064 035066 003 06 0 00 033051 ER3 AC,33051 ;HIGH PRODUCT FAILED
|
|
7065 000001 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7066 035067 312 07 0 00 044022 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-11
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0148
|
|
|
|
7067 035070 004 07 0 00 033052 ER4 AC+1,33052 ;LOW PRODUCT FAILED
|
|
7068 000001 000000 AEE=XX ;INITIAL C(E)
|
|
7069 035071 312 04 0 00 044022 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7070 035072 005 04 0 00 033053 ER5 E,33053 ;C(E) WAS CLOBBERED
|
|
7071 035073 321 10 0 00 035061 JUMPL AC+2,F33050 ;LOOP ON ERROR SWITCH^
|
|
7072
|
|
7073 003306 ADR=ADR+1
|
|
7074 000002 000000 XX=XX+XX
|
|
7075 IFE XX,<XX=1>
|
|
7076
|
|
7077 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7078 000000 IFG XX,<V1=0>
|
|
7079 IFL XX,<V1=-1>
|
|
7080 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7081 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7082 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7083 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7084 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7085
|
|
7086 000001 F33060: AA1=1 ;INITIAL C(AC)
|
|
7087 035074 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7088 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7089 035075 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7090 000002 000000 AEE=XX ;INITIAL C(E)
|
|
7091 035076 200 04 0 00 044023 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7092 035077 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7093 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7094 035100 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7095 035101 003 06 0 00 033061 ER3 AC,33061 ;HIGH PRODUCT FAILED
|
|
7096 000002 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7097 035102 312 07 0 00 044023 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7098 035103 004 07 0 00 033062 ER4 AC+1,33062 ;LOW PRODUCT FAILED
|
|
7099 000002 000000 AEE=XX ;INITIAL C(E)
|
|
7100 035104 312 04 0 00 044023 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7101 035105 005 04 0 00 033063 ER5 E,33063 ;C(E) WAS CLOBBERED
|
|
7102 035106 321 10 0 00 035074 JUMPL AC+2,F33060 ;LOOP ON ERROR SWITCH^
|
|
7103
|
|
7104 003307 ADR=ADR+1
|
|
7105 000004 000000 XX=XX+XX
|
|
7106 IFE XX,<XX=1>
|
|
7107
|
|
7108 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7109 000000 IFG XX,<V1=0>
|
|
7110 IFL XX,<V1=-1>
|
|
7111 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7112 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7113 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7114 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7115 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7116
|
|
7117 000001 F33070: AA1=1 ;INITIAL C(AC)
|
|
7118 035107 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7119 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7120 035110 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7121 000004 000000 AEE=XX ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-12
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0149
|
|
|
|
7122 035111 200 04 0 00 044024 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7123 035112 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7124 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7125 035113 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7126 035114 003 06 0 00 033071 ER3 AC,33071 ;HIGH PRODUCT FAILED
|
|
7127 000004 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7128 035115 312 07 0 00 044024 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7129 035116 004 07 0 00 033072 ER4 AC+1,33072 ;LOW PRODUCT FAILED
|
|
7130 000004 000000 AEE=XX ;INITIAL C(E)
|
|
7131 035117 312 04 0 00 044024 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7132 035120 005 04 0 00 033073 ER5 E,33073 ;C(E) WAS CLOBBERED
|
|
7133 035121 321 10 0 00 035107 JUMPL AC+2,F33070 ;LOOP ON ERROR SWITCH^
|
|
7134
|
|
7135 003310 ADR=ADR+1
|
|
7136 000010 000000 XX=XX+XX
|
|
7137 IFE XX,<XX=1>
|
|
7138
|
|
7139 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7140 000000 IFG XX,<V1=0>
|
|
7141 IFL XX,<V1=-1>
|
|
7142 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7143 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7144 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7145 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7146 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7147
|
|
7148 000001 F33100: AA1=1 ;INITIAL C(AC)
|
|
7149 035122 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7150 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7151 035123 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7152 000010 000000 AEE=XX ;INITIAL C(E)
|
|
7153 035124 200 04 0 00 044025 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7154 035125 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7155 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7156 035126 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7157 035127 003 06 0 00 033101 ER3 AC,33101 ;HIGH PRODUCT FAILED
|
|
7158 000010 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7159 035130 312 07 0 00 044025 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7160 035131 004 07 0 00 033102 ER4 AC+1,33102 ;LOW PRODUCT FAILED
|
|
7161 000010 000000 AEE=XX ;INITIAL C(E)
|
|
7162 035132 312 04 0 00 044025 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7163 035133 005 04 0 00 033103 ER5 E,33103 ;C(E) WAS CLOBBERED
|
|
7164 035134 321 10 0 00 035122 JUMPL AC+2,F33100 ;LOOP ON ERROR SWITCH^
|
|
7165
|
|
7166 003311 ADR=ADR+1
|
|
7167 000020 000000 XX=XX+XX
|
|
7168 IFE XX,<XX=1>
|
|
7169
|
|
7170 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7171 000000 IFG XX,<V1=0>
|
|
7172 IFL XX,<V1=-1>
|
|
7173 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7174 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7175 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7176 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-13
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0150
|
|
|
|
7177 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7178
|
|
7179 000001 F33110: AA1=1 ;INITIAL C(AC)
|
|
7180 035135 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7181 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7182 035136 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7183 000020 000000 AEE=XX ;INITIAL C(E)
|
|
7184 035137 200 04 0 00 044026 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7185 035140 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7186 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7187 035141 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7188 035142 003 06 0 00 033111 ER3 AC,33111 ;HIGH PRODUCT FAILED
|
|
7189 000020 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7190 035143 312 07 0 00 044026 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7191 035144 004 07 0 00 033112 ER4 AC+1,33112 ;LOW PRODUCT FAILED
|
|
7192 000020 000000 AEE=XX ;INITIAL C(E)
|
|
7193 035145 312 04 0 00 044026 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7194 035146 005 04 0 00 033113 ER5 E,33113 ;C(E) WAS CLOBBERED
|
|
7195 035147 321 10 0 00 035135 JUMPL AC+2,F33110 ;LOOP ON ERROR SWITCH^
|
|
7196
|
|
7197 003312 ADR=ADR+1
|
|
7198 000040 000000 XX=XX+XX
|
|
7199 IFE XX,<XX=1>
|
|
7200
|
|
7201 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7202 000000 IFG XX,<V1=0>
|
|
7203 IFL XX,<V1=-1>
|
|
7204 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7205 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7206 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7207 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7208 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7209
|
|
7210 000001 F33120: AA1=1 ;INITIAL C(AC)
|
|
7211 035150 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7212 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7213 035151 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7214 000040 000000 AEE=XX ;INITIAL C(E)
|
|
7215 035152 200 04 0 00 044027 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7216 035153 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7217 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7218 035154 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7219 035155 003 06 0 00 033121 ER3 AC,33121 ;HIGH PRODUCT FAILED
|
|
7220 000040 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7221 035156 312 07 0 00 044027 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7222 035157 004 07 0 00 033122 ER4 AC+1,33122 ;LOW PRODUCT FAILED
|
|
7223 000040 000000 AEE=XX ;INITIAL C(E)
|
|
7224 035160 312 04 0 00 044027 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7225 035161 005 04 0 00 033123 ER5 E,33123 ;C(E) WAS CLOBBERED
|
|
7226 035162 321 10 0 00 035150 JUMPL AC+2,F33120 ;LOOP ON ERROR SWITCH^
|
|
7227
|
|
7228 003313 ADR=ADR+1
|
|
7229 000100 000000 XX=XX+XX
|
|
7230 IFE XX,<XX=1>
|
|
7231
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-14
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0151
|
|
|
|
7232 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7233 000000 IFG XX,<V1=0>
|
|
7234 IFL XX,<V1=-1>
|
|
7235 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7236 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7237 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7238 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7239 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7240
|
|
7241 000001 F33130: AA1=1 ;INITIAL C(AC)
|
|
7242 035163 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7243 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7244 035164 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7245 000100 000000 AEE=XX ;INITIAL C(E)
|
|
7246 035165 200 04 0 00 044030 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7247 035166 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7248 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7249 035167 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7250 035170 003 06 0 00 033131 ER3 AC,33131 ;HIGH PRODUCT FAILED
|
|
7251 000100 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7252 035171 312 07 0 00 044030 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7253 035172 004 07 0 00 033132 ER4 AC+1,33132 ;LOW PRODUCT FAILED
|
|
7254 000100 000000 AEE=XX ;INITIAL C(E)
|
|
7255 035173 312 04 0 00 044030 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7256 035174 005 04 0 00 033133 ER5 E,33133 ;C(E) WAS CLOBBERED
|
|
7257 035175 321 10 0 00 035163 JUMPL AC+2,F33130 ;LOOP ON ERROR SWITCH^
|
|
7258
|
|
7259 003314 ADR=ADR+1
|
|
7260 000200 000000 XX=XX+XX
|
|
7261 IFE XX,<XX=1>
|
|
7262
|
|
7263 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7264 000000 IFG XX,<V1=0>
|
|
7265 IFL XX,<V1=-1>
|
|
7266 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7267 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7268 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7269 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7270 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7271
|
|
7272 000001 F33140: AA1=1 ;INITIAL C(AC)
|
|
7273 035176 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7274 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7275 035177 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7276 000200 000000 AEE=XX ;INITIAL C(E)
|
|
7277 035200 200 04 0 00 044031 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7278 035201 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7279 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7280 035202 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7281 035203 003 06 0 00 033141 ER3 AC,33141 ;HIGH PRODUCT FAILED
|
|
7282 000200 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7283 035204 312 07 0 00 044031 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7284 035205 004 07 0 00 033142 ER4 AC+1,33142 ;LOW PRODUCT FAILED
|
|
7285 000200 000000 AEE=XX ;INITIAL C(E)
|
|
7286 035206 312 04 0 00 044031 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-15
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0152
|
|
|
|
7287 035207 005 04 0 00 033143 ER5 E,33143 ;C(E) WAS CLOBBERED
|
|
7288 035210 321 10 0 00 035176 JUMPL AC+2,F33140 ;LOOP ON ERROR SWITCH^
|
|
7289
|
|
7290 003315 ADR=ADR+1
|
|
7291 000400 000000 XX=XX+XX
|
|
7292 IFE XX,<XX=1>
|
|
7293
|
|
7294 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7295 000000 IFG XX,<V1=0>
|
|
7296 IFL XX,<V1=-1>
|
|
7297 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7298 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7299 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7300 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7301 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7302
|
|
7303 000001 F33150: AA1=1 ;INITIAL C(AC)
|
|
7304 035211 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7305 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7306 035212 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7307 000400 000000 AEE=XX ;INITIAL C(E)
|
|
7308 035213 200 04 0 00 044032 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7309 035214 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7310 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7311 035215 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7312 035216 003 06 0 00 033151 ER3 AC,33151 ;HIGH PRODUCT FAILED
|
|
7313 000400 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7314 035217 312 07 0 00 044032 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7315 035220 004 07 0 00 033152 ER4 AC+1,33152 ;LOW PRODUCT FAILED
|
|
7316 000400 000000 AEE=XX ;INITIAL C(E)
|
|
7317 035221 312 04 0 00 044032 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7318 035222 005 04 0 00 033153 ER5 E,33153 ;C(E) WAS CLOBBERED
|
|
7319 035223 321 10 0 00 035211 JUMPL AC+2,F33150 ;LOOP ON ERROR SWITCH^
|
|
7320
|
|
7321 003316 ADR=ADR+1
|
|
7322 001000 000000 XX=XX+XX
|
|
7323 IFE XX,<XX=1>
|
|
7324
|
|
7325 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7326 000000 IFG XX,<V1=0>
|
|
7327 IFL XX,<V1=-1>
|
|
7328 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7329 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7330 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7331 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7332 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7333
|
|
7334 000001 F33160: AA1=1 ;INITIAL C(AC)
|
|
7335 035224 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7336 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7337 035225 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7338 001000 000000 AEE=XX ;INITIAL C(E)
|
|
7339 035226 200 04 0 00 044033 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7340 035227 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7341 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-16
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0153
|
|
|
|
7342 035230 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7343 035231 003 06 0 00 033161 ER3 AC,33161 ;HIGH PRODUCT FAILED
|
|
7344 001000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7345 035232 312 07 0 00 044033 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7346 035233 004 07 0 00 033162 ER4 AC+1,33162 ;LOW PRODUCT FAILED
|
|
7347 001000 000000 AEE=XX ;INITIAL C(E)
|
|
7348 035234 312 04 0 00 044033 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7349 035235 005 04 0 00 033163 ER5 E,33163 ;C(E) WAS CLOBBERED
|
|
7350 035236 321 10 0 00 035224 JUMPL AC+2,F33160 ;LOOP ON ERROR SWITCH^
|
|
7351
|
|
7352 003317 ADR=ADR+1
|
|
7353 002000 000000 XX=XX+XX
|
|
7354 IFE XX,<XX=1>
|
|
7355
|
|
7356 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7357 000000 IFG XX,<V1=0>
|
|
7358 IFL XX,<V1=-1>
|
|
7359 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7360 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7361 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7362 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7363 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7364
|
|
7365 000001 F33170: AA1=1 ;INITIAL C(AC)
|
|
7366 035237 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7367 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7368 035240 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7369 002000 000000 AEE=XX ;INITIAL C(E)
|
|
7370 035241 200 04 0 00 044034 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7371 035242 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7372 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7373 035243 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7374 035244 003 06 0 00 033171 ER3 AC,33171 ;HIGH PRODUCT FAILED
|
|
7375 002000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7376 035245 312 07 0 00 044034 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7377 035246 004 07 0 00 033172 ER4 AC+1,33172 ;LOW PRODUCT FAILED
|
|
7378 002000 000000 AEE=XX ;INITIAL C(E)
|
|
7379 035247 312 04 0 00 044034 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7380 035250 005 04 0 00 033173 ER5 E,33173 ;C(E) WAS CLOBBERED
|
|
7381 035251 321 10 0 00 035237 JUMPL AC+2,F33170 ;LOOP ON ERROR SWITCH^
|
|
7382
|
|
7383 003320 ADR=ADR+1
|
|
7384 004000 000000 XX=XX+XX
|
|
7385 IFE XX,<XX=1>
|
|
7386
|
|
7387 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7388 000000 IFG XX,<V1=0>
|
|
7389 IFL XX,<V1=-1>
|
|
7390 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7391 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7392 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7393 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7394 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7395
|
|
7396 000001 F33200: AA1=1 ;INITIAL C(AC)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-17
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0154
|
|
|
|
7397 035252 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7398 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7399 035253 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7400 004000 000000 AEE=XX ;INITIAL C(E)
|
|
7401 035254 200 04 0 00 044035 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7402 035255 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7403 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7404 035256 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7405 035257 003 06 0 00 033201 ER3 AC,33201 ;HIGH PRODUCT FAILED
|
|
7406 004000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7407 035260 312 07 0 00 044035 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7408 035261 004 07 0 00 033202 ER4 AC+1,33202 ;LOW PRODUCT FAILED
|
|
7409 004000 000000 AEE=XX ;INITIAL C(E)
|
|
7410 035262 312 04 0 00 044035 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7411 035263 005 04 0 00 033203 ER5 E,33203 ;C(E) WAS CLOBBERED
|
|
7412 035264 321 10 0 00 035252 JUMPL AC+2,F33200 ;LOOP ON ERROR SWITCH^
|
|
7413
|
|
7414 003321 ADR=ADR+1
|
|
7415 010000 000000 XX=XX+XX
|
|
7416 IFE XX,<XX=1>
|
|
7417
|
|
7418 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7419 000000 IFG XX,<V1=0>
|
|
7420 IFL XX,<V1=-1>
|
|
7421 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7422 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7423 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7424 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7425 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7426
|
|
7427 000001 F33210: AA1=1 ;INITIAL C(AC)
|
|
7428 035265 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7429 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7430 035266 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7431 010000 000000 AEE=XX ;INITIAL C(E)
|
|
7432 035267 200 04 0 00 044036 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7433 035270 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7434 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7435 035271 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7436 035272 003 06 0 00 033211 ER3 AC,33211 ;HIGH PRODUCT FAILED
|
|
7437 010000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7438 035273 312 07 0 00 044036 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7439 035274 004 07 0 00 033212 ER4 AC+1,33212 ;LOW PRODUCT FAILED
|
|
7440 010000 000000 AEE=XX ;INITIAL C(E)
|
|
7441 035275 312 04 0 00 044036 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7442 035276 005 04 0 00 033213 ER5 E,33213 ;C(E) WAS CLOBBERED
|
|
7443 035277 321 10 0 00 035265 JUMPL AC+2,F33210 ;LOOP ON ERROR SWITCH^
|
|
7444
|
|
7445 003322 ADR=ADR+1
|
|
7446 020000 000000 XX=XX+XX
|
|
7447 IFE XX,<XX=1>
|
|
7448
|
|
7449 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7450 000000 IFG XX,<V1=0>
|
|
7451 IFL XX,<V1=-1>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-18
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0155
|
|
|
|
7452 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7453 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7454 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7455 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7456 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7457
|
|
7458 000001 F33220: AA1=1 ;INITIAL C(AC)
|
|
7459 035300 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7460 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7461 035301 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7462 020000 000000 AEE=XX ;INITIAL C(E)
|
|
7463 035302 200 04 0 00 044037 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7464 035303 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7465 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7466 035304 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7467 035305 003 06 0 00 033221 ER3 AC,33221 ;HIGH PRODUCT FAILED
|
|
7468 020000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7469 035306 312 07 0 00 044037 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7470 035307 004 07 0 00 033222 ER4 AC+1,33222 ;LOW PRODUCT FAILED
|
|
7471 020000 000000 AEE=XX ;INITIAL C(E)
|
|
7472 035310 312 04 0 00 044037 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7473 035311 005 04 0 00 033223 ER5 E,33223 ;C(E) WAS CLOBBERED
|
|
7474 035312 321 10 0 00 035300 JUMPL AC+2,F33220 ;LOOP ON ERROR SWITCH^
|
|
7475
|
|
7476 003323 ADR=ADR+1
|
|
7477 040000 000000 XX=XX+XX
|
|
7478 IFE XX,<XX=1>
|
|
7479
|
|
7480 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7481 000000 IFG XX,<V1=0>
|
|
7482 IFL XX,<V1=-1>
|
|
7483 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7484 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7485 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7486 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7487 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7488
|
|
7489 000001 F33230: AA1=1 ;INITIAL C(AC)
|
|
7490 035313 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7491 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7492 035314 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7493 040000 000000 AEE=XX ;INITIAL C(E)
|
|
7494 035315 200 04 0 00 044040 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7495 035316 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7496 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7497 035317 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7498 035320 003 06 0 00 033231 ER3 AC,33231 ;HIGH PRODUCT FAILED
|
|
7499 040000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7500 035321 312 07 0 00 044040 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7501 035322 004 07 0 00 033232 ER4 AC+1,33232 ;LOW PRODUCT FAILED
|
|
7502 040000 000000 AEE=XX ;INITIAL C(E)
|
|
7503 035323 312 04 0 00 044040 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7504 035324 005 04 0 00 033233 ER5 E,33233 ;C(E) WAS CLOBBERED
|
|
7505 035325 321 10 0 00 035313 JUMPL AC+2,F33230 ;LOOP ON ERROR SWITCH^
|
|
7506
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-19
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0156
|
|
|
|
7507 003324 ADR=ADR+1
|
|
7508 100000 000000 XX=XX+XX
|
|
7509 IFE XX,<XX=1>
|
|
7510
|
|
7511 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7512 000000 IFG XX,<V1=0>
|
|
7513 IFL XX,<V1=-1>
|
|
7514 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7515 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7516 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7517 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7518 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7519
|
|
7520 000001 F33240: AA1=1 ;INITIAL C(AC)
|
|
7521 035326 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7522 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7523 035327 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7524 100000 000000 AEE=XX ;INITIAL C(E)
|
|
7525 035330 200 04 0 00 044041 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7526 035331 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7527 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7528 035332 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7529 035333 003 06 0 00 033241 ER3 AC,33241 ;HIGH PRODUCT FAILED
|
|
7530 100000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7531 035334 312 07 0 00 044041 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7532 035335 004 07 0 00 033242 ER4 AC+1,33242 ;LOW PRODUCT FAILED
|
|
7533 100000 000000 AEE=XX ;INITIAL C(E)
|
|
7534 035336 312 04 0 00 044041 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7535 035337 005 04 0 00 033243 ER5 E,33243 ;C(E) WAS CLOBBERED
|
|
7536 035340 321 10 0 00 035326 JUMPL AC+2,F33240 ;LOOP ON ERROR SWITCH^
|
|
7537
|
|
7538 003325 ADR=ADR+1
|
|
7539 200000 000000 XX=XX+XX
|
|
7540 IFE XX,<XX=1>
|
|
7541
|
|
7542 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7543 000000 IFG XX,<V1=0>
|
|
7544 IFL XX,<V1=-1>
|
|
7545 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7546 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7547 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7548 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7549 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7550
|
|
7551 000001 F33250: AA1=1 ;INITIAL C(AC)
|
|
7552 035341 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7553 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7554 035342 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7555 200000 000000 AEE=XX ;INITIAL C(E)
|
|
7556 035343 200 04 0 00 044042 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7557 035344 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7558 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7559 035345 312 06 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7560 035346 003 06 0 00 033251 ER3 AC,33251 ;HIGH PRODUCT FAILED
|
|
7561 200000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 10-20
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0157
|
|
|
|
7562 035347 312 07 0 00 044042 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7563 035350 004 07 0 00 033252 ER4 AC+1,33252 ;LOW PRODUCT FAILED
|
|
7564 200000 000000 AEE=XX ;INITIAL C(E)
|
|
7565 035351 312 04 0 00 044042 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7566 035352 005 04 0 00 033253 ER5 E,33253 ;C(E) WAS CLOBBERED
|
|
7567 035353 321 10 0 00 035341 JUMPL AC+2,F33250 ;LOOP ON ERROR SWITCH^
|
|
7568
|
|
7569 003326 ADR=ADR+1
|
|
7570 400000 000000 XX=XX+XX
|
|
7571 IFE XX,<XX=1>
|
|
7572
|
|
7573 ;MULTIPLY A RIPPLED 1 BY 1 TO GET A PRODUCT OF RIPPLED 1
|
|
7574 IFG XX,<V1=0>
|
|
7575 777777 777777 IFL XX,<V1=-1>
|
|
7576 MOP1 (\ADR,1,-1,XX,V1,XX)^
|
|
7577 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[-1] AND
|
|
7578 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7579 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
7580 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7581
|
|
7582 000001 F33260: AA1=1 ;INITIAL C(AC)
|
|
7583 035354 200 06 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
7584 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7585 035355 200 07 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7586 400000 000000 AEE=XX ;INITIAL C(E)
|
|
7587 035356 200 04 0 00 044043 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7588 035357 224 06 0 00 000004 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7589 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7590 035360 312 06 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7591 035361 003 06 0 00 033261 ER3 AC,33261 ;HIGH PRODUCT FAILED
|
|
7592 400000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7593 035362 312 07 0 00 044043 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7594 035363 004 07 0 00 033262 ER4 AC+1,33262 ;LOW PRODUCT FAILED
|
|
7595 400000 000000 AEE=XX ;INITIAL C(E)
|
|
7596 035364 312 04 0 00 044043 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7597 035365 005 04 0 00 033263 ER5 E,33263 ;C(E) WAS CLOBBERED
|
|
7598 035366 321 10 0 00 035354 JUMPL AC+2,F33260 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0158
|
|
|
|
7599 000005 AC=5
|
|
7600 000003 E=<AC-2>&17
|
|
7601 SAVEAC (1,1)^
|
|
7602 035367 201 07 0 00 035367 MOVEI AC+2,. ;SAVE TEST PC
|
|
7603 035370 202 07 0 00 030051 MOVEM AC+2,TESTPC
|
|
7604 035371 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
7605 035372 202 07 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
7606 000000 XX=0
|
|
7607
|
|
7608 REPEAT ^D35,< ;LAST CASE IS DIFFERENT
|
|
7609 ADR=ADR+1
|
|
7610 XX=XX+XX
|
|
7611 IFE XX,<XX=1>
|
|
7612
|
|
7613 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
7614 IFG XX,<V1=0>
|
|
7615 IFL XX,<V1=-1>
|
|
7616 MOP1 (\ADR,XX,-1,1,V1,XX)>
|
|
7617 ;LAST CASE IS DIFFERENT
|
|
7618 003327 ADR=ADR+1
|
|
7619 000000 XX=XX+XX
|
|
7620 000001 IFE XX,<XX=1>
|
|
7621
|
|
7622 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
7623 000000 IFG XX,<V1=0>
|
|
7624 IFL XX,<V1=-1>
|
|
7625 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
7626 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
7627 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7628 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
7629 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7630
|
|
7631 000001 F33270: AA1=XX ;INITIAL C(AC)
|
|
7632 035373 200 05 0 00 044000 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
7633 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7634 035374 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7635 000001 AEE=1 ;INITIAL C(E)
|
|
7636 035375 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
7637 035376 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7638 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7639 035377 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7640 035400 003 05 0 00 033271 ER3 AC,33271 ;HIGH PRODUCT FAILED
|
|
7641 000001 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7642 035401 312 06 0 00 044000 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7643 035402 004 06 0 00 033272 ER4 AC+1,33272 ;LOW PRODUCT FAILED
|
|
7644 000001 AEE=1 ;INITIAL C(E)
|
|
7645 035403 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
7646 035404 005 03 0 00 033273 ER5 E,33273 ;C(E) WAS CLOBBERED
|
|
7647 035405 321 07 0 00 035373 JUMPL AC+2,F33270 ;LOOP ON ERROR SWITCH^
|
|
7648 ;LAST CASE IS DIFFERENT
|
|
7649 003330 ADR=ADR+1
|
|
7650 000002 XX=XX+XX
|
|
7651 IFE XX,<XX=1>
|
|
7652
|
|
7653 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-1
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0159
|
|
|
|
7654 000000 IFG XX,<V1=0>
|
|
7655 IFL XX,<V1=-1>
|
|
7656 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
7657 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
7658 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7659 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
7660 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7661
|
|
7662 000002 F33300: AA1=XX ;INITIAL C(AC)
|
|
7663 035406 200 05 0 00 044001 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
7664 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7665 035407 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7666 000001 AEE=1 ;INITIAL C(E)
|
|
7667 035410 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
7668 035411 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7669 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7670 035412 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7671 035413 003 05 0 00 033301 ER3 AC,33301 ;HIGH PRODUCT FAILED
|
|
7672 000002 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7673 035414 312 06 0 00 044001 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7674 035415 004 06 0 00 033302 ER4 AC+1,33302 ;LOW PRODUCT FAILED
|
|
7675 000001 AEE=1 ;INITIAL C(E)
|
|
7676 035416 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
7677 035417 005 03 0 00 033303 ER5 E,33303 ;C(E) WAS CLOBBERED
|
|
7678 035420 321 07 0 00 035406 JUMPL AC+2,F33300 ;LOOP ON ERROR SWITCH^
|
|
7679 ;LAST CASE IS DIFFERENT
|
|
7680 003331 ADR=ADR+1
|
|
7681 000004 XX=XX+XX
|
|
7682 IFE XX,<XX=1>
|
|
7683
|
|
7684 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
7685 000000 IFG XX,<V1=0>
|
|
7686 IFL XX,<V1=-1>
|
|
7687 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
7688 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
7689 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7690 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
7691 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7692
|
|
7693 000004 F33310: AA1=XX ;INITIAL C(AC)
|
|
7694 035421 200 05 0 00 044002 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
7695 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7696 035422 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7697 000001 AEE=1 ;INITIAL C(E)
|
|
7698 035423 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
7699 035424 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7700 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7701 035425 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7702 035426 003 05 0 00 033311 ER3 AC,33311 ;HIGH PRODUCT FAILED
|
|
7703 000004 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7704 035427 312 06 0 00 044002 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7705 035430 004 06 0 00 033312 ER4 AC+1,33312 ;LOW PRODUCT FAILED
|
|
7706 000001 AEE=1 ;INITIAL C(E)
|
|
7707 035431 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
7708 035432 005 03 0 00 033313 ER5 E,33313 ;C(E) WAS CLOBBERED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-2
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0160
|
|
|
|
7709 035433 321 07 0 00 035421 JUMPL AC+2,F33310 ;LOOP ON ERROR SWITCH^
|
|
7710 ;LAST CASE IS DIFFERENT
|
|
7711 003332 ADR=ADR+1
|
|
7712 000010 XX=XX+XX
|
|
7713 IFE XX,<XX=1>
|
|
7714
|
|
7715 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
7716 000000 IFG XX,<V1=0>
|
|
7717 IFL XX,<V1=-1>
|
|
7718 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
7719 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
7720 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7721 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
7722 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7723
|
|
7724 000010 F33320: AA1=XX ;INITIAL C(AC)
|
|
7725 035434 200 05 0 00 044003 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
7726 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7727 035435 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7728 000001 AEE=1 ;INITIAL C(E)
|
|
7729 035436 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
7730 035437 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7731 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7732 035440 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7733 035441 003 05 0 00 033321 ER3 AC,33321 ;HIGH PRODUCT FAILED
|
|
7734 000010 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7735 035442 312 06 0 00 044003 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7736 035443 004 06 0 00 033322 ER4 AC+1,33322 ;LOW PRODUCT FAILED
|
|
7737 000001 AEE=1 ;INITIAL C(E)
|
|
7738 035444 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
7739 035445 005 03 0 00 033323 ER5 E,33323 ;C(E) WAS CLOBBERED
|
|
7740 035446 321 07 0 00 035434 JUMPL AC+2,F33320 ;LOOP ON ERROR SWITCH^
|
|
7741 ;LAST CASE IS DIFFERENT
|
|
7742 003333 ADR=ADR+1
|
|
7743 000020 XX=XX+XX
|
|
7744 IFE XX,<XX=1>
|
|
7745
|
|
7746 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
7747 000000 IFG XX,<V1=0>
|
|
7748 IFL XX,<V1=-1>
|
|
7749 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
7750 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
7751 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7752 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
7753 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7754
|
|
7755 000020 F33330: AA1=XX ;INITIAL C(AC)
|
|
7756 035447 200 05 0 00 044004 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
7757 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7758 035450 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7759 000001 AEE=1 ;INITIAL C(E)
|
|
7760 035451 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
7761 035452 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7762 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7763 035453 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-3
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0161
|
|
|
|
7764 035454 003 05 0 00 033331 ER3 AC,33331 ;HIGH PRODUCT FAILED
|
|
7765 000020 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7766 035455 312 06 0 00 044004 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7767 035456 004 06 0 00 033332 ER4 AC+1,33332 ;LOW PRODUCT FAILED
|
|
7768 000001 AEE=1 ;INITIAL C(E)
|
|
7769 035457 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
7770 035460 005 03 0 00 033333 ER5 E,33333 ;C(E) WAS CLOBBERED
|
|
7771 035461 321 07 0 00 035447 JUMPL AC+2,F33330 ;LOOP ON ERROR SWITCH^
|
|
7772 ;LAST CASE IS DIFFERENT
|
|
7773 003334 ADR=ADR+1
|
|
7774 000040 XX=XX+XX
|
|
7775 IFE XX,<XX=1>
|
|
7776
|
|
7777 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
7778 000000 IFG XX,<V1=0>
|
|
7779 IFL XX,<V1=-1>
|
|
7780 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
7781 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
7782 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7783 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
7784 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7785
|
|
7786 000040 F33340: AA1=XX ;INITIAL C(AC)
|
|
7787 035462 200 05 0 00 044005 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
7788 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7789 035463 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7790 000001 AEE=1 ;INITIAL C(E)
|
|
7791 035464 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
7792 035465 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7793 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7794 035466 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7795 035467 003 05 0 00 033341 ER3 AC,33341 ;HIGH PRODUCT FAILED
|
|
7796 000040 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7797 035470 312 06 0 00 044005 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7798 035471 004 06 0 00 033342 ER4 AC+1,33342 ;LOW PRODUCT FAILED
|
|
7799 000001 AEE=1 ;INITIAL C(E)
|
|
7800 035472 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
7801 035473 005 03 0 00 033343 ER5 E,33343 ;C(E) WAS CLOBBERED
|
|
7802 035474 321 07 0 00 035462 JUMPL AC+2,F33340 ;LOOP ON ERROR SWITCH^
|
|
7803 ;LAST CASE IS DIFFERENT
|
|
7804 003335 ADR=ADR+1
|
|
7805 000100 XX=XX+XX
|
|
7806 IFE XX,<XX=1>
|
|
7807
|
|
7808 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
7809 000000 IFG XX,<V1=0>
|
|
7810 IFL XX,<V1=-1>
|
|
7811 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
7812 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
7813 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7814 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
7815 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7816
|
|
7817 000100 F33350: AA1=XX ;INITIAL C(AC)
|
|
7818 035475 200 05 0 00 044006 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-4
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0162
|
|
|
|
7819 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7820 035476 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7821 000001 AEE=1 ;INITIAL C(E)
|
|
7822 035477 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
7823 035500 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7824 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7825 035501 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7826 035502 003 05 0 00 033351 ER3 AC,33351 ;HIGH PRODUCT FAILED
|
|
7827 000100 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7828 035503 312 06 0 00 044006 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7829 035504 004 06 0 00 033352 ER4 AC+1,33352 ;LOW PRODUCT FAILED
|
|
7830 000001 AEE=1 ;INITIAL C(E)
|
|
7831 035505 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
7832 035506 005 03 0 00 033353 ER5 E,33353 ;C(E) WAS CLOBBERED
|
|
7833 035507 321 07 0 00 035475 JUMPL AC+2,F33350 ;LOOP ON ERROR SWITCH^
|
|
7834 ;LAST CASE IS DIFFERENT
|
|
7835 003336 ADR=ADR+1
|
|
7836 000200 XX=XX+XX
|
|
7837 IFE XX,<XX=1>
|
|
7838
|
|
7839 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
7840 000000 IFG XX,<V1=0>
|
|
7841 IFL XX,<V1=-1>
|
|
7842 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
7843 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
7844 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7845 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
7846 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7847
|
|
7848 000200 F33360: AA1=XX ;INITIAL C(AC)
|
|
7849 035510 200 05 0 00 044007 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
7850 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7851 035511 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7852 000001 AEE=1 ;INITIAL C(E)
|
|
7853 035512 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
7854 035513 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7855 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7856 035514 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7857 035515 003 05 0 00 033361 ER3 AC,33361 ;HIGH PRODUCT FAILED
|
|
7858 000200 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7859 035516 312 06 0 00 044007 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7860 035517 004 06 0 00 033362 ER4 AC+1,33362 ;LOW PRODUCT FAILED
|
|
7861 000001 AEE=1 ;INITIAL C(E)
|
|
7862 035520 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
7863 035521 005 03 0 00 033363 ER5 E,33363 ;C(E) WAS CLOBBERED
|
|
7864 035522 321 07 0 00 035510 JUMPL AC+2,F33360 ;LOOP ON ERROR SWITCH^
|
|
7865 ;LAST CASE IS DIFFERENT
|
|
7866 003337 ADR=ADR+1
|
|
7867 000400 XX=XX+XX
|
|
7868 IFE XX,<XX=1>
|
|
7869
|
|
7870 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
7871 000000 IFG XX,<V1=0>
|
|
7872 IFL XX,<V1=-1>
|
|
7873 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-5
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0163
|
|
|
|
7874 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
7875 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7876 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
7877 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7878
|
|
7879 000400 F33370: AA1=XX ;INITIAL C(AC)
|
|
7880 035523 200 05 0 00 044010 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
7881 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7882 035524 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7883 000001 AEE=1 ;INITIAL C(E)
|
|
7884 035525 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
7885 035526 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7886 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7887 035527 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7888 035530 003 05 0 00 033371 ER3 AC,33371 ;HIGH PRODUCT FAILED
|
|
7889 000400 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7890 035531 312 06 0 00 044010 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7891 035532 004 06 0 00 033372 ER4 AC+1,33372 ;LOW PRODUCT FAILED
|
|
7892 000001 AEE=1 ;INITIAL C(E)
|
|
7893 035533 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
7894 035534 005 03 0 00 033373 ER5 E,33373 ;C(E) WAS CLOBBERED
|
|
7895 035535 321 07 0 00 035523 JUMPL AC+2,F33370 ;LOOP ON ERROR SWITCH^
|
|
7896 ;LAST CASE IS DIFFERENT
|
|
7897 003340 ADR=ADR+1
|
|
7898 001000 XX=XX+XX
|
|
7899 IFE XX,<XX=1>
|
|
7900
|
|
7901 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
7902 000000 IFG XX,<V1=0>
|
|
7903 IFL XX,<V1=-1>
|
|
7904 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
7905 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
7906 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7907 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
7908 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7909
|
|
7910 001000 F33400: AA1=XX ;INITIAL C(AC)
|
|
7911 035536 200 05 0 00 044011 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
7912 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7913 035537 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7914 000001 AEE=1 ;INITIAL C(E)
|
|
7915 035540 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
7916 035541 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7917 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7918 035542 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7919 035543 003 05 0 00 033401 ER3 AC,33401 ;HIGH PRODUCT FAILED
|
|
7920 001000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7921 035544 312 06 0 00 044011 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7922 035545 004 06 0 00 033402 ER4 AC+1,33402 ;LOW PRODUCT FAILED
|
|
7923 000001 AEE=1 ;INITIAL C(E)
|
|
7924 035546 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
7925 035547 005 03 0 00 033403 ER5 E,33403 ;C(E) WAS CLOBBERED
|
|
7926 035550 321 07 0 00 035536 JUMPL AC+2,F33400 ;LOOP ON ERROR SWITCH^
|
|
7927 ;LAST CASE IS DIFFERENT
|
|
7928 003341 ADR=ADR+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-6
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0164
|
|
|
|
7929 002000 XX=XX+XX
|
|
7930 IFE XX,<XX=1>
|
|
7931
|
|
7932 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
7933 000000 IFG XX,<V1=0>
|
|
7934 IFL XX,<V1=-1>
|
|
7935 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
7936 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
7937 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7938 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
7939 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7940
|
|
7941 002000 F33410: AA1=XX ;INITIAL C(AC)
|
|
7942 035551 200 05 0 00 044012 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
7943 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7944 035552 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7945 000001 AEE=1 ;INITIAL C(E)
|
|
7946 035553 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
7947 035554 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7948 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7949 035555 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7950 035556 003 05 0 00 033411 ER3 AC,33411 ;HIGH PRODUCT FAILED
|
|
7951 002000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7952 035557 312 06 0 00 044012 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
7953 035560 004 06 0 00 033412 ER4 AC+1,33412 ;LOW PRODUCT FAILED
|
|
7954 000001 AEE=1 ;INITIAL C(E)
|
|
7955 035561 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
7956 035562 005 03 0 00 033413 ER5 E,33413 ;C(E) WAS CLOBBERED
|
|
7957 035563 321 07 0 00 035551 JUMPL AC+2,F33410 ;LOOP ON ERROR SWITCH^
|
|
7958 ;LAST CASE IS DIFFERENT
|
|
7959 003342 ADR=ADR+1
|
|
7960 004000 XX=XX+XX
|
|
7961 IFE XX,<XX=1>
|
|
7962
|
|
7963 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
7964 000000 IFG XX,<V1=0>
|
|
7965 IFL XX,<V1=-1>
|
|
7966 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
7967 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
7968 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7969 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
7970 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7971
|
|
7972 004000 F33420: AA1=XX ;INITIAL C(AC)
|
|
7973 035564 200 05 0 00 044013 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
7974 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
7975 035565 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
7976 000001 AEE=1 ;INITIAL C(E)
|
|
7977 035566 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
7978 035567 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7979 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
7980 035570 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
7981 035571 003 05 0 00 033421 ER3 AC,33421 ;HIGH PRODUCT FAILED
|
|
7982 004000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
7983 035572 312 06 0 00 044013 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-7
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0165
|
|
|
|
7984 035573 004 06 0 00 033422 ER4 AC+1,33422 ;LOW PRODUCT FAILED
|
|
7985 000001 AEE=1 ;INITIAL C(E)
|
|
7986 035574 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
7987 035575 005 03 0 00 033423 ER5 E,33423 ;C(E) WAS CLOBBERED
|
|
7988 035576 321 07 0 00 035564 JUMPL AC+2,F33420 ;LOOP ON ERROR SWITCH^
|
|
7989 ;LAST CASE IS DIFFERENT
|
|
7990 003343 ADR=ADR+1
|
|
7991 010000 XX=XX+XX
|
|
7992 IFE XX,<XX=1>
|
|
7993
|
|
7994 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
7995 000000 IFG XX,<V1=0>
|
|
7996 IFL XX,<V1=-1>
|
|
7997 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
7998 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
7999 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8000 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8001 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8002
|
|
8003 010000 F33430: AA1=XX ;INITIAL C(AC)
|
|
8004 035577 200 05 0 00 044014 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8005 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8006 035600 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8007 000001 AEE=1 ;INITIAL C(E)
|
|
8008 035601 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8009 035602 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8010 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8011 035603 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8012 035604 003 05 0 00 033431 ER3 AC,33431 ;HIGH PRODUCT FAILED
|
|
8013 010000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8014 035605 312 06 0 00 044014 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8015 035606 004 06 0 00 033432 ER4 AC+1,33432 ;LOW PRODUCT FAILED
|
|
8016 000001 AEE=1 ;INITIAL C(E)
|
|
8017 035607 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8018 035610 005 03 0 00 033433 ER5 E,33433 ;C(E) WAS CLOBBERED
|
|
8019 035611 321 07 0 00 035577 JUMPL AC+2,F33430 ;LOOP ON ERROR SWITCH^
|
|
8020 ;LAST CASE IS DIFFERENT
|
|
8021 003344 ADR=ADR+1
|
|
8022 020000 XX=XX+XX
|
|
8023 IFE XX,<XX=1>
|
|
8024
|
|
8025 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8026 000000 IFG XX,<V1=0>
|
|
8027 IFL XX,<V1=-1>
|
|
8028 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8029 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8030 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8031 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8032 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8033
|
|
8034 020000 F33440: AA1=XX ;INITIAL C(AC)
|
|
8035 035612 200 05 0 00 044015 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8036 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8037 035613 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8038 000001 AEE=1 ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-8
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0166
|
|
|
|
8039 035614 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8040 035615 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8041 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8042 035616 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8043 035617 003 05 0 00 033441 ER3 AC,33441 ;HIGH PRODUCT FAILED
|
|
8044 020000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8045 035620 312 06 0 00 044015 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8046 035621 004 06 0 00 033442 ER4 AC+1,33442 ;LOW PRODUCT FAILED
|
|
8047 000001 AEE=1 ;INITIAL C(E)
|
|
8048 035622 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8049 035623 005 03 0 00 033443 ER5 E,33443 ;C(E) WAS CLOBBERED
|
|
8050 035624 321 07 0 00 035612 JUMPL AC+2,F33440 ;LOOP ON ERROR SWITCH^
|
|
8051 ;LAST CASE IS DIFFERENT
|
|
8052 003345 ADR=ADR+1
|
|
8053 040000 XX=XX+XX
|
|
8054 IFE XX,<XX=1>
|
|
8055
|
|
8056 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8057 000000 IFG XX,<V1=0>
|
|
8058 IFL XX,<V1=-1>
|
|
8059 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8060 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8061 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8062 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8063 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8064
|
|
8065 040000 F33450: AA1=XX ;INITIAL C(AC)
|
|
8066 035625 200 05 0 00 044016 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8067 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8068 035626 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8069 000001 AEE=1 ;INITIAL C(E)
|
|
8070 035627 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8071 035630 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8072 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8073 035631 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8074 035632 003 05 0 00 033451 ER3 AC,33451 ;HIGH PRODUCT FAILED
|
|
8075 040000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8076 035633 312 06 0 00 044016 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8077 035634 004 06 0 00 033452 ER4 AC+1,33452 ;LOW PRODUCT FAILED
|
|
8078 000001 AEE=1 ;INITIAL C(E)
|
|
8079 035635 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8080 035636 005 03 0 00 033453 ER5 E,33453 ;C(E) WAS CLOBBERED
|
|
8081 035637 321 07 0 00 035625 JUMPL AC+2,F33450 ;LOOP ON ERROR SWITCH^
|
|
8082 ;LAST CASE IS DIFFERENT
|
|
8083 003346 ADR=ADR+1
|
|
8084 100000 XX=XX+XX
|
|
8085 IFE XX,<XX=1>
|
|
8086
|
|
8087 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8088 000000 IFG XX,<V1=0>
|
|
8089 IFL XX,<V1=-1>
|
|
8090 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8091 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8092 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8093 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-9
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0167
|
|
|
|
8094 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8095
|
|
8096 100000 F33460: AA1=XX ;INITIAL C(AC)
|
|
8097 035640 200 05 0 00 044017 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8098 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8099 035641 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8100 000001 AEE=1 ;INITIAL C(E)
|
|
8101 035642 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8102 035643 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8103 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8104 035644 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8105 035645 003 05 0 00 033461 ER3 AC,33461 ;HIGH PRODUCT FAILED
|
|
8106 100000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8107 035646 312 06 0 00 044017 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8108 035647 004 06 0 00 033462 ER4 AC+1,33462 ;LOW PRODUCT FAILED
|
|
8109 000001 AEE=1 ;INITIAL C(E)
|
|
8110 035650 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8111 035651 005 03 0 00 033463 ER5 E,33463 ;C(E) WAS CLOBBERED
|
|
8112 035652 321 07 0 00 035640 JUMPL AC+2,F33460 ;LOOP ON ERROR SWITCH^
|
|
8113 ;LAST CASE IS DIFFERENT
|
|
8114 003347 ADR=ADR+1
|
|
8115 200000 XX=XX+XX
|
|
8116 IFE XX,<XX=1>
|
|
8117
|
|
8118 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8119 000000 IFG XX,<V1=0>
|
|
8120 IFL XX,<V1=-1>
|
|
8121 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8122 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8123 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8124 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8125 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8126
|
|
8127 200000 F33470: AA1=XX ;INITIAL C(AC)
|
|
8128 035653 200 05 0 00 044020 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8129 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8130 035654 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8131 000001 AEE=1 ;INITIAL C(E)
|
|
8132 035655 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8133 035656 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8134 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8135 035657 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8136 035660 003 05 0 00 033471 ER3 AC,33471 ;HIGH PRODUCT FAILED
|
|
8137 200000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8138 035661 312 06 0 00 044020 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8139 035662 004 06 0 00 033472 ER4 AC+1,33472 ;LOW PRODUCT FAILED
|
|
8140 000001 AEE=1 ;INITIAL C(E)
|
|
8141 035663 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8142 035664 005 03 0 00 033473 ER5 E,33473 ;C(E) WAS CLOBBERED
|
|
8143 035665 321 07 0 00 035653 JUMPL AC+2,F33470 ;LOOP ON ERROR SWITCH^
|
|
8144 ;LAST CASE IS DIFFERENT
|
|
8145 003350 ADR=ADR+1
|
|
8146 400000 XX=XX+XX
|
|
8147 IFE XX,<XX=1>
|
|
8148
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-10
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0168
|
|
|
|
8149 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8150 000000 IFG XX,<V1=0>
|
|
8151 IFL XX,<V1=-1>
|
|
8152 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8153 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8154 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8155 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8156 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8157
|
|
8158 400000 F33500: AA1=XX ;INITIAL C(AC)
|
|
8159 035666 200 05 0 00 044021 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8160 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8161 035667 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8162 000001 AEE=1 ;INITIAL C(E)
|
|
8163 035670 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8164 035671 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8165 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8166 035672 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8167 035673 003 05 0 00 033501 ER3 AC,33501 ;HIGH PRODUCT FAILED
|
|
8168 400000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8169 035674 312 06 0 00 044021 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8170 035675 004 06 0 00 033502 ER4 AC+1,33502 ;LOW PRODUCT FAILED
|
|
8171 000001 AEE=1 ;INITIAL C(E)
|
|
8172 035676 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8173 035677 005 03 0 00 033503 ER5 E,33503 ;C(E) WAS CLOBBERED
|
|
8174 035700 321 07 0 00 035666 JUMPL AC+2,F33500 ;LOOP ON ERROR SWITCH^
|
|
8175 ;LAST CASE IS DIFFERENT
|
|
8176 003351 ADR=ADR+1
|
|
8177 000001 000000 XX=XX+XX
|
|
8178 IFE XX,<XX=1>
|
|
8179
|
|
8180 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8181 000000 IFG XX,<V1=0>
|
|
8182 IFL XX,<V1=-1>
|
|
8183 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8184 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8185 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8186 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8187 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8188
|
|
8189 000001 000000 F33510: AA1=XX ;INITIAL C(AC)
|
|
8190 035701 200 05 0 00 044022 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8191 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8192 035702 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8193 000001 AEE=1 ;INITIAL C(E)
|
|
8194 035703 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8195 035704 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8196 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8197 035705 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8198 035706 003 05 0 00 033511 ER3 AC,33511 ;HIGH PRODUCT FAILED
|
|
8199 000001 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8200 035707 312 06 0 00 044022 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8201 035710 004 06 0 00 033512 ER4 AC+1,33512 ;LOW PRODUCT FAILED
|
|
8202 000001 AEE=1 ;INITIAL C(E)
|
|
8203 035711 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-11
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0169
|
|
|
|
8204 035712 005 03 0 00 033513 ER5 E,33513 ;C(E) WAS CLOBBERED
|
|
8205 035713 321 07 0 00 035701 JUMPL AC+2,F33510 ;LOOP ON ERROR SWITCH^
|
|
8206 ;LAST CASE IS DIFFERENT
|
|
8207 003352 ADR=ADR+1
|
|
8208 000002 000000 XX=XX+XX
|
|
8209 IFE XX,<XX=1>
|
|
8210
|
|
8211 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8212 000000 IFG XX,<V1=0>
|
|
8213 IFL XX,<V1=-1>
|
|
8214 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8215 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8216 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8217 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8218 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8219
|
|
8220 000002 000000 F33520: AA1=XX ;INITIAL C(AC)
|
|
8221 035714 200 05 0 00 044023 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8222 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8223 035715 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8224 000001 AEE=1 ;INITIAL C(E)
|
|
8225 035716 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8226 035717 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8227 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8228 035720 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8229 035721 003 05 0 00 033521 ER3 AC,33521 ;HIGH PRODUCT FAILED
|
|
8230 000002 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8231 035722 312 06 0 00 044023 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8232 035723 004 06 0 00 033522 ER4 AC+1,33522 ;LOW PRODUCT FAILED
|
|
8233 000001 AEE=1 ;INITIAL C(E)
|
|
8234 035724 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8235 035725 005 03 0 00 033523 ER5 E,33523 ;C(E) WAS CLOBBERED
|
|
8236 035726 321 07 0 00 035714 JUMPL AC+2,F33520 ;LOOP ON ERROR SWITCH^
|
|
8237 ;LAST CASE IS DIFFERENT
|
|
8238 003353 ADR=ADR+1
|
|
8239 000004 000000 XX=XX+XX
|
|
8240 IFE XX,<XX=1>
|
|
8241
|
|
8242 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8243 000000 IFG XX,<V1=0>
|
|
8244 IFL XX,<V1=-1>
|
|
8245 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8246 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8247 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8248 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8249 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8250
|
|
8251 000004 000000 F33530: AA1=XX ;INITIAL C(AC)
|
|
8252 035727 200 05 0 00 044024 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8253 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8254 035730 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8255 000001 AEE=1 ;INITIAL C(E)
|
|
8256 035731 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8257 035732 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8258 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-12
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0170
|
|
|
|
8259 035733 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8260 035734 003 05 0 00 033531 ER3 AC,33531 ;HIGH PRODUCT FAILED
|
|
8261 000004 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8262 035735 312 06 0 00 044024 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8263 035736 004 06 0 00 033532 ER4 AC+1,33532 ;LOW PRODUCT FAILED
|
|
8264 000001 AEE=1 ;INITIAL C(E)
|
|
8265 035737 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8266 035740 005 03 0 00 033533 ER5 E,33533 ;C(E) WAS CLOBBERED
|
|
8267 035741 321 07 0 00 035727 JUMPL AC+2,F33530 ;LOOP ON ERROR SWITCH^
|
|
8268 ;LAST CASE IS DIFFERENT
|
|
8269 003354 ADR=ADR+1
|
|
8270 000010 000000 XX=XX+XX
|
|
8271 IFE XX,<XX=1>
|
|
8272
|
|
8273 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8274 000000 IFG XX,<V1=0>
|
|
8275 IFL XX,<V1=-1>
|
|
8276 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8277 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8278 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8279 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8280 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8281
|
|
8282 000010 000000 F33540: AA1=XX ;INITIAL C(AC)
|
|
8283 035742 200 05 0 00 044025 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8284 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8285 035743 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8286 000001 AEE=1 ;INITIAL C(E)
|
|
8287 035744 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8288 035745 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8289 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8290 035746 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8291 035747 003 05 0 00 033541 ER3 AC,33541 ;HIGH PRODUCT FAILED
|
|
8292 000010 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8293 035750 312 06 0 00 044025 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8294 035751 004 06 0 00 033542 ER4 AC+1,33542 ;LOW PRODUCT FAILED
|
|
8295 000001 AEE=1 ;INITIAL C(E)
|
|
8296 035752 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8297 035753 005 03 0 00 033543 ER5 E,33543 ;C(E) WAS CLOBBERED
|
|
8298 035754 321 07 0 00 035742 JUMPL AC+2,F33540 ;LOOP ON ERROR SWITCH^
|
|
8299 ;LAST CASE IS DIFFERENT
|
|
8300 003355 ADR=ADR+1
|
|
8301 000020 000000 XX=XX+XX
|
|
8302 IFE XX,<XX=1>
|
|
8303
|
|
8304 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8305 000000 IFG XX,<V1=0>
|
|
8306 IFL XX,<V1=-1>
|
|
8307 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8308 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8309 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8310 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8311 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8312
|
|
8313 000020 000000 F33550: AA1=XX ;INITIAL C(AC)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-13
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0171
|
|
|
|
8314 035755 200 05 0 00 044026 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8315 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8316 035756 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8317 000001 AEE=1 ;INITIAL C(E)
|
|
8318 035757 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8319 035760 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8320 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8321 035761 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8322 035762 003 05 0 00 033551 ER3 AC,33551 ;HIGH PRODUCT FAILED
|
|
8323 000020 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8324 035763 312 06 0 00 044026 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8325 035764 004 06 0 00 033552 ER4 AC+1,33552 ;LOW PRODUCT FAILED
|
|
8326 000001 AEE=1 ;INITIAL C(E)
|
|
8327 035765 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8328 035766 005 03 0 00 033553 ER5 E,33553 ;C(E) WAS CLOBBERED
|
|
8329 035767 321 07 0 00 035755 JUMPL AC+2,F33550 ;LOOP ON ERROR SWITCH^
|
|
8330 ;LAST CASE IS DIFFERENT
|
|
8331 003356 ADR=ADR+1
|
|
8332 000040 000000 XX=XX+XX
|
|
8333 IFE XX,<XX=1>
|
|
8334
|
|
8335 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8336 000000 IFG XX,<V1=0>
|
|
8337 IFL XX,<V1=-1>
|
|
8338 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8339 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8340 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8341 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8342 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8343
|
|
8344 000040 000000 F33560: AA1=XX ;INITIAL C(AC)
|
|
8345 035770 200 05 0 00 044027 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8346 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8347 035771 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8348 000001 AEE=1 ;INITIAL C(E)
|
|
8349 035772 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8350 035773 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8351 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8352 035774 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8353 035775 003 05 0 00 033561 ER3 AC,33561 ;HIGH PRODUCT FAILED
|
|
8354 000040 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8355 035776 312 06 0 00 044027 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8356 035777 004 06 0 00 033562 ER4 AC+1,33562 ;LOW PRODUCT FAILED
|
|
8357 000001 AEE=1 ;INITIAL C(E)
|
|
8358 036000 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8359 036001 005 03 0 00 033563 ER5 E,33563 ;C(E) WAS CLOBBERED
|
|
8360 036002 321 07 0 00 035770 JUMPL AC+2,F33560 ;LOOP ON ERROR SWITCH^
|
|
8361 ;LAST CASE IS DIFFERENT
|
|
8362 003357 ADR=ADR+1
|
|
8363 000100 000000 XX=XX+XX
|
|
8364 IFE XX,<XX=1>
|
|
8365
|
|
8366 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8367 000000 IFG XX,<V1=0>
|
|
8368 IFL XX,<V1=-1>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-14
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0172
|
|
|
|
8369 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8370 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8371 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8372 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8373 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8374
|
|
8375 000100 000000 F33570: AA1=XX ;INITIAL C(AC)
|
|
8376 036003 200 05 0 00 044030 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8377 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8378 036004 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8379 000001 AEE=1 ;INITIAL C(E)
|
|
8380 036005 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8381 036006 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8382 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8383 036007 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8384 036010 003 05 0 00 033571 ER3 AC,33571 ;HIGH PRODUCT FAILED
|
|
8385 000100 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8386 036011 312 06 0 00 044030 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8387 036012 004 06 0 00 033572 ER4 AC+1,33572 ;LOW PRODUCT FAILED
|
|
8388 000001 AEE=1 ;INITIAL C(E)
|
|
8389 036013 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8390 036014 005 03 0 00 033573 ER5 E,33573 ;C(E) WAS CLOBBERED
|
|
8391 036015 321 07 0 00 036003 JUMPL AC+2,F33570 ;LOOP ON ERROR SWITCH^
|
|
8392 ;LAST CASE IS DIFFERENT
|
|
8393 003360 ADR=ADR+1
|
|
8394 000200 000000 XX=XX+XX
|
|
8395 IFE XX,<XX=1>
|
|
8396
|
|
8397 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8398 000000 IFG XX,<V1=0>
|
|
8399 IFL XX,<V1=-1>
|
|
8400 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8401 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8402 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8403 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8404 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8405
|
|
8406 000200 000000 F33600: AA1=XX ;INITIAL C(AC)
|
|
8407 036016 200 05 0 00 044031 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8408 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8409 036017 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8410 000001 AEE=1 ;INITIAL C(E)
|
|
8411 036020 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8412 036021 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8413 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8414 036022 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8415 036023 003 05 0 00 033601 ER3 AC,33601 ;HIGH PRODUCT FAILED
|
|
8416 000200 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8417 036024 312 06 0 00 044031 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8418 036025 004 06 0 00 033602 ER4 AC+1,33602 ;LOW PRODUCT FAILED
|
|
8419 000001 AEE=1 ;INITIAL C(E)
|
|
8420 036026 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8421 036027 005 03 0 00 033603 ER5 E,33603 ;C(E) WAS CLOBBERED
|
|
8422 036030 321 07 0 00 036016 JUMPL AC+2,F33600 ;LOOP ON ERROR SWITCH^
|
|
8423 ;LAST CASE IS DIFFERENT
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-15
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0173
|
|
|
|
8424 003361 ADR=ADR+1
|
|
8425 000400 000000 XX=XX+XX
|
|
8426 IFE XX,<XX=1>
|
|
8427
|
|
8428 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8429 000000 IFG XX,<V1=0>
|
|
8430 IFL XX,<V1=-1>
|
|
8431 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8432 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8433 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8434 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8435 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8436
|
|
8437 000400 000000 F33610: AA1=XX ;INITIAL C(AC)
|
|
8438 036031 200 05 0 00 044032 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8439 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8440 036032 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8441 000001 AEE=1 ;INITIAL C(E)
|
|
8442 036033 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8443 036034 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8444 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8445 036035 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8446 036036 003 05 0 00 033611 ER3 AC,33611 ;HIGH PRODUCT FAILED
|
|
8447 000400 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8448 036037 312 06 0 00 044032 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8449 036040 004 06 0 00 033612 ER4 AC+1,33612 ;LOW PRODUCT FAILED
|
|
8450 000001 AEE=1 ;INITIAL C(E)
|
|
8451 036041 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8452 036042 005 03 0 00 033613 ER5 E,33613 ;C(E) WAS CLOBBERED
|
|
8453 036043 321 07 0 00 036031 JUMPL AC+2,F33610 ;LOOP ON ERROR SWITCH^
|
|
8454 ;LAST CASE IS DIFFERENT
|
|
8455 003362 ADR=ADR+1
|
|
8456 001000 000000 XX=XX+XX
|
|
8457 IFE XX,<XX=1>
|
|
8458
|
|
8459 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8460 000000 IFG XX,<V1=0>
|
|
8461 IFL XX,<V1=-1>
|
|
8462 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8463 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8464 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8465 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8466 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8467
|
|
8468 001000 000000 F33620: AA1=XX ;INITIAL C(AC)
|
|
8469 036044 200 05 0 00 044033 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8470 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8471 036045 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8472 000001 AEE=1 ;INITIAL C(E)
|
|
8473 036046 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8474 036047 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8475 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8476 036050 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8477 036051 003 05 0 00 033621 ER3 AC,33621 ;HIGH PRODUCT FAILED
|
|
8478 001000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-16
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0174
|
|
|
|
8479 036052 312 06 0 00 044033 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8480 036053 004 06 0 00 033622 ER4 AC+1,33622 ;LOW PRODUCT FAILED
|
|
8481 000001 AEE=1 ;INITIAL C(E)
|
|
8482 036054 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8483 036055 005 03 0 00 033623 ER5 E,33623 ;C(E) WAS CLOBBERED
|
|
8484 036056 321 07 0 00 036044 JUMPL AC+2,F33620 ;LOOP ON ERROR SWITCH^
|
|
8485 ;LAST CASE IS DIFFERENT
|
|
8486 003363 ADR=ADR+1
|
|
8487 002000 000000 XX=XX+XX
|
|
8488 IFE XX,<XX=1>
|
|
8489
|
|
8490 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8491 000000 IFG XX,<V1=0>
|
|
8492 IFL XX,<V1=-1>
|
|
8493 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8494 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8495 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8496 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8497 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8498
|
|
8499 002000 000000 F33630: AA1=XX ;INITIAL C(AC)
|
|
8500 036057 200 05 0 00 044034 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8501 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8502 036060 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8503 000001 AEE=1 ;INITIAL C(E)
|
|
8504 036061 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8505 036062 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8506 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8507 036063 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8508 036064 003 05 0 00 033631 ER3 AC,33631 ;HIGH PRODUCT FAILED
|
|
8509 002000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8510 036065 312 06 0 00 044034 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8511 036066 004 06 0 00 033632 ER4 AC+1,33632 ;LOW PRODUCT FAILED
|
|
8512 000001 AEE=1 ;INITIAL C(E)
|
|
8513 036067 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8514 036070 005 03 0 00 033633 ER5 E,33633 ;C(E) WAS CLOBBERED
|
|
8515 036071 321 07 0 00 036057 JUMPL AC+2,F33630 ;LOOP ON ERROR SWITCH^
|
|
8516 ;LAST CASE IS DIFFERENT
|
|
8517 003364 ADR=ADR+1
|
|
8518 004000 000000 XX=XX+XX
|
|
8519 IFE XX,<XX=1>
|
|
8520
|
|
8521 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8522 000000 IFG XX,<V1=0>
|
|
8523 IFL XX,<V1=-1>
|
|
8524 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8525 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8526 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8527 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8528 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8529
|
|
8530 004000 000000 F33640: AA1=XX ;INITIAL C(AC)
|
|
8531 036072 200 05 0 00 044035 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8532 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8533 036073 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-17
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0175
|
|
|
|
8534 000001 AEE=1 ;INITIAL C(E)
|
|
8535 036074 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8536 036075 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8537 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8538 036076 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8539 036077 003 05 0 00 033641 ER3 AC,33641 ;HIGH PRODUCT FAILED
|
|
8540 004000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8541 036100 312 06 0 00 044035 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8542 036101 004 06 0 00 033642 ER4 AC+1,33642 ;LOW PRODUCT FAILED
|
|
8543 000001 AEE=1 ;INITIAL C(E)
|
|
8544 036102 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8545 036103 005 03 0 00 033643 ER5 E,33643 ;C(E) WAS CLOBBERED
|
|
8546 036104 321 07 0 00 036072 JUMPL AC+2,F33640 ;LOOP ON ERROR SWITCH^
|
|
8547 ;LAST CASE IS DIFFERENT
|
|
8548 003365 ADR=ADR+1
|
|
8549 010000 000000 XX=XX+XX
|
|
8550 IFE XX,<XX=1>
|
|
8551
|
|
8552 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8553 000000 IFG XX,<V1=0>
|
|
8554 IFL XX,<V1=-1>
|
|
8555 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8556 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8557 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8558 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8559 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8560
|
|
8561 010000 000000 F33650: AA1=XX ;INITIAL C(AC)
|
|
8562 036105 200 05 0 00 044036 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8563 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8564 036106 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8565 000001 AEE=1 ;INITIAL C(E)
|
|
8566 036107 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8567 036110 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8568 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8569 036111 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8570 036112 003 05 0 00 033651 ER3 AC,33651 ;HIGH PRODUCT FAILED
|
|
8571 010000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8572 036113 312 06 0 00 044036 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8573 036114 004 06 0 00 033652 ER4 AC+1,33652 ;LOW PRODUCT FAILED
|
|
8574 000001 AEE=1 ;INITIAL C(E)
|
|
8575 036115 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8576 036116 005 03 0 00 033653 ER5 E,33653 ;C(E) WAS CLOBBERED
|
|
8577 036117 321 07 0 00 036105 JUMPL AC+2,F33650 ;LOOP ON ERROR SWITCH^
|
|
8578 ;LAST CASE IS DIFFERENT
|
|
8579 003366 ADR=ADR+1
|
|
8580 020000 000000 XX=XX+XX
|
|
8581 IFE XX,<XX=1>
|
|
8582
|
|
8583 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8584 000000 IFG XX,<V1=0>
|
|
8585 IFL XX,<V1=-1>
|
|
8586 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8587 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8588 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-18
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0176
|
|
|
|
8589 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8590 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8591
|
|
8592 020000 000000 F33660: AA1=XX ;INITIAL C(AC)
|
|
8593 036120 200 05 0 00 044037 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8594 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8595 036121 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8596 000001 AEE=1 ;INITIAL C(E)
|
|
8597 036122 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8598 036123 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8599 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8600 036124 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8601 036125 003 05 0 00 033661 ER3 AC,33661 ;HIGH PRODUCT FAILED
|
|
8602 020000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8603 036126 312 06 0 00 044037 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8604 036127 004 06 0 00 033662 ER4 AC+1,33662 ;LOW PRODUCT FAILED
|
|
8605 000001 AEE=1 ;INITIAL C(E)
|
|
8606 036130 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8607 036131 005 03 0 00 033663 ER5 E,33663 ;C(E) WAS CLOBBERED
|
|
8608 036132 321 07 0 00 036120 JUMPL AC+2,F33660 ;LOOP ON ERROR SWITCH^
|
|
8609 ;LAST CASE IS DIFFERENT
|
|
8610 003367 ADR=ADR+1
|
|
8611 040000 000000 XX=XX+XX
|
|
8612 IFE XX,<XX=1>
|
|
8613
|
|
8614 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8615 000000 IFG XX,<V1=0>
|
|
8616 IFL XX,<V1=-1>
|
|
8617 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8618 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8619 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8620 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8621 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8622
|
|
8623 040000 000000 F33670: AA1=XX ;INITIAL C(AC)
|
|
8624 036133 200 05 0 00 044040 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8625 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8626 036134 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8627 000001 AEE=1 ;INITIAL C(E)
|
|
8628 036135 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8629 036136 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8630 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8631 036137 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8632 036140 003 05 0 00 033671 ER3 AC,33671 ;HIGH PRODUCT FAILED
|
|
8633 040000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8634 036141 312 06 0 00 044040 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8635 036142 004 06 0 00 033672 ER4 AC+1,33672 ;LOW PRODUCT FAILED
|
|
8636 000001 AEE=1 ;INITIAL C(E)
|
|
8637 036143 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8638 036144 005 03 0 00 033673 ER5 E,33673 ;C(E) WAS CLOBBERED
|
|
8639 036145 321 07 0 00 036133 JUMPL AC+2,F33670 ;LOOP ON ERROR SWITCH^
|
|
8640 ;LAST CASE IS DIFFERENT
|
|
8641 003370 ADR=ADR+1
|
|
8642 100000 000000 XX=XX+XX
|
|
8643 IFE XX,<XX=1>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-19
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0177
|
|
|
|
8644
|
|
8645 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8646 000000 IFG XX,<V1=0>
|
|
8647 IFL XX,<V1=-1>
|
|
8648 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8649 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8650 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8651 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8652 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8653
|
|
8654 100000 000000 F33700: AA1=XX ;INITIAL C(AC)
|
|
8655 036146 200 05 0 00 044041 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8656 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8657 036147 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8658 000001 AEE=1 ;INITIAL C(E)
|
|
8659 036150 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8660 036151 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8661 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8662 036152 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8663 036153 003 05 0 00 033701 ER3 AC,33701 ;HIGH PRODUCT FAILED
|
|
8664 100000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8665 036154 312 06 0 00 044041 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8666 036155 004 06 0 00 033702 ER4 AC+1,33702 ;LOW PRODUCT FAILED
|
|
8667 000001 AEE=1 ;INITIAL C(E)
|
|
8668 036156 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8669 036157 005 03 0 00 033703 ER5 E,33703 ;C(E) WAS CLOBBERED
|
|
8670 036160 321 07 0 00 036146 JUMPL AC+2,F33700 ;LOOP ON ERROR SWITCH^
|
|
8671 ;LAST CASE IS DIFFERENT
|
|
8672 003371 ADR=ADR+1
|
|
8673 200000 000000 XX=XX+XX
|
|
8674 IFE XX,<XX=1>
|
|
8675
|
|
8676 ;MULTIPLY A 1 BY A RIPPLED 1 TO GET PRODUCT OF RIPPLED 1
|
|
8677 000000 IFG XX,<V1=0>
|
|
8678 IFL XX,<V1=-1>
|
|
8679 MOP1 (\ADR,XX,-1,1,V1,XX)^
|
|
8680 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8681 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8682 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
8683 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8684
|
|
8685 200000 000000 F33710: AA1=XX ;INITIAL C(AC)
|
|
8686 036161 200 05 0 00 044042 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8687 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8688 036162 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8689 000001 AEE=1 ;INITIAL C(E)
|
|
8690 036163 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8691 036164 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8692 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8693 036165 312 05 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8694 036166 003 05 0 00 033711 ER3 AC,33711 ;HIGH PRODUCT FAILED
|
|
8695 200000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
8696 036167 312 06 0 00 044042 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
8697 036170 004 06 0 00 033712 ER4 AC+1,33712 ;LOW PRODUCT FAILED
|
|
8698 000001 AEE=1 ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 11-20
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0178
|
|
|
|
8699 036171 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8700 036172 005 03 0 00 033713 ER5 E,33713 ;C(E) WAS CLOBBERED
|
|
8701 036173 321 07 0 00 036161 JUMPL AC+2,F33710 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 12
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0179
|
|
|
|
8702 ;MULTIPLY A 1 BY 400000,,0
|
|
8703 400000 000000 XX=400000000000
|
|
8704 003372 ADR=ADR+1
|
|
8705
|
|
8706 MOP1 (\ADR,XX,-1,1,1,0)^
|
|
8707 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
8708 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8709 ;AND E AGAINST [1], [0] AND [1] RESPECTIVELY.
|
|
8710 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8711
|
|
8712 400000 000000 F33720: AA1=XX ;INITIAL C(AC)
|
|
8713 036174 200 05 0 00 044043 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8714 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
8715 036175 200 06 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
8716 000001 AEE=1 ;INITIAL C(E)
|
|
8717 036176 200 03 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
8718 036177 224 05 0 00 000003 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8719 000001 AR1=1 ;EXPECTED RESULT IN AC
|
|
8720 036200 312 05 0 00 044000 CAME AC,[1] ;IS HIGH PRODUCT CORRECT?
|
|
8721 036201 003 05 0 00 033721 ER3 AC,33721 ;HIGH PRODUCT FAILED
|
|
8722 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
8723 036202 312 06 0 00 043776 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
8724 036203 004 06 0 00 033722 ER4 AC+1,33722 ;LOW PRODUCT FAILED
|
|
8725 000001 AEE=1 ;INITIAL C(E)
|
|
8726 036204 312 03 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
8727 036205 005 03 0 00 033723 ER5 E,33723 ;C(E) WAS CLOBBERED
|
|
8728 036206 321 07 0 00 036174 JUMPL AC+2,F33720 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0180
|
|
|
|
8729 000004 AC=4
|
|
8730 000002 E=<AC-2>&17
|
|
8731 SAVEAC (1,1)^
|
|
8732 036207 201 06 0 00 036207 MOVEI AC+2,. ;SAVE TEST PC
|
|
8733 036210 202 06 0 00 030051 MOVEM AC+2,TESTPC
|
|
8734 036211 201 06 0 00 000006 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
8735 036212 202 06 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
8736 000000 XX=0
|
|
8737
|
|
8738 REPEAT ^D36,<
|
|
8739 ADR=ADR+1
|
|
8740 XX=XX+XX
|
|
8741 IFE XX,<XX=1>
|
|
8742
|
|
8743 ;MULTIPLY A RIPPLED ONE BY -1
|
|
8744 IFG XX,<
|
|
8745 V1=-1
|
|
8746 V2=-XX>
|
|
8747 IFL XX,<
|
|
8748 V1=1
|
|
8749 V2=0>
|
|
8750 MOP1 (\ADR,-1,0,XX,V1,V2)>
|
|
8751
|
|
8752 003373 ADR=ADR+1
|
|
8753 000000 XX=XX+XX
|
|
8754 000001 IFE XX,<XX=1>
|
|
8755
|
|
8756 ;MULTIPLY A RIPPLED ONE BY -1
|
|
8757 IFG XX,<
|
|
8758 777777 777777 V1=-1
|
|
8759 777777 777777 V2=-XX>
|
|
8760 IFL XX,<
|
|
8761 V1=1
|
|
8762 V2=0>
|
|
8763 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
8764 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
8765 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8766 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
8767 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8768
|
|
8769 777777 777777 F33730: AA1=-1 ;INITIAL C(AC)
|
|
8770 036213 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
8771 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8772 036214 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8773 000001 AEE=XX ;INITIAL C(E)
|
|
8774 036215 200 02 0 00 044000 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
8775 036216 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8776 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8777 036217 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8778 036220 003 04 0 00 033731 ER3 AC,33731 ;HIGH PRODUCT FAILED
|
|
8779 777777 777777 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
8780 036221 312 05 0 00 043777 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
8781 036222 004 05 0 00 033732 ER4 AC+1,33732 ;LOW PRODUCT FAILED
|
|
8782 000001 AEE=XX ;INITIAL C(E)
|
|
8783 036223 312 02 0 00 044000 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-1
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0181
|
|
|
|
8784 036224 005 02 0 00 033733 ER5 E,33733 ;C(E) WAS CLOBBERED
|
|
8785 036225 321 06 0 00 036213 JUMPL AC+2,F33730 ;LOOP ON ERROR SWITCH^
|
|
8786
|
|
8787 003374 ADR=ADR+1
|
|
8788 000002 XX=XX+XX
|
|
8789 IFE XX,<XX=1>
|
|
8790
|
|
8791 ;MULTIPLY A RIPPLED ONE BY -1
|
|
8792 IFG XX,<
|
|
8793 777777 777777 V1=-1
|
|
8794 777777 777776 V2=-XX>
|
|
8795 IFL XX,<
|
|
8796 V1=1
|
|
8797 V2=0>
|
|
8798 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
8799 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
8800 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8801 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
8802 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8803
|
|
8804 777777 777777 F33740: AA1=-1 ;INITIAL C(AC)
|
|
8805 036226 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
8806 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8807 036227 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8808 000002 AEE=XX ;INITIAL C(E)
|
|
8809 036230 200 02 0 00 044001 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
8810 036231 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8811 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8812 036232 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8813 036233 003 04 0 00 033741 ER3 AC,33741 ;HIGH PRODUCT FAILED
|
|
8814 777777 777776 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
8815 036234 312 05 0 00 044044 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
8816 036235 004 05 0 00 033742 ER4 AC+1,33742 ;LOW PRODUCT FAILED
|
|
8817 000002 AEE=XX ;INITIAL C(E)
|
|
8818 036236 312 02 0 00 044001 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
8819 036237 005 02 0 00 033743 ER5 E,33743 ;C(E) WAS CLOBBERED
|
|
8820 036240 321 06 0 00 036226 JUMPL AC+2,F33740 ;LOOP ON ERROR SWITCH^
|
|
8821
|
|
8822 003375 ADR=ADR+1
|
|
8823 000004 XX=XX+XX
|
|
8824 IFE XX,<XX=1>
|
|
8825
|
|
8826 ;MULTIPLY A RIPPLED ONE BY -1
|
|
8827 IFG XX,<
|
|
8828 777777 777777 V1=-1
|
|
8829 777777 777774 V2=-XX>
|
|
8830 IFL XX,<
|
|
8831 V1=1
|
|
8832 V2=0>
|
|
8833 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
8834 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
8835 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8836 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
8837 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8838
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-2
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0182
|
|
|
|
8839 777777 777777 F33750: AA1=-1 ;INITIAL C(AC)
|
|
8840 036241 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
8841 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8842 036242 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8843 000004 AEE=XX ;INITIAL C(E)
|
|
8844 036243 200 02 0 00 044002 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
8845 036244 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8846 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8847 036245 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8848 036246 003 04 0 00 033751 ER3 AC,33751 ;HIGH PRODUCT FAILED
|
|
8849 777777 777774 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
8850 036247 312 05 0 00 044123 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
8851 036250 004 05 0 00 033752 ER4 AC+1,33752 ;LOW PRODUCT FAILED
|
|
8852 000004 AEE=XX ;INITIAL C(E)
|
|
8853 036251 312 02 0 00 044002 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
8854 036252 005 02 0 00 033753 ER5 E,33753 ;C(E) WAS CLOBBERED
|
|
8855 036253 321 06 0 00 036241 JUMPL AC+2,F33750 ;LOOP ON ERROR SWITCH^
|
|
8856
|
|
8857 003376 ADR=ADR+1
|
|
8858 000010 XX=XX+XX
|
|
8859 IFE XX,<XX=1>
|
|
8860
|
|
8861 ;MULTIPLY A RIPPLED ONE BY -1
|
|
8862 IFG XX,<
|
|
8863 777777 777777 V1=-1
|
|
8864 777777 777770 V2=-XX>
|
|
8865 IFL XX,<
|
|
8866 V1=1
|
|
8867 V2=0>
|
|
8868 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
8869 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
8870 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8871 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
8872 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8873
|
|
8874 777777 777777 F33760: AA1=-1 ;INITIAL C(AC)
|
|
8875 036254 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
8876 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8877 036255 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8878 000010 AEE=XX ;INITIAL C(E)
|
|
8879 036256 200 02 0 00 044003 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
8880 036257 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8881 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8882 036260 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8883 036261 003 04 0 00 033761 ER3 AC,33761 ;HIGH PRODUCT FAILED
|
|
8884 777777 777770 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
8885 036262 312 05 0 00 044126 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
8886 036263 004 05 0 00 033762 ER4 AC+1,33762 ;LOW PRODUCT FAILED
|
|
8887 000010 AEE=XX ;INITIAL C(E)
|
|
8888 036264 312 02 0 00 044003 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
8889 036265 005 02 0 00 033763 ER5 E,33763 ;C(E) WAS CLOBBERED
|
|
8890 036266 321 06 0 00 036254 JUMPL AC+2,F33760 ;LOOP ON ERROR SWITCH^
|
|
8891
|
|
8892 003377 ADR=ADR+1
|
|
8893 000020 XX=XX+XX
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-3
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0183
|
|
|
|
8894 IFE XX,<XX=1>
|
|
8895
|
|
8896 ;MULTIPLY A RIPPLED ONE BY -1
|
|
8897 IFG XX,<
|
|
8898 777777 777777 V1=-1
|
|
8899 777777 777760 V2=-XX>
|
|
8900 IFL XX,<
|
|
8901 V1=1
|
|
8902 V2=0>
|
|
8903 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
8904 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
8905 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8906 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
8907 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8908
|
|
8909 777777 777777 F33770: AA1=-1 ;INITIAL C(AC)
|
|
8910 036267 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
8911 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8912 036270 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8913 000020 AEE=XX ;INITIAL C(E)
|
|
8914 036271 200 02 0 00 044004 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
8915 036272 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8916 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8917 036273 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8918 036274 003 04 0 00 033771 ER3 AC,33771 ;HIGH PRODUCT FAILED
|
|
8919 777777 777760 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
8920 036275 312 05 0 00 044135 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
8921 036276 004 05 0 00 033772 ER4 AC+1,33772 ;LOW PRODUCT FAILED
|
|
8922 000020 AEE=XX ;INITIAL C(E)
|
|
8923 036277 312 02 0 00 044004 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
8924 036300 005 02 0 00 033773 ER5 E,33773 ;C(E) WAS CLOBBERED
|
|
8925 036301 321 06 0 00 036267 JUMPL AC+2,F33770 ;LOOP ON ERROR SWITCH^
|
|
8926
|
|
8927 003400 ADR=ADR+1
|
|
8928 000040 XX=XX+XX
|
|
8929 IFE XX,<XX=1>
|
|
8930
|
|
8931 ;MULTIPLY A RIPPLED ONE BY -1
|
|
8932 IFG XX,<
|
|
8933 777777 777777 V1=-1
|
|
8934 777777 777740 V2=-XX>
|
|
8935 IFL XX,<
|
|
8936 V1=1
|
|
8937 V2=0>
|
|
8938 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
8939 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
8940 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8941 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
8942 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8943
|
|
8944 777777 777777 F34000: AA1=-1 ;INITIAL C(AC)
|
|
8945 036302 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
8946 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8947 036303 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8948 000040 AEE=XX ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-4
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0184
|
|
|
|
8949 036304 200 02 0 00 044005 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
8950 036305 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8951 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8952 036306 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8953 036307 003 04 0 00 034001 ER3 AC,34001 ;HIGH PRODUCT FAILED
|
|
8954 777777 777740 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
8955 036310 312 05 0 00 044136 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
8956 036311 004 05 0 00 034002 ER4 AC+1,34002 ;LOW PRODUCT FAILED
|
|
8957 000040 AEE=XX ;INITIAL C(E)
|
|
8958 036312 312 02 0 00 044005 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
8959 036313 005 02 0 00 034003 ER5 E,34003 ;C(E) WAS CLOBBERED
|
|
8960 036314 321 06 0 00 036302 JUMPL AC+2,F34000 ;LOOP ON ERROR SWITCH^
|
|
8961
|
|
8962 003401 ADR=ADR+1
|
|
8963 000100 XX=XX+XX
|
|
8964 IFE XX,<XX=1>
|
|
8965
|
|
8966 ;MULTIPLY A RIPPLED ONE BY -1
|
|
8967 IFG XX,<
|
|
8968 777777 777777 V1=-1
|
|
8969 777777 777700 V2=-XX>
|
|
8970 IFL XX,<
|
|
8971 V1=1
|
|
8972 V2=0>
|
|
8973 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
8974 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
8975 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8976 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
8977 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8978
|
|
8979 777777 777777 F34010: AA1=-1 ;INITIAL C(AC)
|
|
8980 036315 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
8981 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8982 036316 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8983 000100 AEE=XX ;INITIAL C(E)
|
|
8984 036317 200 02 0 00 044006 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
8985 036320 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8986 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
8987 036321 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
8988 036322 003 04 0 00 034011 ER3 AC,34011 ;HIGH PRODUCT FAILED
|
|
8989 777777 777700 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
8990 036323 312 05 0 00 044137 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
8991 036324 004 05 0 00 034012 ER4 AC+1,34012 ;LOW PRODUCT FAILED
|
|
8992 000100 AEE=XX ;INITIAL C(E)
|
|
8993 036325 312 02 0 00 044006 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
8994 036326 005 02 0 00 034013 ER5 E,34013 ;C(E) WAS CLOBBERED
|
|
8995 036327 321 06 0 00 036315 JUMPL AC+2,F34010 ;LOOP ON ERROR SWITCH^
|
|
8996
|
|
8997 003402 ADR=ADR+1
|
|
8998 000200 XX=XX+XX
|
|
8999 IFE XX,<XX=1>
|
|
9000
|
|
9001 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9002 IFG XX,<
|
|
9003 777777 777777 V1=-1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-5
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0185
|
|
|
|
9004 777777 777600 V2=-XX>
|
|
9005 IFL XX,<
|
|
9006 V1=1
|
|
9007 V2=0>
|
|
9008 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9009 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9010 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9011 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9012 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9013
|
|
9014 777777 777777 F34020: AA1=-1 ;INITIAL C(AC)
|
|
9015 036330 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9016 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9017 036331 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9018 000200 AEE=XX ;INITIAL C(E)
|
|
9019 036332 200 02 0 00 044007 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9020 036333 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9021 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9022 036334 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9023 036335 003 04 0 00 034021 ER3 AC,34021 ;HIGH PRODUCT FAILED
|
|
9024 777777 777600 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9025 036336 312 05 0 00 044140 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9026 036337 004 05 0 00 034022 ER4 AC+1,34022 ;LOW PRODUCT FAILED
|
|
9027 000200 AEE=XX ;INITIAL C(E)
|
|
9028 036340 312 02 0 00 044007 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9029 036341 005 02 0 00 034023 ER5 E,34023 ;C(E) WAS CLOBBERED
|
|
9030 036342 321 06 0 00 036330 JUMPL AC+2,F34020 ;LOOP ON ERROR SWITCH^
|
|
9031
|
|
9032 003403 ADR=ADR+1
|
|
9033 000400 XX=XX+XX
|
|
9034 IFE XX,<XX=1>
|
|
9035
|
|
9036 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9037 IFG XX,<
|
|
9038 777777 777777 V1=-1
|
|
9039 777777 777400 V2=-XX>
|
|
9040 IFL XX,<
|
|
9041 V1=1
|
|
9042 V2=0>
|
|
9043 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9044 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9045 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9046 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9047 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9048
|
|
9049 777777 777777 F34030: AA1=-1 ;INITIAL C(AC)
|
|
9050 036343 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9051 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9052 036344 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9053 000400 AEE=XX ;INITIAL C(E)
|
|
9054 036345 200 02 0 00 044010 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9055 036346 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9056 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9057 036347 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9058 036350 003 04 0 00 034031 ER3 AC,34031 ;HIGH PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-6
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0186
|
|
|
|
9059 777777 777400 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9060 036351 312 05 0 00 044141 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9061 036352 004 05 0 00 034032 ER4 AC+1,34032 ;LOW PRODUCT FAILED
|
|
9062 000400 AEE=XX ;INITIAL C(E)
|
|
9063 036353 312 02 0 00 044010 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9064 036354 005 02 0 00 034033 ER5 E,34033 ;C(E) WAS CLOBBERED
|
|
9065 036355 321 06 0 00 036343 JUMPL AC+2,F34030 ;LOOP ON ERROR SWITCH^
|
|
9066
|
|
9067 003404 ADR=ADR+1
|
|
9068 001000 XX=XX+XX
|
|
9069 IFE XX,<XX=1>
|
|
9070
|
|
9071 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9072 IFG XX,<
|
|
9073 777777 777777 V1=-1
|
|
9074 777777 777000 V2=-XX>
|
|
9075 IFL XX,<
|
|
9076 V1=1
|
|
9077 V2=0>
|
|
9078 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9079 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9080 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9081 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9082 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9083
|
|
9084 777777 777777 F34040: AA1=-1 ;INITIAL C(AC)
|
|
9085 036356 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9086 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9087 036357 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9088 001000 AEE=XX ;INITIAL C(E)
|
|
9089 036360 200 02 0 00 044011 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9090 036361 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9091 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9092 036362 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9093 036363 003 04 0 00 034041 ER3 AC,34041 ;HIGH PRODUCT FAILED
|
|
9094 777777 777000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9095 036364 312 05 0 00 044142 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9096 036365 004 05 0 00 034042 ER4 AC+1,34042 ;LOW PRODUCT FAILED
|
|
9097 001000 AEE=XX ;INITIAL C(E)
|
|
9098 036366 312 02 0 00 044011 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9099 036367 005 02 0 00 034043 ER5 E,34043 ;C(E) WAS CLOBBERED
|
|
9100 036370 321 06 0 00 036356 JUMPL AC+2,F34040 ;LOOP ON ERROR SWITCH^
|
|
9101
|
|
9102 003405 ADR=ADR+1
|
|
9103 002000 XX=XX+XX
|
|
9104 IFE XX,<XX=1>
|
|
9105
|
|
9106 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9107 IFG XX,<
|
|
9108 777777 777777 V1=-1
|
|
9109 777777 776000 V2=-XX>
|
|
9110 IFL XX,<
|
|
9111 V1=1
|
|
9112 V2=0>
|
|
9113 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-7
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0187
|
|
|
|
9114 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9115 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9116 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9117 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9118
|
|
9119 777777 777777 F34050: AA1=-1 ;INITIAL C(AC)
|
|
9120 036371 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9121 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9122 036372 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9123 002000 AEE=XX ;INITIAL C(E)
|
|
9124 036373 200 02 0 00 044012 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9125 036374 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9126 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9127 036375 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9128 036376 003 04 0 00 034051 ER3 AC,34051 ;HIGH PRODUCT FAILED
|
|
9129 777777 776000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9130 036377 312 05 0 00 044143 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9131 036400 004 05 0 00 034052 ER4 AC+1,34052 ;LOW PRODUCT FAILED
|
|
9132 002000 AEE=XX ;INITIAL C(E)
|
|
9133 036401 312 02 0 00 044012 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9134 036402 005 02 0 00 034053 ER5 E,34053 ;C(E) WAS CLOBBERED
|
|
9135 036403 321 06 0 00 036371 JUMPL AC+2,F34050 ;LOOP ON ERROR SWITCH^
|
|
9136
|
|
9137 003406 ADR=ADR+1
|
|
9138 004000 XX=XX+XX
|
|
9139 IFE XX,<XX=1>
|
|
9140
|
|
9141 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9142 IFG XX,<
|
|
9143 777777 777777 V1=-1
|
|
9144 777777 774000 V2=-XX>
|
|
9145 IFL XX,<
|
|
9146 V1=1
|
|
9147 V2=0>
|
|
9148 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9149 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9150 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9151 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9152 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9153
|
|
9154 777777 777777 F34060: AA1=-1 ;INITIAL C(AC)
|
|
9155 036404 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9156 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9157 036405 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9158 004000 AEE=XX ;INITIAL C(E)
|
|
9159 036406 200 02 0 00 044013 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9160 036407 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9161 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9162 036410 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9163 036411 003 04 0 00 034061 ER3 AC,34061 ;HIGH PRODUCT FAILED
|
|
9164 777777 774000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9165 036412 312 05 0 00 044144 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9166 036413 004 05 0 00 034062 ER4 AC+1,34062 ;LOW PRODUCT FAILED
|
|
9167 004000 AEE=XX ;INITIAL C(E)
|
|
9168 036414 312 02 0 00 044013 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-8
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0188
|
|
|
|
9169 036415 005 02 0 00 034063 ER5 E,34063 ;C(E) WAS CLOBBERED
|
|
9170 036416 321 06 0 00 036404 JUMPL AC+2,F34060 ;LOOP ON ERROR SWITCH^
|
|
9171
|
|
9172 003407 ADR=ADR+1
|
|
9173 010000 XX=XX+XX
|
|
9174 IFE XX,<XX=1>
|
|
9175
|
|
9176 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9177 IFG XX,<
|
|
9178 777777 777777 V1=-1
|
|
9179 777777 770000 V2=-XX>
|
|
9180 IFL XX,<
|
|
9181 V1=1
|
|
9182 V2=0>
|
|
9183 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9184 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9185 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9186 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9187 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9188
|
|
9189 777777 777777 F34070: AA1=-1 ;INITIAL C(AC)
|
|
9190 036417 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9191 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9192 036420 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9193 010000 AEE=XX ;INITIAL C(E)
|
|
9194 036421 200 02 0 00 044014 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9195 036422 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9196 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9197 036423 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9198 036424 003 04 0 00 034071 ER3 AC,34071 ;HIGH PRODUCT FAILED
|
|
9199 777777 770000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9200 036425 312 05 0 00 044145 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9201 036426 004 05 0 00 034072 ER4 AC+1,34072 ;LOW PRODUCT FAILED
|
|
9202 010000 AEE=XX ;INITIAL C(E)
|
|
9203 036427 312 02 0 00 044014 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9204 036430 005 02 0 00 034073 ER5 E,34073 ;C(E) WAS CLOBBERED
|
|
9205 036431 321 06 0 00 036417 JUMPL AC+2,F34070 ;LOOP ON ERROR SWITCH^
|
|
9206
|
|
9207 003410 ADR=ADR+1
|
|
9208 020000 XX=XX+XX
|
|
9209 IFE XX,<XX=1>
|
|
9210
|
|
9211 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9212 IFG XX,<
|
|
9213 777777 777777 V1=-1
|
|
9214 777777 760000 V2=-XX>
|
|
9215 IFL XX,<
|
|
9216 V1=1
|
|
9217 V2=0>
|
|
9218 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9219 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9220 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9221 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9222 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9223
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-9
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0189
|
|
|
|
9224 777777 777777 F34100: AA1=-1 ;INITIAL C(AC)
|
|
9225 036432 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9226 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9227 036433 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9228 020000 AEE=XX ;INITIAL C(E)
|
|
9229 036434 200 02 0 00 044015 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9230 036435 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9231 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9232 036436 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9233 036437 003 04 0 00 034101 ER3 AC,34101 ;HIGH PRODUCT FAILED
|
|
9234 777777 760000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9235 036440 312 05 0 00 044146 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9236 036441 004 05 0 00 034102 ER4 AC+1,34102 ;LOW PRODUCT FAILED
|
|
9237 020000 AEE=XX ;INITIAL C(E)
|
|
9238 036442 312 02 0 00 044015 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9239 036443 005 02 0 00 034103 ER5 E,34103 ;C(E) WAS CLOBBERED
|
|
9240 036444 321 06 0 00 036432 JUMPL AC+2,F34100 ;LOOP ON ERROR SWITCH^
|
|
9241
|
|
9242 003411 ADR=ADR+1
|
|
9243 040000 XX=XX+XX
|
|
9244 IFE XX,<XX=1>
|
|
9245
|
|
9246 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9247 IFG XX,<
|
|
9248 777777 777777 V1=-1
|
|
9249 777777 740000 V2=-XX>
|
|
9250 IFL XX,<
|
|
9251 V1=1
|
|
9252 V2=0>
|
|
9253 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9254 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9255 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9256 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9257 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9258
|
|
9259 777777 777777 F34110: AA1=-1 ;INITIAL C(AC)
|
|
9260 036445 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9261 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9262 036446 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9263 040000 AEE=XX ;INITIAL C(E)
|
|
9264 036447 200 02 0 00 044016 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9265 036450 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9266 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9267 036451 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9268 036452 003 04 0 00 034111 ER3 AC,34111 ;HIGH PRODUCT FAILED
|
|
9269 777777 740000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9270 036453 312 05 0 00 044147 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9271 036454 004 05 0 00 034112 ER4 AC+1,34112 ;LOW PRODUCT FAILED
|
|
9272 040000 AEE=XX ;INITIAL C(E)
|
|
9273 036455 312 02 0 00 044016 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9274 036456 005 02 0 00 034113 ER5 E,34113 ;C(E) WAS CLOBBERED
|
|
9275 036457 321 06 0 00 036445 JUMPL AC+2,F34110 ;LOOP ON ERROR SWITCH^
|
|
9276
|
|
9277 003412 ADR=ADR+1
|
|
9278 100000 XX=XX+XX
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-10
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0190
|
|
|
|
9279 IFE XX,<XX=1>
|
|
9280
|
|
9281 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9282 IFG XX,<
|
|
9283 777777 777777 V1=-1
|
|
9284 777777 700000 V2=-XX>
|
|
9285 IFL XX,<
|
|
9286 V1=1
|
|
9287 V2=0>
|
|
9288 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9289 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9290 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9291 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9292 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9293
|
|
9294 777777 777777 F34120: AA1=-1 ;INITIAL C(AC)
|
|
9295 036460 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9296 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9297 036461 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9298 100000 AEE=XX ;INITIAL C(E)
|
|
9299 036462 200 02 0 00 044017 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9300 036463 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9301 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9302 036464 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9303 036465 003 04 0 00 034121 ER3 AC,34121 ;HIGH PRODUCT FAILED
|
|
9304 777777 700000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9305 036466 312 05 0 00 044150 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9306 036467 004 05 0 00 034122 ER4 AC+1,34122 ;LOW PRODUCT FAILED
|
|
9307 100000 AEE=XX ;INITIAL C(E)
|
|
9308 036470 312 02 0 00 044017 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9309 036471 005 02 0 00 034123 ER5 E,34123 ;C(E) WAS CLOBBERED
|
|
9310 036472 321 06 0 00 036460 JUMPL AC+2,F34120 ;LOOP ON ERROR SWITCH^
|
|
9311
|
|
9312 003413 ADR=ADR+1
|
|
9313 200000 XX=XX+XX
|
|
9314 IFE XX,<XX=1>
|
|
9315
|
|
9316 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9317 IFG XX,<
|
|
9318 777777 777777 V1=-1
|
|
9319 777777 600000 V2=-XX>
|
|
9320 IFL XX,<
|
|
9321 V1=1
|
|
9322 V2=0>
|
|
9323 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9324 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9325 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9326 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9327 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9328
|
|
9329 777777 777777 F34130: AA1=-1 ;INITIAL C(AC)
|
|
9330 036473 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9331 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9332 036474 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9333 200000 AEE=XX ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-11
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0191
|
|
|
|
9334 036475 200 02 0 00 044020 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9335 036476 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9336 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9337 036477 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9338 036500 003 04 0 00 034131 ER3 AC,34131 ;HIGH PRODUCT FAILED
|
|
9339 777777 600000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9340 036501 312 05 0 00 044151 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9341 036502 004 05 0 00 034132 ER4 AC+1,34132 ;LOW PRODUCT FAILED
|
|
9342 200000 AEE=XX ;INITIAL C(E)
|
|
9343 036503 312 02 0 00 044020 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9344 036504 005 02 0 00 034133 ER5 E,34133 ;C(E) WAS CLOBBERED
|
|
9345 036505 321 06 0 00 036473 JUMPL AC+2,F34130 ;LOOP ON ERROR SWITCH^
|
|
9346
|
|
9347 003414 ADR=ADR+1
|
|
9348 400000 XX=XX+XX
|
|
9349 IFE XX,<XX=1>
|
|
9350
|
|
9351 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9352 IFG XX,<
|
|
9353 777777 777777 V1=-1
|
|
9354 777777 400000 V2=-XX>
|
|
9355 IFL XX,<
|
|
9356 V1=1
|
|
9357 V2=0>
|
|
9358 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9359 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9360 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9361 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9362 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9363
|
|
9364 777777 777777 F34140: AA1=-1 ;INITIAL C(AC)
|
|
9365 036506 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9366 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9367 036507 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9368 400000 AEE=XX ;INITIAL C(E)
|
|
9369 036510 200 02 0 00 044021 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9370 036511 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9371 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9372 036512 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9373 036513 003 04 0 00 034141 ER3 AC,34141 ;HIGH PRODUCT FAILED
|
|
9374 777777 400000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9375 036514 312 05 0 00 044152 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9376 036515 004 05 0 00 034142 ER4 AC+1,34142 ;LOW PRODUCT FAILED
|
|
9377 400000 AEE=XX ;INITIAL C(E)
|
|
9378 036516 312 02 0 00 044021 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9379 036517 005 02 0 00 034143 ER5 E,34143 ;C(E) WAS CLOBBERED
|
|
9380 036520 321 06 0 00 036506 JUMPL AC+2,F34140 ;LOOP ON ERROR SWITCH^
|
|
9381
|
|
9382 003415 ADR=ADR+1
|
|
9383 000001 000000 XX=XX+XX
|
|
9384 IFE XX,<XX=1>
|
|
9385
|
|
9386 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9387 IFG XX,<
|
|
9388 777777 777777 V1=-1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-12
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0192
|
|
|
|
9389 777777 000000 V2=-XX>
|
|
9390 IFL XX,<
|
|
9391 V1=1
|
|
9392 V2=0>
|
|
9393 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9394 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9395 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9396 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9397 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9398
|
|
9399 777777 777777 F34150: AA1=-1 ;INITIAL C(AC)
|
|
9400 036521 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9401 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9402 036522 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9403 000001 000000 AEE=XX ;INITIAL C(E)
|
|
9404 036523 200 02 0 00 044022 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9405 036524 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9406 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9407 036525 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9408 036526 003 04 0 00 034151 ER3 AC,34151 ;HIGH PRODUCT FAILED
|
|
9409 777777 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9410 036527 312 05 0 00 044153 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9411 036530 004 05 0 00 034152 ER4 AC+1,34152 ;LOW PRODUCT FAILED
|
|
9412 000001 000000 AEE=XX ;INITIAL C(E)
|
|
9413 036531 312 02 0 00 044022 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9414 036532 005 02 0 00 034153 ER5 E,34153 ;C(E) WAS CLOBBERED
|
|
9415 036533 321 06 0 00 036521 JUMPL AC+2,F34150 ;LOOP ON ERROR SWITCH^
|
|
9416
|
|
9417 003416 ADR=ADR+1
|
|
9418 000002 000000 XX=XX+XX
|
|
9419 IFE XX,<XX=1>
|
|
9420
|
|
9421 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9422 IFG XX,<
|
|
9423 777777 777777 V1=-1
|
|
9424 777776 000000 V2=-XX>
|
|
9425 IFL XX,<
|
|
9426 V1=1
|
|
9427 V2=0>
|
|
9428 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9429 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9430 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9431 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9432 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9433
|
|
9434 777777 777777 F34160: AA1=-1 ;INITIAL C(AC)
|
|
9435 036534 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9436 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9437 036535 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9438 000002 000000 AEE=XX ;INITIAL C(E)
|
|
9439 036536 200 02 0 00 044023 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9440 036537 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9441 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9442 036540 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9443 036541 003 04 0 00 034161 ER3 AC,34161 ;HIGH PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-13
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0193
|
|
|
|
9444 777776 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9445 036542 312 05 0 00 044154 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9446 036543 004 05 0 00 034162 ER4 AC+1,34162 ;LOW PRODUCT FAILED
|
|
9447 000002 000000 AEE=XX ;INITIAL C(E)
|
|
9448 036544 312 02 0 00 044023 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9449 036545 005 02 0 00 034163 ER5 E,34163 ;C(E) WAS CLOBBERED
|
|
9450 036546 321 06 0 00 036534 JUMPL AC+2,F34160 ;LOOP ON ERROR SWITCH^
|
|
9451
|
|
9452 003417 ADR=ADR+1
|
|
9453 000004 000000 XX=XX+XX
|
|
9454 IFE XX,<XX=1>
|
|
9455
|
|
9456 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9457 IFG XX,<
|
|
9458 777777 777777 V1=-1
|
|
9459 777774 000000 V2=-XX>
|
|
9460 IFL XX,<
|
|
9461 V1=1
|
|
9462 V2=0>
|
|
9463 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9464 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9465 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9466 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9467 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9468
|
|
9469 777777 777777 F34170: AA1=-1 ;INITIAL C(AC)
|
|
9470 036547 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9471 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9472 036550 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9473 000004 000000 AEE=XX ;INITIAL C(E)
|
|
9474 036551 200 02 0 00 044024 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9475 036552 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9476 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9477 036553 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9478 036554 003 04 0 00 034171 ER3 AC,34171 ;HIGH PRODUCT FAILED
|
|
9479 777774 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9480 036555 312 05 0 00 044155 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9481 036556 004 05 0 00 034172 ER4 AC+1,34172 ;LOW PRODUCT FAILED
|
|
9482 000004 000000 AEE=XX ;INITIAL C(E)
|
|
9483 036557 312 02 0 00 044024 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9484 036560 005 02 0 00 034173 ER5 E,34173 ;C(E) WAS CLOBBERED
|
|
9485 036561 321 06 0 00 036547 JUMPL AC+2,F34170 ;LOOP ON ERROR SWITCH^
|
|
9486
|
|
9487 003420 ADR=ADR+1
|
|
9488 000010 000000 XX=XX+XX
|
|
9489 IFE XX,<XX=1>
|
|
9490
|
|
9491 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9492 IFG XX,<
|
|
9493 777777 777777 V1=-1
|
|
9494 777770 000000 V2=-XX>
|
|
9495 IFL XX,<
|
|
9496 V1=1
|
|
9497 V2=0>
|
|
9498 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-14
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0194
|
|
|
|
9499 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9500 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9501 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9502 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9503
|
|
9504 777777 777777 F34200: AA1=-1 ;INITIAL C(AC)
|
|
9505 036562 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9506 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9507 036563 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9508 000010 000000 AEE=XX ;INITIAL C(E)
|
|
9509 036564 200 02 0 00 044025 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9510 036565 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9511 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9512 036566 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9513 036567 003 04 0 00 034201 ER3 AC,34201 ;HIGH PRODUCT FAILED
|
|
9514 777770 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9515 036570 312 05 0 00 044156 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9516 036571 004 05 0 00 034202 ER4 AC+1,34202 ;LOW PRODUCT FAILED
|
|
9517 000010 000000 AEE=XX ;INITIAL C(E)
|
|
9518 036572 312 02 0 00 044025 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9519 036573 005 02 0 00 034203 ER5 E,34203 ;C(E) WAS CLOBBERED
|
|
9520 036574 321 06 0 00 036562 JUMPL AC+2,F34200 ;LOOP ON ERROR SWITCH^
|
|
9521
|
|
9522 003421 ADR=ADR+1
|
|
9523 000020 000000 XX=XX+XX
|
|
9524 IFE XX,<XX=1>
|
|
9525
|
|
9526 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9527 IFG XX,<
|
|
9528 777777 777777 V1=-1
|
|
9529 777760 000000 V2=-XX>
|
|
9530 IFL XX,<
|
|
9531 V1=1
|
|
9532 V2=0>
|
|
9533 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9534 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9535 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9536 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9537 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9538
|
|
9539 777777 777777 F34210: AA1=-1 ;INITIAL C(AC)
|
|
9540 036575 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9541 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9542 036576 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9543 000020 000000 AEE=XX ;INITIAL C(E)
|
|
9544 036577 200 02 0 00 044026 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9545 036600 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9546 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9547 036601 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9548 036602 003 04 0 00 034211 ER3 AC,34211 ;HIGH PRODUCT FAILED
|
|
9549 777760 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9550 036603 312 05 0 00 044157 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9551 036604 004 05 0 00 034212 ER4 AC+1,34212 ;LOW PRODUCT FAILED
|
|
9552 000020 000000 AEE=XX ;INITIAL C(E)
|
|
9553 036605 312 02 0 00 044026 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-15
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0195
|
|
|
|
9554 036606 005 02 0 00 034213 ER5 E,34213 ;C(E) WAS CLOBBERED
|
|
9555 036607 321 06 0 00 036575 JUMPL AC+2,F34210 ;LOOP ON ERROR SWITCH^
|
|
9556
|
|
9557 003422 ADR=ADR+1
|
|
9558 000040 000000 XX=XX+XX
|
|
9559 IFE XX,<XX=1>
|
|
9560
|
|
9561 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9562 IFG XX,<
|
|
9563 777777 777777 V1=-1
|
|
9564 777740 000000 V2=-XX>
|
|
9565 IFL XX,<
|
|
9566 V1=1
|
|
9567 V2=0>
|
|
9568 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9569 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9570 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9571 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9572 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9573
|
|
9574 777777 777777 F34220: AA1=-1 ;INITIAL C(AC)
|
|
9575 036610 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9576 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9577 036611 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9578 000040 000000 AEE=XX ;INITIAL C(E)
|
|
9579 036612 200 02 0 00 044027 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9580 036613 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9581 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9582 036614 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9583 036615 003 04 0 00 034221 ER3 AC,34221 ;HIGH PRODUCT FAILED
|
|
9584 777740 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9585 036616 312 05 0 00 044160 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9586 036617 004 05 0 00 034222 ER4 AC+1,34222 ;LOW PRODUCT FAILED
|
|
9587 000040 000000 AEE=XX ;INITIAL C(E)
|
|
9588 036620 312 02 0 00 044027 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9589 036621 005 02 0 00 034223 ER5 E,34223 ;C(E) WAS CLOBBERED
|
|
9590 036622 321 06 0 00 036610 JUMPL AC+2,F34220 ;LOOP ON ERROR SWITCH^
|
|
9591
|
|
9592 003423 ADR=ADR+1
|
|
9593 000100 000000 XX=XX+XX
|
|
9594 IFE XX,<XX=1>
|
|
9595
|
|
9596 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9597 IFG XX,<
|
|
9598 777777 777777 V1=-1
|
|
9599 777700 000000 V2=-XX>
|
|
9600 IFL XX,<
|
|
9601 V1=1
|
|
9602 V2=0>
|
|
9603 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9604 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9605 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9606 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9607 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9608
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-16
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0196
|
|
|
|
9609 777777 777777 F34230: AA1=-1 ;INITIAL C(AC)
|
|
9610 036623 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9611 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9612 036624 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9613 000100 000000 AEE=XX ;INITIAL C(E)
|
|
9614 036625 200 02 0 00 044030 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9615 036626 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9616 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9617 036627 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9618 036630 003 04 0 00 034231 ER3 AC,34231 ;HIGH PRODUCT FAILED
|
|
9619 777700 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9620 036631 312 05 0 00 044161 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9621 036632 004 05 0 00 034232 ER4 AC+1,34232 ;LOW PRODUCT FAILED
|
|
9622 000100 000000 AEE=XX ;INITIAL C(E)
|
|
9623 036633 312 02 0 00 044030 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9624 036634 005 02 0 00 034233 ER5 E,34233 ;C(E) WAS CLOBBERED
|
|
9625 036635 321 06 0 00 036623 JUMPL AC+2,F34230 ;LOOP ON ERROR SWITCH^
|
|
9626
|
|
9627 003424 ADR=ADR+1
|
|
9628 000200 000000 XX=XX+XX
|
|
9629 IFE XX,<XX=1>
|
|
9630
|
|
9631 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9632 IFG XX,<
|
|
9633 777777 777777 V1=-1
|
|
9634 777600 000000 V2=-XX>
|
|
9635 IFL XX,<
|
|
9636 V1=1
|
|
9637 V2=0>
|
|
9638 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9639 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9640 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9641 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9642 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9643
|
|
9644 777777 777777 F34240: AA1=-1 ;INITIAL C(AC)
|
|
9645 036636 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9646 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9647 036637 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9648 000200 000000 AEE=XX ;INITIAL C(E)
|
|
9649 036640 200 02 0 00 044031 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9650 036641 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9651 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9652 036642 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9653 036643 003 04 0 00 034241 ER3 AC,34241 ;HIGH PRODUCT FAILED
|
|
9654 777600 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9655 036644 312 05 0 00 044162 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9656 036645 004 05 0 00 034242 ER4 AC+1,34242 ;LOW PRODUCT FAILED
|
|
9657 000200 000000 AEE=XX ;INITIAL C(E)
|
|
9658 036646 312 02 0 00 044031 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9659 036647 005 02 0 00 034243 ER5 E,34243 ;C(E) WAS CLOBBERED
|
|
9660 036650 321 06 0 00 036636 JUMPL AC+2,F34240 ;LOOP ON ERROR SWITCH^
|
|
9661
|
|
9662 003425 ADR=ADR+1
|
|
9663 000400 000000 XX=XX+XX
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-17
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0197
|
|
|
|
9664 IFE XX,<XX=1>
|
|
9665
|
|
9666 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9667 IFG XX,<
|
|
9668 777777 777777 V1=-1
|
|
9669 777400 000000 V2=-XX>
|
|
9670 IFL XX,<
|
|
9671 V1=1
|
|
9672 V2=0>
|
|
9673 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9674 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9675 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9676 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9677 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9678
|
|
9679 777777 777777 F34250: AA1=-1 ;INITIAL C(AC)
|
|
9680 036651 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9681 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9682 036652 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9683 000400 000000 AEE=XX ;INITIAL C(E)
|
|
9684 036653 200 02 0 00 044032 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9685 036654 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9686 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9687 036655 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9688 036656 003 04 0 00 034251 ER3 AC,34251 ;HIGH PRODUCT FAILED
|
|
9689 777400 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9690 036657 312 05 0 00 044163 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9691 036660 004 05 0 00 034252 ER4 AC+1,34252 ;LOW PRODUCT FAILED
|
|
9692 000400 000000 AEE=XX ;INITIAL C(E)
|
|
9693 036661 312 02 0 00 044032 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9694 036662 005 02 0 00 034253 ER5 E,34253 ;C(E) WAS CLOBBERED
|
|
9695 036663 321 06 0 00 036651 JUMPL AC+2,F34250 ;LOOP ON ERROR SWITCH^
|
|
9696
|
|
9697 003426 ADR=ADR+1
|
|
9698 001000 000000 XX=XX+XX
|
|
9699 IFE XX,<XX=1>
|
|
9700
|
|
9701 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9702 IFG XX,<
|
|
9703 777777 777777 V1=-1
|
|
9704 777000 000000 V2=-XX>
|
|
9705 IFL XX,<
|
|
9706 V1=1
|
|
9707 V2=0>
|
|
9708 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9709 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9710 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9711 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9712 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9713
|
|
9714 777777 777777 F34260: AA1=-1 ;INITIAL C(AC)
|
|
9715 036664 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9716 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9717 036665 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9718 001000 000000 AEE=XX ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-18
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0198
|
|
|
|
9719 036666 200 02 0 00 044033 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9720 036667 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9721 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9722 036670 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9723 036671 003 04 0 00 034261 ER3 AC,34261 ;HIGH PRODUCT FAILED
|
|
9724 777000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9725 036672 312 05 0 00 044164 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9726 036673 004 05 0 00 034262 ER4 AC+1,34262 ;LOW PRODUCT FAILED
|
|
9727 001000 000000 AEE=XX ;INITIAL C(E)
|
|
9728 036674 312 02 0 00 044033 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9729 036675 005 02 0 00 034263 ER5 E,34263 ;C(E) WAS CLOBBERED
|
|
9730 036676 321 06 0 00 036664 JUMPL AC+2,F34260 ;LOOP ON ERROR SWITCH^
|
|
9731
|
|
9732 003427 ADR=ADR+1
|
|
9733 002000 000000 XX=XX+XX
|
|
9734 IFE XX,<XX=1>
|
|
9735
|
|
9736 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9737 IFG XX,<
|
|
9738 777777 777777 V1=-1
|
|
9739 776000 000000 V2=-XX>
|
|
9740 IFL XX,<
|
|
9741 V1=1
|
|
9742 V2=0>
|
|
9743 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9744 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9745 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9746 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9747 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9748
|
|
9749 777777 777777 F34270: AA1=-1 ;INITIAL C(AC)
|
|
9750 036677 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9751 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9752 036700 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9753 002000 000000 AEE=XX ;INITIAL C(E)
|
|
9754 036701 200 02 0 00 044034 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9755 036702 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9756 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9757 036703 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9758 036704 003 04 0 00 034271 ER3 AC,34271 ;HIGH PRODUCT FAILED
|
|
9759 776000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9760 036705 312 05 0 00 044165 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9761 036706 004 05 0 00 034272 ER4 AC+1,34272 ;LOW PRODUCT FAILED
|
|
9762 002000 000000 AEE=XX ;INITIAL C(E)
|
|
9763 036707 312 02 0 00 044034 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9764 036710 005 02 0 00 034273 ER5 E,34273 ;C(E) WAS CLOBBERED
|
|
9765 036711 321 06 0 00 036677 JUMPL AC+2,F34270 ;LOOP ON ERROR SWITCH^
|
|
9766
|
|
9767 003430 ADR=ADR+1
|
|
9768 004000 000000 XX=XX+XX
|
|
9769 IFE XX,<XX=1>
|
|
9770
|
|
9771 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9772 IFG XX,<
|
|
9773 777777 777777 V1=-1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-19
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0199
|
|
|
|
9774 774000 000000 V2=-XX>
|
|
9775 IFL XX,<
|
|
9776 V1=1
|
|
9777 V2=0>
|
|
9778 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9779 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9780 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9781 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9782 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9783
|
|
9784 777777 777777 F34300: AA1=-1 ;INITIAL C(AC)
|
|
9785 036712 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9786 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9787 036713 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9788 004000 000000 AEE=XX ;INITIAL C(E)
|
|
9789 036714 200 02 0 00 044035 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9790 036715 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9791 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9792 036716 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9793 036717 003 04 0 00 034301 ER3 AC,34301 ;HIGH PRODUCT FAILED
|
|
9794 774000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9795 036720 312 05 0 00 044166 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9796 036721 004 05 0 00 034302 ER4 AC+1,34302 ;LOW PRODUCT FAILED
|
|
9797 004000 000000 AEE=XX ;INITIAL C(E)
|
|
9798 036722 312 02 0 00 044035 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9799 036723 005 02 0 00 034303 ER5 E,34303 ;C(E) WAS CLOBBERED
|
|
9800 036724 321 06 0 00 036712 JUMPL AC+2,F34300 ;LOOP ON ERROR SWITCH^
|
|
9801
|
|
9802 003431 ADR=ADR+1
|
|
9803 010000 000000 XX=XX+XX
|
|
9804 IFE XX,<XX=1>
|
|
9805
|
|
9806 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9807 IFG XX,<
|
|
9808 777777 777777 V1=-1
|
|
9809 770000 000000 V2=-XX>
|
|
9810 IFL XX,<
|
|
9811 V1=1
|
|
9812 V2=0>
|
|
9813 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9814 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9815 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9816 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9817 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9818
|
|
9819 777777 777777 F34310: AA1=-1 ;INITIAL C(AC)
|
|
9820 036725 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9821 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9822 036726 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9823 010000 000000 AEE=XX ;INITIAL C(E)
|
|
9824 036727 200 02 0 00 044036 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9825 036730 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9826 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9827 036731 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9828 036732 003 04 0 00 034311 ER3 AC,34311 ;HIGH PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-20
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0200
|
|
|
|
9829 770000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9830 036733 312 05 0 00 044167 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9831 036734 004 05 0 00 034312 ER4 AC+1,34312 ;LOW PRODUCT FAILED
|
|
9832 010000 000000 AEE=XX ;INITIAL C(E)
|
|
9833 036735 312 02 0 00 044036 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9834 036736 005 02 0 00 034313 ER5 E,34313 ;C(E) WAS CLOBBERED
|
|
9835 036737 321 06 0 00 036725 JUMPL AC+2,F34310 ;LOOP ON ERROR SWITCH^
|
|
9836
|
|
9837 003432 ADR=ADR+1
|
|
9838 020000 000000 XX=XX+XX
|
|
9839 IFE XX,<XX=1>
|
|
9840
|
|
9841 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9842 IFG XX,<
|
|
9843 777777 777777 V1=-1
|
|
9844 760000 000000 V2=-XX>
|
|
9845 IFL XX,<
|
|
9846 V1=1
|
|
9847 V2=0>
|
|
9848 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9849 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9850 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9851 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9852 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9853
|
|
9854 777777 777777 F34320: AA1=-1 ;INITIAL C(AC)
|
|
9855 036740 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9856 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9857 036741 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9858 020000 000000 AEE=XX ;INITIAL C(E)
|
|
9859 036742 200 02 0 00 044037 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9860 036743 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9861 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9862 036744 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9863 036745 003 04 0 00 034321 ER3 AC,34321 ;HIGH PRODUCT FAILED
|
|
9864 760000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9865 036746 312 05 0 00 044170 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9866 036747 004 05 0 00 034322 ER4 AC+1,34322 ;LOW PRODUCT FAILED
|
|
9867 020000 000000 AEE=XX ;INITIAL C(E)
|
|
9868 036750 312 02 0 00 044037 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9869 036751 005 02 0 00 034323 ER5 E,34323 ;C(E) WAS CLOBBERED
|
|
9870 036752 321 06 0 00 036740 JUMPL AC+2,F34320 ;LOOP ON ERROR SWITCH^
|
|
9871
|
|
9872 003433 ADR=ADR+1
|
|
9873 040000 000000 XX=XX+XX
|
|
9874 IFE XX,<XX=1>
|
|
9875
|
|
9876 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9877 IFG XX,<
|
|
9878 777777 777777 V1=-1
|
|
9879 740000 000000 V2=-XX>
|
|
9880 IFL XX,<
|
|
9881 V1=1
|
|
9882 V2=0>
|
|
9883 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-21
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0201
|
|
|
|
9884 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9885 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9886 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9887 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9888
|
|
9889 777777 777777 F34330: AA1=-1 ;INITIAL C(AC)
|
|
9890 036753 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9891 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9892 036754 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9893 040000 000000 AEE=XX ;INITIAL C(E)
|
|
9894 036755 200 02 0 00 044040 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9895 036756 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9896 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9897 036757 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9898 036760 003 04 0 00 034331 ER3 AC,34331 ;HIGH PRODUCT FAILED
|
|
9899 740000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9900 036761 312 05 0 00 044171 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9901 036762 004 05 0 00 034332 ER4 AC+1,34332 ;LOW PRODUCT FAILED
|
|
9902 040000 000000 AEE=XX ;INITIAL C(E)
|
|
9903 036763 312 02 0 00 044040 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9904 036764 005 02 0 00 034333 ER5 E,34333 ;C(E) WAS CLOBBERED
|
|
9905 036765 321 06 0 00 036753 JUMPL AC+2,F34330 ;LOOP ON ERROR SWITCH^
|
|
9906
|
|
9907 003434 ADR=ADR+1
|
|
9908 100000 000000 XX=XX+XX
|
|
9909 IFE XX,<XX=1>
|
|
9910
|
|
9911 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9912 IFG XX,<
|
|
9913 777777 777777 V1=-1
|
|
9914 700000 000000 V2=-XX>
|
|
9915 IFL XX,<
|
|
9916 V1=1
|
|
9917 V2=0>
|
|
9918 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9919 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9920 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9921 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9922 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9923
|
|
9924 777777 777777 F34340: AA1=-1 ;INITIAL C(AC)
|
|
9925 036766 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9926 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9927 036767 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9928 100000 000000 AEE=XX ;INITIAL C(E)
|
|
9929 036770 200 02 0 00 044041 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9930 036771 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9931 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9932 036772 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9933 036773 003 04 0 00 034341 ER3 AC,34341 ;HIGH PRODUCT FAILED
|
|
9934 700000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9935 036774 312 05 0 00 044172 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9936 036775 004 05 0 00 034342 ER4 AC+1,34342 ;LOW PRODUCT FAILED
|
|
9937 100000 000000 AEE=XX ;INITIAL C(E)
|
|
9938 036776 312 02 0 00 044041 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-22
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0202
|
|
|
|
9939 036777 005 02 0 00 034343 ER5 E,34343 ;C(E) WAS CLOBBERED
|
|
9940 037000 321 06 0 00 036766 JUMPL AC+2,F34340 ;LOOP ON ERROR SWITCH^
|
|
9941
|
|
9942 003435 ADR=ADR+1
|
|
9943 200000 000000 XX=XX+XX
|
|
9944 IFE XX,<XX=1>
|
|
9945
|
|
9946 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9947 IFG XX,<
|
|
9948 777777 777777 V1=-1
|
|
9949 600000 000000 V2=-XX>
|
|
9950 IFL XX,<
|
|
9951 V1=1
|
|
9952 V2=0>
|
|
9953 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9954 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9955 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9956 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9957 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9958
|
|
9959 777777 777777 F34350: AA1=-1 ;INITIAL C(AC)
|
|
9960 037001 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9961 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9962 037002 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9963 200000 000000 AEE=XX ;INITIAL C(E)
|
|
9964 037003 200 02 0 00 044042 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
9965 037004 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9966 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
9967 037005 312 04 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
9968 037006 003 04 0 00 034351 ER3 AC,34351 ;HIGH PRODUCT FAILED
|
|
9969 600000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
9970 037007 312 05 0 00 044173 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
9971 037010 004 05 0 00 034352 ER4 AC+1,34352 ;LOW PRODUCT FAILED
|
|
9972 200000 000000 AEE=XX ;INITIAL C(E)
|
|
9973 037011 312 02 0 00 044042 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
9974 037012 005 02 0 00 034353 ER5 E,34353 ;C(E) WAS CLOBBERED
|
|
9975 037013 321 06 0 00 037001 JUMPL AC+2,F34350 ;LOOP ON ERROR SWITCH^
|
|
9976
|
|
9977 003436 ADR=ADR+1
|
|
9978 400000 000000 XX=XX+XX
|
|
9979 IFE XX,<XX=1>
|
|
9980
|
|
9981 ;MULTIPLY A RIPPLED ONE BY -1
|
|
9982 IFG XX,<
|
|
9983 V1=-1
|
|
9984 V2=-XX>
|
|
9985 IFL XX,<
|
|
9986 000001 V1=1
|
|
9987 000000 V2=0>
|
|
9988 MOP1 (\ADR,-1,0,XX,V1,V2)^
|
|
9989 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[0] AND
|
|
9990 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9991 ;AND E AGAINST [V1], [V2] AND [XX] RESPECTIVELY.
|
|
9992 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9993
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 13-23
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0203
|
|
|
|
9994 777777 777777 F34360: AA1=-1 ;INITIAL C(AC)
|
|
9995 037014 200 04 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
9996 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9997 037015 200 05 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9998 400000 000000 AEE=XX ;INITIAL C(E)
|
|
9999 037016 200 02 0 00 044043 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
10000 037017 224 04 0 00 000002 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10001 000001 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10002 037020 312 04 0 00 044000 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10003 037021 003 04 0 00 034361 ER3 AC,34361 ;HIGH PRODUCT FAILED
|
|
10004 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10005 037022 312 05 0 00 043776 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10006 037023 004 05 0 00 034362 ER4 AC+1,34362 ;LOW PRODUCT FAILED
|
|
10007 400000 000000 AEE=XX ;INITIAL C(E)
|
|
10008 037024 312 02 0 00 044043 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
10009 037025 005 02 0 00 034363 ER5 E,34363 ;C(E) WAS CLOBBERED
|
|
10010 037026 321 06 0 00 037014 JUMPL AC+2,F34360 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0204
|
|
|
|
10011 000003 AC=3
|
|
10012 000001 E=<AC-2>&17
|
|
10013 SAVEAC (1,1)^
|
|
10014 037027 201 05 0 00 037027 MOVEI AC+2,. ;SAVE TEST PC
|
|
10015 037030 202 05 0 00 030051 MOVEM AC+2,TESTPC
|
|
10016 037031 201 05 0 00 000005 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
10017 037032 202 05 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
10018 000000 XX=0
|
|
10019
|
|
10020 REPEAT ^D35,< ;LAST CASE IS DIFFERENT
|
|
10021 ADR=ADR+1
|
|
10022 XX=XX+XX
|
|
10023 IFE XX,<XX=1>
|
|
10024
|
|
10025 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10026 IFG XX,<
|
|
10027 V1=-1
|
|
10028 V2=-XX>
|
|
10029 IFL XX,<
|
|
10030 V1=1
|
|
10031 V2=0>
|
|
10032 MOP1 (\ADR,XX,0,-1,V1,V2)>
|
|
10033 ;LAST CASE IS DIFFERENT
|
|
10034 003437 ADR=ADR+1
|
|
10035 000000 XX=XX+XX
|
|
10036 000001 IFE XX,<XX=1>
|
|
10037
|
|
10038 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10039 IFG XX,<
|
|
10040 777777 777777 V1=-1
|
|
10041 777777 777777 V2=-XX>
|
|
10042 IFL XX,<
|
|
10043 V1=1
|
|
10044 V2=0>
|
|
10045 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10046 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10047 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10048 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10049 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10050
|
|
10051 000001 F34370: AA1=XX ;INITIAL C(AC)
|
|
10052 037033 200 03 0 00 044000 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10053 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10054 037034 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10055 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10056 037035 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10057 037036 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10058 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10059 037037 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10060 037040 003 03 0 00 034371 ER3 AC,34371 ;HIGH PRODUCT FAILED
|
|
10061 777777 777777 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10062 037041 312 04 0 00 043777 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10063 037042 004 04 0 00 034372 ER4 AC+1,34372 ;LOW PRODUCT FAILED
|
|
10064 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10065 037043 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-1
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0205
|
|
|
|
10066 037044 005 01 0 00 034373 ER5 E,34373 ;C(E) WAS CLOBBERED
|
|
10067 037045 321 05 0 00 037033 JUMPL AC+2,F34370 ;LOOP ON ERROR SWITCH^
|
|
10068 ;LAST CASE IS DIFFERENT
|
|
10069 003440 ADR=ADR+1
|
|
10070 000002 XX=XX+XX
|
|
10071 IFE XX,<XX=1>
|
|
10072
|
|
10073 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10074 IFG XX,<
|
|
10075 777777 777777 V1=-1
|
|
10076 777777 777776 V2=-XX>
|
|
10077 IFL XX,<
|
|
10078 V1=1
|
|
10079 V2=0>
|
|
10080 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10081 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10082 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10083 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10084 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10085
|
|
10086 000002 F34400: AA1=XX ;INITIAL C(AC)
|
|
10087 037046 200 03 0 00 044001 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10088 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10089 037047 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10090 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10091 037050 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10092 037051 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10093 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10094 037052 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10095 037053 003 03 0 00 034401 ER3 AC,34401 ;HIGH PRODUCT FAILED
|
|
10096 777777 777776 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10097 037054 312 04 0 00 044044 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10098 037055 004 04 0 00 034402 ER4 AC+1,34402 ;LOW PRODUCT FAILED
|
|
10099 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10100 037056 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10101 037057 005 01 0 00 034403 ER5 E,34403 ;C(E) WAS CLOBBERED
|
|
10102 037060 321 05 0 00 037046 JUMPL AC+2,F34400 ;LOOP ON ERROR SWITCH^
|
|
10103 ;LAST CASE IS DIFFERENT
|
|
10104 003441 ADR=ADR+1
|
|
10105 000004 XX=XX+XX
|
|
10106 IFE XX,<XX=1>
|
|
10107
|
|
10108 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10109 IFG XX,<
|
|
10110 777777 777777 V1=-1
|
|
10111 777777 777774 V2=-XX>
|
|
10112 IFL XX,<
|
|
10113 V1=1
|
|
10114 V2=0>
|
|
10115 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10116 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10117 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10118 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10119 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10120
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-2
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0206
|
|
|
|
10121 000004 F34410: AA1=XX ;INITIAL C(AC)
|
|
10122 037061 200 03 0 00 044002 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10123 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10124 037062 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10125 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10126 037063 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10127 037064 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10128 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10129 037065 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10130 037066 003 03 0 00 034411 ER3 AC,34411 ;HIGH PRODUCT FAILED
|
|
10131 777777 777774 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10132 037067 312 04 0 00 044123 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10133 037070 004 04 0 00 034412 ER4 AC+1,34412 ;LOW PRODUCT FAILED
|
|
10134 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10135 037071 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10136 037072 005 01 0 00 034413 ER5 E,34413 ;C(E) WAS CLOBBERED
|
|
10137 037073 321 05 0 00 037061 JUMPL AC+2,F34410 ;LOOP ON ERROR SWITCH^
|
|
10138 ;LAST CASE IS DIFFERENT
|
|
10139 003442 ADR=ADR+1
|
|
10140 000010 XX=XX+XX
|
|
10141 IFE XX,<XX=1>
|
|
10142
|
|
10143 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10144 IFG XX,<
|
|
10145 777777 777777 V1=-1
|
|
10146 777777 777770 V2=-XX>
|
|
10147 IFL XX,<
|
|
10148 V1=1
|
|
10149 V2=0>
|
|
10150 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10151 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10152 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10153 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10154 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10155
|
|
10156 000010 F34420: AA1=XX ;INITIAL C(AC)
|
|
10157 037074 200 03 0 00 044003 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10158 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10159 037075 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10160 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10161 037076 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10162 037077 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10163 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10164 037100 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10165 037101 003 03 0 00 034421 ER3 AC,34421 ;HIGH PRODUCT FAILED
|
|
10166 777777 777770 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10167 037102 312 04 0 00 044126 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10168 037103 004 04 0 00 034422 ER4 AC+1,34422 ;LOW PRODUCT FAILED
|
|
10169 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10170 037104 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10171 037105 005 01 0 00 034423 ER5 E,34423 ;C(E) WAS CLOBBERED
|
|
10172 037106 321 05 0 00 037074 JUMPL AC+2,F34420 ;LOOP ON ERROR SWITCH^
|
|
10173 ;LAST CASE IS DIFFERENT
|
|
10174 003443 ADR=ADR+1
|
|
10175 000020 XX=XX+XX
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-3
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0207
|
|
|
|
10176 IFE XX,<XX=1>
|
|
10177
|
|
10178 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10179 IFG XX,<
|
|
10180 777777 777777 V1=-1
|
|
10181 777777 777760 V2=-XX>
|
|
10182 IFL XX,<
|
|
10183 V1=1
|
|
10184 V2=0>
|
|
10185 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10186 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10187 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10188 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10189 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10190
|
|
10191 000020 F34430: AA1=XX ;INITIAL C(AC)
|
|
10192 037107 200 03 0 00 044004 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10193 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10194 037110 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10195 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10196 037111 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10197 037112 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10198 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10199 037113 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10200 037114 003 03 0 00 034431 ER3 AC,34431 ;HIGH PRODUCT FAILED
|
|
10201 777777 777760 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10202 037115 312 04 0 00 044135 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10203 037116 004 04 0 00 034432 ER4 AC+1,34432 ;LOW PRODUCT FAILED
|
|
10204 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10205 037117 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10206 037120 005 01 0 00 034433 ER5 E,34433 ;C(E) WAS CLOBBERED
|
|
10207 037121 321 05 0 00 037107 JUMPL AC+2,F34430 ;LOOP ON ERROR SWITCH^
|
|
10208 ;LAST CASE IS DIFFERENT
|
|
10209 003444 ADR=ADR+1
|
|
10210 000040 XX=XX+XX
|
|
10211 IFE XX,<XX=1>
|
|
10212
|
|
10213 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10214 IFG XX,<
|
|
10215 777777 777777 V1=-1
|
|
10216 777777 777740 V2=-XX>
|
|
10217 IFL XX,<
|
|
10218 V1=1
|
|
10219 V2=0>
|
|
10220 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10221 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10222 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10223 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10224 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10225
|
|
10226 000040 F34440: AA1=XX ;INITIAL C(AC)
|
|
10227 037122 200 03 0 00 044005 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10228 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10229 037123 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10230 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-4
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0208
|
|
|
|
10231 037124 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10232 037125 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10233 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10234 037126 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10235 037127 003 03 0 00 034441 ER3 AC,34441 ;HIGH PRODUCT FAILED
|
|
10236 777777 777740 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10237 037130 312 04 0 00 044136 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10238 037131 004 04 0 00 034442 ER4 AC+1,34442 ;LOW PRODUCT FAILED
|
|
10239 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10240 037132 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10241 037133 005 01 0 00 034443 ER5 E,34443 ;C(E) WAS CLOBBERED
|
|
10242 037134 321 05 0 00 037122 JUMPL AC+2,F34440 ;LOOP ON ERROR SWITCH^
|
|
10243 ;LAST CASE IS DIFFERENT
|
|
10244 003445 ADR=ADR+1
|
|
10245 000100 XX=XX+XX
|
|
10246 IFE XX,<XX=1>
|
|
10247
|
|
10248 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10249 IFG XX,<
|
|
10250 777777 777777 V1=-1
|
|
10251 777777 777700 V2=-XX>
|
|
10252 IFL XX,<
|
|
10253 V1=1
|
|
10254 V2=0>
|
|
10255 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10256 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10257 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10258 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10259 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10260
|
|
10261 000100 F34450: AA1=XX ;INITIAL C(AC)
|
|
10262 037135 200 03 0 00 044006 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10263 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10264 037136 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10265 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10266 037137 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10267 037140 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10268 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10269 037141 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10270 037142 003 03 0 00 034451 ER3 AC,34451 ;HIGH PRODUCT FAILED
|
|
10271 777777 777700 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10272 037143 312 04 0 00 044137 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10273 037144 004 04 0 00 034452 ER4 AC+1,34452 ;LOW PRODUCT FAILED
|
|
10274 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10275 037145 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10276 037146 005 01 0 00 034453 ER5 E,34453 ;C(E) WAS CLOBBERED
|
|
10277 037147 321 05 0 00 037135 JUMPL AC+2,F34450 ;LOOP ON ERROR SWITCH^
|
|
10278 ;LAST CASE IS DIFFERENT
|
|
10279 003446 ADR=ADR+1
|
|
10280 000200 XX=XX+XX
|
|
10281 IFE XX,<XX=1>
|
|
10282
|
|
10283 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10284 IFG XX,<
|
|
10285 777777 777777 V1=-1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-5
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0209
|
|
|
|
10286 777777 777600 V2=-XX>
|
|
10287 IFL XX,<
|
|
10288 V1=1
|
|
10289 V2=0>
|
|
10290 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10291 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10292 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10293 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10294 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10295
|
|
10296 000200 F34460: AA1=XX ;INITIAL C(AC)
|
|
10297 037150 200 03 0 00 044007 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10298 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10299 037151 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10300 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10301 037152 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10302 037153 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10303 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10304 037154 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10305 037155 003 03 0 00 034461 ER3 AC,34461 ;HIGH PRODUCT FAILED
|
|
10306 777777 777600 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10307 037156 312 04 0 00 044140 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10308 037157 004 04 0 00 034462 ER4 AC+1,34462 ;LOW PRODUCT FAILED
|
|
10309 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10310 037160 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10311 037161 005 01 0 00 034463 ER5 E,34463 ;C(E) WAS CLOBBERED
|
|
10312 037162 321 05 0 00 037150 JUMPL AC+2,F34460 ;LOOP ON ERROR SWITCH^
|
|
10313 ;LAST CASE IS DIFFERENT
|
|
10314 003447 ADR=ADR+1
|
|
10315 000400 XX=XX+XX
|
|
10316 IFE XX,<XX=1>
|
|
10317
|
|
10318 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10319 IFG XX,<
|
|
10320 777777 777777 V1=-1
|
|
10321 777777 777400 V2=-XX>
|
|
10322 IFL XX,<
|
|
10323 V1=1
|
|
10324 V2=0>
|
|
10325 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10326 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10327 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10328 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10329 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10330
|
|
10331 000400 F34470: AA1=XX ;INITIAL C(AC)
|
|
10332 037163 200 03 0 00 044010 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10333 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10334 037164 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10335 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10336 037165 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10337 037166 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10338 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10339 037167 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10340 037170 003 03 0 00 034471 ER3 AC,34471 ;HIGH PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-6
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0210
|
|
|
|
10341 777777 777400 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10342 037171 312 04 0 00 044141 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10343 037172 004 04 0 00 034472 ER4 AC+1,34472 ;LOW PRODUCT FAILED
|
|
10344 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10345 037173 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10346 037174 005 01 0 00 034473 ER5 E,34473 ;C(E) WAS CLOBBERED
|
|
10347 037175 321 05 0 00 037163 JUMPL AC+2,F34470 ;LOOP ON ERROR SWITCH^
|
|
10348 ;LAST CASE IS DIFFERENT
|
|
10349 003450 ADR=ADR+1
|
|
10350 001000 XX=XX+XX
|
|
10351 IFE XX,<XX=1>
|
|
10352
|
|
10353 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10354 IFG XX,<
|
|
10355 777777 777777 V1=-1
|
|
10356 777777 777000 V2=-XX>
|
|
10357 IFL XX,<
|
|
10358 V1=1
|
|
10359 V2=0>
|
|
10360 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10361 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10362 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10363 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10364 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10365
|
|
10366 001000 F34500: AA1=XX ;INITIAL C(AC)
|
|
10367 037176 200 03 0 00 044011 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10368 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10369 037177 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10370 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10371 037200 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10372 037201 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10373 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10374 037202 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10375 037203 003 03 0 00 034501 ER3 AC,34501 ;HIGH PRODUCT FAILED
|
|
10376 777777 777000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10377 037204 312 04 0 00 044142 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10378 037205 004 04 0 00 034502 ER4 AC+1,34502 ;LOW PRODUCT FAILED
|
|
10379 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10380 037206 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10381 037207 005 01 0 00 034503 ER5 E,34503 ;C(E) WAS CLOBBERED
|
|
10382 037210 321 05 0 00 037176 JUMPL AC+2,F34500 ;LOOP ON ERROR SWITCH^
|
|
10383 ;LAST CASE IS DIFFERENT
|
|
10384 003451 ADR=ADR+1
|
|
10385 002000 XX=XX+XX
|
|
10386 IFE XX,<XX=1>
|
|
10387
|
|
10388 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10389 IFG XX,<
|
|
10390 777777 777777 V1=-1
|
|
10391 777777 776000 V2=-XX>
|
|
10392 IFL XX,<
|
|
10393 V1=1
|
|
10394 V2=0>
|
|
10395 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-7
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0211
|
|
|
|
10396 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10397 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10398 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10399 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10400
|
|
10401 002000 F34510: AA1=XX ;INITIAL C(AC)
|
|
10402 037211 200 03 0 00 044012 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10403 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10404 037212 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10405 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10406 037213 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10407 037214 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10408 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10409 037215 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10410 037216 003 03 0 00 034511 ER3 AC,34511 ;HIGH PRODUCT FAILED
|
|
10411 777777 776000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10412 037217 312 04 0 00 044143 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10413 037220 004 04 0 00 034512 ER4 AC+1,34512 ;LOW PRODUCT FAILED
|
|
10414 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10415 037221 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10416 037222 005 01 0 00 034513 ER5 E,34513 ;C(E) WAS CLOBBERED
|
|
10417 037223 321 05 0 00 037211 JUMPL AC+2,F34510 ;LOOP ON ERROR SWITCH^
|
|
10418 ;LAST CASE IS DIFFERENT
|
|
10419 003452 ADR=ADR+1
|
|
10420 004000 XX=XX+XX
|
|
10421 IFE XX,<XX=1>
|
|
10422
|
|
10423 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10424 IFG XX,<
|
|
10425 777777 777777 V1=-1
|
|
10426 777777 774000 V2=-XX>
|
|
10427 IFL XX,<
|
|
10428 V1=1
|
|
10429 V2=0>
|
|
10430 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10431 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10432 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10433 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10434 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10435
|
|
10436 004000 F34520: AA1=XX ;INITIAL C(AC)
|
|
10437 037224 200 03 0 00 044013 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10438 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10439 037225 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10440 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10441 037226 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10442 037227 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10443 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10444 037230 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10445 037231 003 03 0 00 034521 ER3 AC,34521 ;HIGH PRODUCT FAILED
|
|
10446 777777 774000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10447 037232 312 04 0 00 044144 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10448 037233 004 04 0 00 034522 ER4 AC+1,34522 ;LOW PRODUCT FAILED
|
|
10449 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10450 037234 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-8
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0212
|
|
|
|
10451 037235 005 01 0 00 034523 ER5 E,34523 ;C(E) WAS CLOBBERED
|
|
10452 037236 321 05 0 00 037224 JUMPL AC+2,F34520 ;LOOP ON ERROR SWITCH^
|
|
10453 ;LAST CASE IS DIFFERENT
|
|
10454 003453 ADR=ADR+1
|
|
10455 010000 XX=XX+XX
|
|
10456 IFE XX,<XX=1>
|
|
10457
|
|
10458 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10459 IFG XX,<
|
|
10460 777777 777777 V1=-1
|
|
10461 777777 770000 V2=-XX>
|
|
10462 IFL XX,<
|
|
10463 V1=1
|
|
10464 V2=0>
|
|
10465 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10466 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10467 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10468 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10469 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10470
|
|
10471 010000 F34530: AA1=XX ;INITIAL C(AC)
|
|
10472 037237 200 03 0 00 044014 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10473 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10474 037240 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10475 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10476 037241 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10477 037242 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10478 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10479 037243 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10480 037244 003 03 0 00 034531 ER3 AC,34531 ;HIGH PRODUCT FAILED
|
|
10481 777777 770000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10482 037245 312 04 0 00 044145 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10483 037246 004 04 0 00 034532 ER4 AC+1,34532 ;LOW PRODUCT FAILED
|
|
10484 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10485 037247 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10486 037250 005 01 0 00 034533 ER5 E,34533 ;C(E) WAS CLOBBERED
|
|
10487 037251 321 05 0 00 037237 JUMPL AC+2,F34530 ;LOOP ON ERROR SWITCH^
|
|
10488 ;LAST CASE IS DIFFERENT
|
|
10489 003454 ADR=ADR+1
|
|
10490 020000 XX=XX+XX
|
|
10491 IFE XX,<XX=1>
|
|
10492
|
|
10493 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10494 IFG XX,<
|
|
10495 777777 777777 V1=-1
|
|
10496 777777 760000 V2=-XX>
|
|
10497 IFL XX,<
|
|
10498 V1=1
|
|
10499 V2=0>
|
|
10500 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10501 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10502 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10503 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10504 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10505
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-9
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0213
|
|
|
|
10506 020000 F34540: AA1=XX ;INITIAL C(AC)
|
|
10507 037252 200 03 0 00 044015 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10508 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10509 037253 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10510 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10511 037254 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10512 037255 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10513 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10514 037256 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10515 037257 003 03 0 00 034541 ER3 AC,34541 ;HIGH PRODUCT FAILED
|
|
10516 777777 760000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10517 037260 312 04 0 00 044146 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10518 037261 004 04 0 00 034542 ER4 AC+1,34542 ;LOW PRODUCT FAILED
|
|
10519 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10520 037262 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10521 037263 005 01 0 00 034543 ER5 E,34543 ;C(E) WAS CLOBBERED
|
|
10522 037264 321 05 0 00 037252 JUMPL AC+2,F34540 ;LOOP ON ERROR SWITCH^
|
|
10523 ;LAST CASE IS DIFFERENT
|
|
10524 003455 ADR=ADR+1
|
|
10525 040000 XX=XX+XX
|
|
10526 IFE XX,<XX=1>
|
|
10527
|
|
10528 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10529 IFG XX,<
|
|
10530 777777 777777 V1=-1
|
|
10531 777777 740000 V2=-XX>
|
|
10532 IFL XX,<
|
|
10533 V1=1
|
|
10534 V2=0>
|
|
10535 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10536 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10537 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10538 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10539 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10540
|
|
10541 040000 F34550: AA1=XX ;INITIAL C(AC)
|
|
10542 037265 200 03 0 00 044016 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10543 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10544 037266 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10545 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10546 037267 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10547 037270 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10548 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10549 037271 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10550 037272 003 03 0 00 034551 ER3 AC,34551 ;HIGH PRODUCT FAILED
|
|
10551 777777 740000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10552 037273 312 04 0 00 044147 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10553 037274 004 04 0 00 034552 ER4 AC+1,34552 ;LOW PRODUCT FAILED
|
|
10554 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10555 037275 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10556 037276 005 01 0 00 034553 ER5 E,34553 ;C(E) WAS CLOBBERED
|
|
10557 037277 321 05 0 00 037265 JUMPL AC+2,F34550 ;LOOP ON ERROR SWITCH^
|
|
10558 ;LAST CASE IS DIFFERENT
|
|
10559 003456 ADR=ADR+1
|
|
10560 100000 XX=XX+XX
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-10
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0214
|
|
|
|
10561 IFE XX,<XX=1>
|
|
10562
|
|
10563 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10564 IFG XX,<
|
|
10565 777777 777777 V1=-1
|
|
10566 777777 700000 V2=-XX>
|
|
10567 IFL XX,<
|
|
10568 V1=1
|
|
10569 V2=0>
|
|
10570 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10571 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10572 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10573 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10574 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10575
|
|
10576 100000 F34560: AA1=XX ;INITIAL C(AC)
|
|
10577 037300 200 03 0 00 044017 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10578 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10579 037301 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10580 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10581 037302 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10582 037303 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10583 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10584 037304 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10585 037305 003 03 0 00 034561 ER3 AC,34561 ;HIGH PRODUCT FAILED
|
|
10586 777777 700000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10587 037306 312 04 0 00 044150 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10588 037307 004 04 0 00 034562 ER4 AC+1,34562 ;LOW PRODUCT FAILED
|
|
10589 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10590 037310 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10591 037311 005 01 0 00 034563 ER5 E,34563 ;C(E) WAS CLOBBERED
|
|
10592 037312 321 05 0 00 037300 JUMPL AC+2,F34560 ;LOOP ON ERROR SWITCH^
|
|
10593 ;LAST CASE IS DIFFERENT
|
|
10594 003457 ADR=ADR+1
|
|
10595 200000 XX=XX+XX
|
|
10596 IFE XX,<XX=1>
|
|
10597
|
|
10598 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10599 IFG XX,<
|
|
10600 777777 777777 V1=-1
|
|
10601 777777 600000 V2=-XX>
|
|
10602 IFL XX,<
|
|
10603 V1=1
|
|
10604 V2=0>
|
|
10605 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10606 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10607 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10608 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10609 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10610
|
|
10611 200000 F34570: AA1=XX ;INITIAL C(AC)
|
|
10612 037313 200 03 0 00 044020 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10613 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10614 037314 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10615 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-11
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0215
|
|
|
|
10616 037315 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10617 037316 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10618 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10619 037317 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10620 037320 003 03 0 00 034571 ER3 AC,34571 ;HIGH PRODUCT FAILED
|
|
10621 777777 600000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10622 037321 312 04 0 00 044151 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10623 037322 004 04 0 00 034572 ER4 AC+1,34572 ;LOW PRODUCT FAILED
|
|
10624 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10625 037323 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10626 037324 005 01 0 00 034573 ER5 E,34573 ;C(E) WAS CLOBBERED
|
|
10627 037325 321 05 0 00 037313 JUMPL AC+2,F34570 ;LOOP ON ERROR SWITCH^
|
|
10628 ;LAST CASE IS DIFFERENT
|
|
10629 003460 ADR=ADR+1
|
|
10630 400000 XX=XX+XX
|
|
10631 IFE XX,<XX=1>
|
|
10632
|
|
10633 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10634 IFG XX,<
|
|
10635 777777 777777 V1=-1
|
|
10636 777777 400000 V2=-XX>
|
|
10637 IFL XX,<
|
|
10638 V1=1
|
|
10639 V2=0>
|
|
10640 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10641 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10642 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10643 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10644 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10645
|
|
10646 400000 F34600: AA1=XX ;INITIAL C(AC)
|
|
10647 037326 200 03 0 00 044021 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10648 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10649 037327 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10650 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10651 037330 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10652 037331 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10653 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10654 037332 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10655 037333 003 03 0 00 034601 ER3 AC,34601 ;HIGH PRODUCT FAILED
|
|
10656 777777 400000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10657 037334 312 04 0 00 044152 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10658 037335 004 04 0 00 034602 ER4 AC+1,34602 ;LOW PRODUCT FAILED
|
|
10659 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10660 037336 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10661 037337 005 01 0 00 034603 ER5 E,34603 ;C(E) WAS CLOBBERED
|
|
10662 037340 321 05 0 00 037326 JUMPL AC+2,F34600 ;LOOP ON ERROR SWITCH^
|
|
10663 ;LAST CASE IS DIFFERENT
|
|
10664 003461 ADR=ADR+1
|
|
10665 000001 000000 XX=XX+XX
|
|
10666 IFE XX,<XX=1>
|
|
10667
|
|
10668 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10669 IFG XX,<
|
|
10670 777777 777777 V1=-1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-12
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0216
|
|
|
|
10671 777777 000000 V2=-XX>
|
|
10672 IFL XX,<
|
|
10673 V1=1
|
|
10674 V2=0>
|
|
10675 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10676 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10677 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10678 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10679 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10680
|
|
10681 000001 000000 F34610: AA1=XX ;INITIAL C(AC)
|
|
10682 037341 200 03 0 00 044022 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10683 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10684 037342 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10685 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10686 037343 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10687 037344 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10688 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10689 037345 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10690 037346 003 03 0 00 034611 ER3 AC,34611 ;HIGH PRODUCT FAILED
|
|
10691 777777 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10692 037347 312 04 0 00 044153 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10693 037350 004 04 0 00 034612 ER4 AC+1,34612 ;LOW PRODUCT FAILED
|
|
10694 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10695 037351 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10696 037352 005 01 0 00 034613 ER5 E,34613 ;C(E) WAS CLOBBERED
|
|
10697 037353 321 05 0 00 037341 JUMPL AC+2,F34610 ;LOOP ON ERROR SWITCH^
|
|
10698 ;LAST CASE IS DIFFERENT
|
|
10699 003462 ADR=ADR+1
|
|
10700 000002 000000 XX=XX+XX
|
|
10701 IFE XX,<XX=1>
|
|
10702
|
|
10703 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10704 IFG XX,<
|
|
10705 777777 777777 V1=-1
|
|
10706 777776 000000 V2=-XX>
|
|
10707 IFL XX,<
|
|
10708 V1=1
|
|
10709 V2=0>
|
|
10710 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10711 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10712 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10713 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10714 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10715
|
|
10716 000002 000000 F34620: AA1=XX ;INITIAL C(AC)
|
|
10717 037354 200 03 0 00 044023 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10718 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10719 037355 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10720 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10721 037356 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10722 037357 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10723 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10724 037360 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10725 037361 003 03 0 00 034621 ER3 AC,34621 ;HIGH PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-13
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0217
|
|
|
|
10726 777776 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10727 037362 312 04 0 00 044154 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10728 037363 004 04 0 00 034622 ER4 AC+1,34622 ;LOW PRODUCT FAILED
|
|
10729 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10730 037364 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10731 037365 005 01 0 00 034623 ER5 E,34623 ;C(E) WAS CLOBBERED
|
|
10732 037366 321 05 0 00 037354 JUMPL AC+2,F34620 ;LOOP ON ERROR SWITCH^
|
|
10733 ;LAST CASE IS DIFFERENT
|
|
10734 003463 ADR=ADR+1
|
|
10735 000004 000000 XX=XX+XX
|
|
10736 IFE XX,<XX=1>
|
|
10737
|
|
10738 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10739 IFG XX,<
|
|
10740 777777 777777 V1=-1
|
|
10741 777774 000000 V2=-XX>
|
|
10742 IFL XX,<
|
|
10743 V1=1
|
|
10744 V2=0>
|
|
10745 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10746 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10747 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10748 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10749 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10750
|
|
10751 000004 000000 F34630: AA1=XX ;INITIAL C(AC)
|
|
10752 037367 200 03 0 00 044024 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10753 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10754 037370 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10755 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10756 037371 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10757 037372 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10758 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10759 037373 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10760 037374 003 03 0 00 034631 ER3 AC,34631 ;HIGH PRODUCT FAILED
|
|
10761 777774 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10762 037375 312 04 0 00 044155 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10763 037376 004 04 0 00 034632 ER4 AC+1,34632 ;LOW PRODUCT FAILED
|
|
10764 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10765 037377 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10766 037400 005 01 0 00 034633 ER5 E,34633 ;C(E) WAS CLOBBERED
|
|
10767 037401 321 05 0 00 037367 JUMPL AC+2,F34630 ;LOOP ON ERROR SWITCH^
|
|
10768 ;LAST CASE IS DIFFERENT
|
|
10769 003464 ADR=ADR+1
|
|
10770 000010 000000 XX=XX+XX
|
|
10771 IFE XX,<XX=1>
|
|
10772
|
|
10773 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10774 IFG XX,<
|
|
10775 777777 777777 V1=-1
|
|
10776 777770 000000 V2=-XX>
|
|
10777 IFL XX,<
|
|
10778 V1=1
|
|
10779 V2=0>
|
|
10780 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-14
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0218
|
|
|
|
10781 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10782 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10783 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10784 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10785
|
|
10786 000010 000000 F34640: AA1=XX ;INITIAL C(AC)
|
|
10787 037402 200 03 0 00 044025 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10788 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10789 037403 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10790 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10791 037404 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10792 037405 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10793 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10794 037406 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10795 037407 003 03 0 00 034641 ER3 AC,34641 ;HIGH PRODUCT FAILED
|
|
10796 777770 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10797 037410 312 04 0 00 044156 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10798 037411 004 04 0 00 034642 ER4 AC+1,34642 ;LOW PRODUCT FAILED
|
|
10799 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10800 037412 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10801 037413 005 01 0 00 034643 ER5 E,34643 ;C(E) WAS CLOBBERED
|
|
10802 037414 321 05 0 00 037402 JUMPL AC+2,F34640 ;LOOP ON ERROR SWITCH^
|
|
10803 ;LAST CASE IS DIFFERENT
|
|
10804 003465 ADR=ADR+1
|
|
10805 000020 000000 XX=XX+XX
|
|
10806 IFE XX,<XX=1>
|
|
10807
|
|
10808 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10809 IFG XX,<
|
|
10810 777777 777777 V1=-1
|
|
10811 777760 000000 V2=-XX>
|
|
10812 IFL XX,<
|
|
10813 V1=1
|
|
10814 V2=0>
|
|
10815 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10816 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10817 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10818 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10819 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10820
|
|
10821 000020 000000 F34650: AA1=XX ;INITIAL C(AC)
|
|
10822 037415 200 03 0 00 044026 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10823 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10824 037416 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10825 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10826 037417 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10827 037420 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10828 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10829 037421 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10830 037422 003 03 0 00 034651 ER3 AC,34651 ;HIGH PRODUCT FAILED
|
|
10831 777760 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10832 037423 312 04 0 00 044157 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10833 037424 004 04 0 00 034652 ER4 AC+1,34652 ;LOW PRODUCT FAILED
|
|
10834 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10835 037425 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-15
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0219
|
|
|
|
10836 037426 005 01 0 00 034653 ER5 E,34653 ;C(E) WAS CLOBBERED
|
|
10837 037427 321 05 0 00 037415 JUMPL AC+2,F34650 ;LOOP ON ERROR SWITCH^
|
|
10838 ;LAST CASE IS DIFFERENT
|
|
10839 003466 ADR=ADR+1
|
|
10840 000040 000000 XX=XX+XX
|
|
10841 IFE XX,<XX=1>
|
|
10842
|
|
10843 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10844 IFG XX,<
|
|
10845 777777 777777 V1=-1
|
|
10846 777740 000000 V2=-XX>
|
|
10847 IFL XX,<
|
|
10848 V1=1
|
|
10849 V2=0>
|
|
10850 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10851 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10852 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10853 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10854 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10855
|
|
10856 000040 000000 F34660: AA1=XX ;INITIAL C(AC)
|
|
10857 037430 200 03 0 00 044027 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10858 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10859 037431 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10860 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10861 037432 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10862 037433 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10863 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10864 037434 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10865 037435 003 03 0 00 034661 ER3 AC,34661 ;HIGH PRODUCT FAILED
|
|
10866 777740 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10867 037436 312 04 0 00 044160 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10868 037437 004 04 0 00 034662 ER4 AC+1,34662 ;LOW PRODUCT FAILED
|
|
10869 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10870 037440 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10871 037441 005 01 0 00 034663 ER5 E,34663 ;C(E) WAS CLOBBERED
|
|
10872 037442 321 05 0 00 037430 JUMPL AC+2,F34660 ;LOOP ON ERROR SWITCH^
|
|
10873 ;LAST CASE IS DIFFERENT
|
|
10874 003467 ADR=ADR+1
|
|
10875 000100 000000 XX=XX+XX
|
|
10876 IFE XX,<XX=1>
|
|
10877
|
|
10878 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10879 IFG XX,<
|
|
10880 777777 777777 V1=-1
|
|
10881 777700 000000 V2=-XX>
|
|
10882 IFL XX,<
|
|
10883 V1=1
|
|
10884 V2=0>
|
|
10885 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10886 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10887 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10888 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10889 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10890
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-16
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0220
|
|
|
|
10891 000100 000000 F34670: AA1=XX ;INITIAL C(AC)
|
|
10892 037443 200 03 0 00 044030 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10893 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10894 037444 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10895 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10896 037445 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10897 037446 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10898 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10899 037447 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10900 037450 003 03 0 00 034671 ER3 AC,34671 ;HIGH PRODUCT FAILED
|
|
10901 777700 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10902 037451 312 04 0 00 044161 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10903 037452 004 04 0 00 034672 ER4 AC+1,34672 ;LOW PRODUCT FAILED
|
|
10904 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10905 037453 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10906 037454 005 01 0 00 034673 ER5 E,34673 ;C(E) WAS CLOBBERED
|
|
10907 037455 321 05 0 00 037443 JUMPL AC+2,F34670 ;LOOP ON ERROR SWITCH^
|
|
10908 ;LAST CASE IS DIFFERENT
|
|
10909 003470 ADR=ADR+1
|
|
10910 000200 000000 XX=XX+XX
|
|
10911 IFE XX,<XX=1>
|
|
10912
|
|
10913 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10914 IFG XX,<
|
|
10915 777777 777777 V1=-1
|
|
10916 777600 000000 V2=-XX>
|
|
10917 IFL XX,<
|
|
10918 V1=1
|
|
10919 V2=0>
|
|
10920 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10921 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10922 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10923 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10924 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10925
|
|
10926 000200 000000 F34700: AA1=XX ;INITIAL C(AC)
|
|
10927 037456 200 03 0 00 044031 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10928 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10929 037457 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10930 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10931 037460 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10932 037461 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10933 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10934 037462 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10935 037463 003 03 0 00 034701 ER3 AC,34701 ;HIGH PRODUCT FAILED
|
|
10936 777600 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10937 037464 312 04 0 00 044162 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10938 037465 004 04 0 00 034702 ER4 AC+1,34702 ;LOW PRODUCT FAILED
|
|
10939 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10940 037466 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10941 037467 005 01 0 00 034703 ER5 E,34703 ;C(E) WAS CLOBBERED
|
|
10942 037470 321 05 0 00 037456 JUMPL AC+2,F34700 ;LOOP ON ERROR SWITCH^
|
|
10943 ;LAST CASE IS DIFFERENT
|
|
10944 003471 ADR=ADR+1
|
|
10945 000400 000000 XX=XX+XX
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-17
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0221
|
|
|
|
10946 IFE XX,<XX=1>
|
|
10947
|
|
10948 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10949 IFG XX,<
|
|
10950 777777 777777 V1=-1
|
|
10951 777400 000000 V2=-XX>
|
|
10952 IFL XX,<
|
|
10953 V1=1
|
|
10954 V2=0>
|
|
10955 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10956 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10957 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10958 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10959 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10960
|
|
10961 000400 000000 F34710: AA1=XX ;INITIAL C(AC)
|
|
10962 037471 200 03 0 00 044032 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10963 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10964 037472 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
10965 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10966 037473 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
10967 037474 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
10968 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
10969 037475 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
10970 037476 003 03 0 00 034711 ER3 AC,34711 ;HIGH PRODUCT FAILED
|
|
10971 777400 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
10972 037477 312 04 0 00 044163 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
10973 037500 004 04 0 00 034712 ER4 AC+1,34712 ;LOW PRODUCT FAILED
|
|
10974 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
10975 037501 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
10976 037502 005 01 0 00 034713 ER5 E,34713 ;C(E) WAS CLOBBERED
|
|
10977 037503 321 05 0 00 037471 JUMPL AC+2,F34710 ;LOOP ON ERROR SWITCH^
|
|
10978 ;LAST CASE IS DIFFERENT
|
|
10979 003472 ADR=ADR+1
|
|
10980 001000 000000 XX=XX+XX
|
|
10981 IFE XX,<XX=1>
|
|
10982
|
|
10983 ;MULTIPLY -1 BY A RIPPLED 1
|
|
10984 IFG XX,<
|
|
10985 777777 777777 V1=-1
|
|
10986 777000 000000 V2=-XX>
|
|
10987 IFL XX,<
|
|
10988 V1=1
|
|
10989 V2=0>
|
|
10990 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
10991 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
10992 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
10993 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
10994 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
10995
|
|
10996 001000 000000 F34720: AA1=XX ;INITIAL C(AC)
|
|
10997 037504 200 03 0 00 044033 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
10998 000000 AA2=0 ;INITIAL C(AC+1)
|
|
10999 037505 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11000 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-18
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0222
|
|
|
|
11001 037506 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
11002 037507 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11003 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11004 037510 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11005 037511 003 03 0 00 034721 ER3 AC,34721 ;HIGH PRODUCT FAILED
|
|
11006 777000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
11007 037512 312 04 0 00 044164 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
11008 037513 004 04 0 00 034722 ER4 AC+1,34722 ;LOW PRODUCT FAILED
|
|
11009 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
11010 037514 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
11011 037515 005 01 0 00 034723 ER5 E,34723 ;C(E) WAS CLOBBERED
|
|
11012 037516 321 05 0 00 037504 JUMPL AC+2,F34720 ;LOOP ON ERROR SWITCH^
|
|
11013 ;LAST CASE IS DIFFERENT
|
|
11014 003473 ADR=ADR+1
|
|
11015 002000 000000 XX=XX+XX
|
|
11016 IFE XX,<XX=1>
|
|
11017
|
|
11018 ;MULTIPLY -1 BY A RIPPLED 1
|
|
11019 IFG XX,<
|
|
11020 777777 777777 V1=-1
|
|
11021 776000 000000 V2=-XX>
|
|
11022 IFL XX,<
|
|
11023 V1=1
|
|
11024 V2=0>
|
|
11025 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
11026 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
11027 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11028 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
11029 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11030
|
|
11031 002000 000000 F34730: AA1=XX ;INITIAL C(AC)
|
|
11032 037517 200 03 0 00 044034 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
11033 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11034 037520 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11035 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
11036 037521 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
11037 037522 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11038 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11039 037523 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11040 037524 003 03 0 00 034731 ER3 AC,34731 ;HIGH PRODUCT FAILED
|
|
11041 776000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
11042 037525 312 04 0 00 044165 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
11043 037526 004 04 0 00 034732 ER4 AC+1,34732 ;LOW PRODUCT FAILED
|
|
11044 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
11045 037527 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
11046 037530 005 01 0 00 034733 ER5 E,34733 ;C(E) WAS CLOBBERED
|
|
11047 037531 321 05 0 00 037517 JUMPL AC+2,F34730 ;LOOP ON ERROR SWITCH^
|
|
11048 ;LAST CASE IS DIFFERENT
|
|
11049 003474 ADR=ADR+1
|
|
11050 004000 000000 XX=XX+XX
|
|
11051 IFE XX,<XX=1>
|
|
11052
|
|
11053 ;MULTIPLY -1 BY A RIPPLED 1
|
|
11054 IFG XX,<
|
|
11055 777777 777777 V1=-1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-19
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0223
|
|
|
|
11056 774000 000000 V2=-XX>
|
|
11057 IFL XX,<
|
|
11058 V1=1
|
|
11059 V2=0>
|
|
11060 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
11061 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
11062 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11063 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
11064 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11065
|
|
11066 004000 000000 F34740: AA1=XX ;INITIAL C(AC)
|
|
11067 037532 200 03 0 00 044035 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
11068 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11069 037533 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11070 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
11071 037534 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
11072 037535 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11073 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11074 037536 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11075 037537 003 03 0 00 034741 ER3 AC,34741 ;HIGH PRODUCT FAILED
|
|
11076 774000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
11077 037540 312 04 0 00 044166 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
11078 037541 004 04 0 00 034742 ER4 AC+1,34742 ;LOW PRODUCT FAILED
|
|
11079 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
11080 037542 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
11081 037543 005 01 0 00 034743 ER5 E,34743 ;C(E) WAS CLOBBERED
|
|
11082 037544 321 05 0 00 037532 JUMPL AC+2,F34740 ;LOOP ON ERROR SWITCH^
|
|
11083 ;LAST CASE IS DIFFERENT
|
|
11084 003475 ADR=ADR+1
|
|
11085 010000 000000 XX=XX+XX
|
|
11086 IFE XX,<XX=1>
|
|
11087
|
|
11088 ;MULTIPLY -1 BY A RIPPLED 1
|
|
11089 IFG XX,<
|
|
11090 777777 777777 V1=-1
|
|
11091 770000 000000 V2=-XX>
|
|
11092 IFL XX,<
|
|
11093 V1=1
|
|
11094 V2=0>
|
|
11095 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
11096 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
11097 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11098 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
11099 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11100
|
|
11101 010000 000000 F34750: AA1=XX ;INITIAL C(AC)
|
|
11102 037545 200 03 0 00 044036 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
11103 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11104 037546 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11105 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
11106 037547 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
11107 037550 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11108 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11109 037551 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11110 037552 003 03 0 00 034751 ER3 AC,34751 ;HIGH PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-20
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0224
|
|
|
|
11111 770000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
11112 037553 312 04 0 00 044167 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
11113 037554 004 04 0 00 034752 ER4 AC+1,34752 ;LOW PRODUCT FAILED
|
|
11114 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
11115 037555 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
11116 037556 005 01 0 00 034753 ER5 E,34753 ;C(E) WAS CLOBBERED
|
|
11117 037557 321 05 0 00 037545 JUMPL AC+2,F34750 ;LOOP ON ERROR SWITCH^
|
|
11118 ;LAST CASE IS DIFFERENT
|
|
11119 003476 ADR=ADR+1
|
|
11120 020000 000000 XX=XX+XX
|
|
11121 IFE XX,<XX=1>
|
|
11122
|
|
11123 ;MULTIPLY -1 BY A RIPPLED 1
|
|
11124 IFG XX,<
|
|
11125 777777 777777 V1=-1
|
|
11126 760000 000000 V2=-XX>
|
|
11127 IFL XX,<
|
|
11128 V1=1
|
|
11129 V2=0>
|
|
11130 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
11131 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
11132 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11133 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
11134 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11135
|
|
11136 020000 000000 F34760: AA1=XX ;INITIAL C(AC)
|
|
11137 037560 200 03 0 00 044037 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
11138 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11139 037561 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11140 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
11141 037562 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
11142 037563 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11143 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11144 037564 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11145 037565 003 03 0 00 034761 ER3 AC,34761 ;HIGH PRODUCT FAILED
|
|
11146 760000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
11147 037566 312 04 0 00 044170 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
11148 037567 004 04 0 00 034762 ER4 AC+1,34762 ;LOW PRODUCT FAILED
|
|
11149 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
11150 037570 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
11151 037571 005 01 0 00 034763 ER5 E,34763 ;C(E) WAS CLOBBERED
|
|
11152 037572 321 05 0 00 037560 JUMPL AC+2,F34760 ;LOOP ON ERROR SWITCH^
|
|
11153 ;LAST CASE IS DIFFERENT
|
|
11154 003477 ADR=ADR+1
|
|
11155 040000 000000 XX=XX+XX
|
|
11156 IFE XX,<XX=1>
|
|
11157
|
|
11158 ;MULTIPLY -1 BY A RIPPLED 1
|
|
11159 IFG XX,<
|
|
11160 777777 777777 V1=-1
|
|
11161 740000 000000 V2=-XX>
|
|
11162 IFL XX,<
|
|
11163 V1=1
|
|
11164 V2=0>
|
|
11165 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-21
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0225
|
|
|
|
11166 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
11167 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11168 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
11169 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11170
|
|
11171 040000 000000 F34770: AA1=XX ;INITIAL C(AC)
|
|
11172 037573 200 03 0 00 044040 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
11173 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11174 037574 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11175 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
11176 037575 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
11177 037576 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11178 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11179 037577 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11180 037600 003 03 0 00 034771 ER3 AC,34771 ;HIGH PRODUCT FAILED
|
|
11181 740000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
11182 037601 312 04 0 00 044171 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
11183 037602 004 04 0 00 034772 ER4 AC+1,34772 ;LOW PRODUCT FAILED
|
|
11184 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
11185 037603 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
11186 037604 005 01 0 00 034773 ER5 E,34773 ;C(E) WAS CLOBBERED
|
|
11187 037605 321 05 0 00 037573 JUMPL AC+2,F34770 ;LOOP ON ERROR SWITCH^
|
|
11188 ;LAST CASE IS DIFFERENT
|
|
11189 003500 ADR=ADR+1
|
|
11190 100000 000000 XX=XX+XX
|
|
11191 IFE XX,<XX=1>
|
|
11192
|
|
11193 ;MULTIPLY -1 BY A RIPPLED 1
|
|
11194 IFG XX,<
|
|
11195 777777 777777 V1=-1
|
|
11196 700000 000000 V2=-XX>
|
|
11197 IFL XX,<
|
|
11198 V1=1
|
|
11199 V2=0>
|
|
11200 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
11201 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
11202 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11203 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
11204 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11205
|
|
11206 100000 000000 F35000: AA1=XX ;INITIAL C(AC)
|
|
11207 037606 200 03 0 00 044041 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
11208 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11209 037607 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11210 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
11211 037610 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
11212 037611 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11213 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11214 037612 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11215 037613 003 03 0 00 035001 ER3 AC,35001 ;HIGH PRODUCT FAILED
|
|
11216 700000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
11217 037614 312 04 0 00 044172 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
11218 037615 004 04 0 00 035002 ER4 AC+1,35002 ;LOW PRODUCT FAILED
|
|
11219 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
11220 037616 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 14-22
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0226
|
|
|
|
11221 037617 005 01 0 00 035003 ER5 E,35003 ;C(E) WAS CLOBBERED
|
|
11222 037620 321 05 0 00 037606 JUMPL AC+2,F35000 ;LOOP ON ERROR SWITCH^
|
|
11223 ;LAST CASE IS DIFFERENT
|
|
11224 003501 ADR=ADR+1
|
|
11225 200000 000000 XX=XX+XX
|
|
11226 IFE XX,<XX=1>
|
|
11227
|
|
11228 ;MULTIPLY -1 BY A RIPPLED 1
|
|
11229 IFG XX,<
|
|
11230 777777 777777 V1=-1
|
|
11231 600000 000000 V2=-XX>
|
|
11232 IFL XX,<
|
|
11233 V1=1
|
|
11234 V2=0>
|
|
11235 MOP1 (\ADR,XX,0,-1,V1,V2)^
|
|
11236 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
11237 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11238 ;AND E AGAINST [V1], [V2] AND [-1] RESPECTIVELY.
|
|
11239 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11240
|
|
11241 200000 000000 F35010: AA1=XX ;INITIAL C(AC)
|
|
11242 037621 200 03 0 00 044042 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
11243 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11244 037622 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11245 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
11246 037623 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
11247 037624 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11248 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11249 037625 312 03 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11250 037626 003 03 0 00 035011 ER3 AC,35011 ;HIGH PRODUCT FAILED
|
|
11251 600000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
11252 037627 312 04 0 00 044173 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
11253 037630 004 04 0 00 035012 ER4 AC+1,35012 ;LOW PRODUCT FAILED
|
|
11254 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
11255 037631 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
11256 037632 005 01 0 00 035013 ER5 E,35013 ;C(E) WAS CLOBBERED
|
|
11257 037633 321 05 0 00 037621 JUMPL AC+2,F35010 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 15
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0227
|
|
|
|
11258 ;MULTIPLY A -1 BY 400000,,0
|
|
11259 003502 ADR=ADR+1
|
|
11260 400000 000000 XX=400000000000
|
|
11261
|
|
11262 MOP1 (\ADR,XX,0,-1,-1,XX)^
|
|
11263 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
11264 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11265 ;AND E AGAINST [-1], [XX] AND [-1] RESPECTIVELY.
|
|
11266 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11267
|
|
11268 400000 000000 F35020: AA1=XX ;INITIAL C(AC)
|
|
11269 037634 200 03 0 00 044043 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
11270 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11271 037635 200 04 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11272 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
11273 037636 200 01 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
11274 037637 224 03 0 00 000001 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11275 777777 777777 AR1=-1 ;EXPECTED RESULT IN AC
|
|
11276 037640 312 03 0 00 043777 CAME AC,[-1] ;IS HIGH PRODUCT CORRECT?
|
|
11277 037641 003 03 0 00 035021 ER3 AC,35021 ;HIGH PRODUCT FAILED
|
|
11278 400000 000000 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11279 037642 312 04 0 00 044043 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11280 037643 004 04 0 00 035022 ER4 AC+1,35022 ;LOW PRODUCT FAILED
|
|
11281 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
11282 037644 312 01 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
11283 037645 005 01 0 00 035023 ER5 E,35023 ;C(E) WAS CLOBBERED
|
|
11284 037646 321 05 0 00 037634 JUMPL AC+2,F35020 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0228
|
|
|
|
11285 000002 AC=2
|
|
11286 000000 E=<AC-2>&17
|
|
11287 SAVEAC (1,1)^
|
|
11288 037647 201 04 0 00 037647 MOVEI AC+2,. ;SAVE TEST PC
|
|
11289 037650 202 04 0 00 030051 MOVEM AC+2,TESTPC
|
|
11290 037651 201 04 0 00 000004 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
11291 037652 202 04 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
11292 000000 XX=0
|
|
11293
|
|
11294 REPEAT ^D36,<
|
|
11295 ADR=ADR+1
|
|
11296 XX=XX+XX+1
|
|
11297 IFE <XX-1>,<XX=-2>
|
|
11298
|
|
11299 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11300 IFL XX,<V1=-1>
|
|
11301 IFG XX,<V1=0>
|
|
11302 MOP1 (\ADR,1,0,XX,V1,XX)>
|
|
11303
|
|
11304 003503 ADR=ADR+1
|
|
11305 000001 XX=XX+XX+1
|
|
11306 777777 777776 IFE <XX-1>,<XX=-2>
|
|
11307
|
|
11308 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11309 777777 777777 IFL XX,<V1=-1>
|
|
11310 IFG XX,<V1=0>
|
|
11311 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11312 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11313 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11314 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11315 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11316
|
|
11317 000001 F35030: AA1=1 ;INITIAL C(AC)
|
|
11318 037653 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11319 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11320 037654 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11321 777777 777776 AEE=XX ;INITIAL C(E)
|
|
11322 037655 200 00 0 00 044044 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11323 037656 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11324 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11325 037657 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11326 037660 003 02 0 00 035031 ER3 AC,35031 ;HIGH PRODUCT FAILED
|
|
11327 777777 777776 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11328 037661 312 03 0 00 044044 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11329 037662 004 03 0 00 035032 ER4 AC+1,35032 ;LOW PRODUCT FAILED
|
|
11330 777777 777776 AEE=XX ;INITIAL C(E)
|
|
11331 037663 312 00 0 00 044044 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11332 037664 005 00 0 00 035033 ER5 E,35033 ;C(E) WAS CLOBBERED
|
|
11333 037665 321 04 0 00 037653 JUMPL AC+2,F35030 ;LOOP ON ERROR SWITCH^
|
|
11334
|
|
11335 003504 ADR=ADR+1
|
|
11336 777777 777775 XX=XX+XX+1
|
|
11337 IFE <XX-1>,<XX=-2>
|
|
11338
|
|
11339 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-1
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0229
|
|
|
|
11340 777777 777777 IFL XX,<V1=-1>
|
|
11341 IFG XX,<V1=0>
|
|
11342 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11343 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11344 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11345 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11346 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11347
|
|
11348 000001 F35040: AA1=1 ;INITIAL C(AC)
|
|
11349 037666 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11350 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11351 037667 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11352 777777 777775 AEE=XX ;INITIAL C(E)
|
|
11353 037670 200 00 0 00 044045 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11354 037671 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11355 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11356 037672 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11357 037673 003 02 0 00 035041 ER3 AC,35041 ;HIGH PRODUCT FAILED
|
|
11358 777777 777775 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11359 037674 312 03 0 00 044045 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11360 037675 004 03 0 00 035042 ER4 AC+1,35042 ;LOW PRODUCT FAILED
|
|
11361 777777 777775 AEE=XX ;INITIAL C(E)
|
|
11362 037676 312 00 0 00 044045 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11363 037677 005 00 0 00 035043 ER5 E,35043 ;C(E) WAS CLOBBERED
|
|
11364 037700 321 04 0 00 037666 JUMPL AC+2,F35040 ;LOOP ON ERROR SWITCH^
|
|
11365
|
|
11366 003505 ADR=ADR+1
|
|
11367 777777 777773 XX=XX+XX+1
|
|
11368 IFE <XX-1>,<XX=-2>
|
|
11369
|
|
11370 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11371 777777 777777 IFL XX,<V1=-1>
|
|
11372 IFG XX,<V1=0>
|
|
11373 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11374 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11375 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11376 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11377 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11378
|
|
11379 000001 F35050: AA1=1 ;INITIAL C(AC)
|
|
11380 037701 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11381 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11382 037702 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11383 777777 777773 AEE=XX ;INITIAL C(E)
|
|
11384 037703 200 00 0 00 044046 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11385 037704 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11386 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11387 037705 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11388 037706 003 02 0 00 035051 ER3 AC,35051 ;HIGH PRODUCT FAILED
|
|
11389 777777 777773 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11390 037707 312 03 0 00 044046 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11391 037710 004 03 0 00 035052 ER4 AC+1,35052 ;LOW PRODUCT FAILED
|
|
11392 777777 777773 AEE=XX ;INITIAL C(E)
|
|
11393 037711 312 00 0 00 044046 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11394 037712 005 00 0 00 035053 ER5 E,35053 ;C(E) WAS CLOBBERED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-2
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0230
|
|
|
|
11395 037713 321 04 0 00 037701 JUMPL AC+2,F35050 ;LOOP ON ERROR SWITCH^
|
|
11396
|
|
11397 003506 ADR=ADR+1
|
|
11398 777777 777767 XX=XX+XX+1
|
|
11399 IFE <XX-1>,<XX=-2>
|
|
11400
|
|
11401 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11402 777777 777777 IFL XX,<V1=-1>
|
|
11403 IFG XX,<V1=0>
|
|
11404 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11405 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11406 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11407 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11408 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11409
|
|
11410 000001 F35060: AA1=1 ;INITIAL C(AC)
|
|
11411 037714 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11412 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11413 037715 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11414 777777 777767 AEE=XX ;INITIAL C(E)
|
|
11415 037716 200 00 0 00 044047 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11416 037717 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11417 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11418 037720 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11419 037721 003 02 0 00 035061 ER3 AC,35061 ;HIGH PRODUCT FAILED
|
|
11420 777777 777767 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11421 037722 312 03 0 00 044047 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11422 037723 004 03 0 00 035062 ER4 AC+1,35062 ;LOW PRODUCT FAILED
|
|
11423 777777 777767 AEE=XX ;INITIAL C(E)
|
|
11424 037724 312 00 0 00 044047 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11425 037725 005 00 0 00 035063 ER5 E,35063 ;C(E) WAS CLOBBERED
|
|
11426 037726 321 04 0 00 037714 JUMPL AC+2,F35060 ;LOOP ON ERROR SWITCH^
|
|
11427
|
|
11428 003507 ADR=ADR+1
|
|
11429 777777 777757 XX=XX+XX+1
|
|
11430 IFE <XX-1>,<XX=-2>
|
|
11431
|
|
11432 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11433 777777 777777 IFL XX,<V1=-1>
|
|
11434 IFG XX,<V1=0>
|
|
11435 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11436 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11437 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11438 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11439 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11440
|
|
11441 000001 F35070: AA1=1 ;INITIAL C(AC)
|
|
11442 037727 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11443 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11444 037730 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11445 777777 777757 AEE=XX ;INITIAL C(E)
|
|
11446 037731 200 00 0 00 044050 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11447 037732 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11448 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11449 037733 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-3
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0231
|
|
|
|
11450 037734 003 02 0 00 035071 ER3 AC,35071 ;HIGH PRODUCT FAILED
|
|
11451 777777 777757 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11452 037735 312 03 0 00 044050 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11453 037736 004 03 0 00 035072 ER4 AC+1,35072 ;LOW PRODUCT FAILED
|
|
11454 777777 777757 AEE=XX ;INITIAL C(E)
|
|
11455 037737 312 00 0 00 044050 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11456 037740 005 00 0 00 035073 ER5 E,35073 ;C(E) WAS CLOBBERED
|
|
11457 037741 321 04 0 00 037727 JUMPL AC+2,F35070 ;LOOP ON ERROR SWITCH^
|
|
11458
|
|
11459 003510 ADR=ADR+1
|
|
11460 777777 777737 XX=XX+XX+1
|
|
11461 IFE <XX-1>,<XX=-2>
|
|
11462
|
|
11463 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11464 777777 777777 IFL XX,<V1=-1>
|
|
11465 IFG XX,<V1=0>
|
|
11466 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11467 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11468 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11469 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11470 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11471
|
|
11472 000001 F35100: AA1=1 ;INITIAL C(AC)
|
|
11473 037742 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11474 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11475 037743 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11476 777777 777737 AEE=XX ;INITIAL C(E)
|
|
11477 037744 200 00 0 00 044051 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11478 037745 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11479 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11480 037746 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11481 037747 003 02 0 00 035101 ER3 AC,35101 ;HIGH PRODUCT FAILED
|
|
11482 777777 777737 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11483 037750 312 03 0 00 044051 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11484 037751 004 03 0 00 035102 ER4 AC+1,35102 ;LOW PRODUCT FAILED
|
|
11485 777777 777737 AEE=XX ;INITIAL C(E)
|
|
11486 037752 312 00 0 00 044051 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11487 037753 005 00 0 00 035103 ER5 E,35103 ;C(E) WAS CLOBBERED
|
|
11488 037754 321 04 0 00 037742 JUMPL AC+2,F35100 ;LOOP ON ERROR SWITCH^
|
|
11489
|
|
11490 003511 ADR=ADR+1
|
|
11491 777777 777677 XX=XX+XX+1
|
|
11492 IFE <XX-1>,<XX=-2>
|
|
11493
|
|
11494 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11495 777777 777777 IFL XX,<V1=-1>
|
|
11496 IFG XX,<V1=0>
|
|
11497 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11498 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11499 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11500 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11501 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11502
|
|
11503 000001 F35110: AA1=1 ;INITIAL C(AC)
|
|
11504 037755 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-4
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0232
|
|
|
|
11505 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11506 037756 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11507 777777 777677 AEE=XX ;INITIAL C(E)
|
|
11508 037757 200 00 0 00 044052 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11509 037760 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11510 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11511 037761 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11512 037762 003 02 0 00 035111 ER3 AC,35111 ;HIGH PRODUCT FAILED
|
|
11513 777777 777677 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11514 037763 312 03 0 00 044052 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11515 037764 004 03 0 00 035112 ER4 AC+1,35112 ;LOW PRODUCT FAILED
|
|
11516 777777 777677 AEE=XX ;INITIAL C(E)
|
|
11517 037765 312 00 0 00 044052 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11518 037766 005 00 0 00 035113 ER5 E,35113 ;C(E) WAS CLOBBERED
|
|
11519 037767 321 04 0 00 037755 JUMPL AC+2,F35110 ;LOOP ON ERROR SWITCH^
|
|
11520
|
|
11521 003512 ADR=ADR+1
|
|
11522 777777 777577 XX=XX+XX+1
|
|
11523 IFE <XX-1>,<XX=-2>
|
|
11524
|
|
11525 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11526 777777 777777 IFL XX,<V1=-1>
|
|
11527 IFG XX,<V1=0>
|
|
11528 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11529 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11530 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11531 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11532 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11533
|
|
11534 000001 F35120: AA1=1 ;INITIAL C(AC)
|
|
11535 037770 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11536 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11537 037771 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11538 777777 777577 AEE=XX ;INITIAL C(E)
|
|
11539 037772 200 00 0 00 044053 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11540 037773 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11541 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11542 037774 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11543 037775 003 02 0 00 035121 ER3 AC,35121 ;HIGH PRODUCT FAILED
|
|
11544 777777 777577 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11545 037776 312 03 0 00 044053 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11546 037777 004 03 0 00 035122 ER4 AC+1,35122 ;LOW PRODUCT FAILED
|
|
11547 777777 777577 AEE=XX ;INITIAL C(E)
|
|
11548 040000 312 00 0 00 044053 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11549 040001 005 00 0 00 035123 ER5 E,35123 ;C(E) WAS CLOBBERED
|
|
11550 040002 321 04 0 00 037770 JUMPL AC+2,F35120 ;LOOP ON ERROR SWITCH^
|
|
11551
|
|
11552 003513 ADR=ADR+1
|
|
11553 777777 777377 XX=XX+XX+1
|
|
11554 IFE <XX-1>,<XX=-2>
|
|
11555
|
|
11556 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11557 777777 777777 IFL XX,<V1=-1>
|
|
11558 IFG XX,<V1=0>
|
|
11559 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-5
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0233
|
|
|
|
11560 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11561 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11562 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11563 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11564
|
|
11565 000001 F35130: AA1=1 ;INITIAL C(AC)
|
|
11566 040003 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11567 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11568 040004 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11569 777777 777377 AEE=XX ;INITIAL C(E)
|
|
11570 040005 200 00 0 00 044054 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11571 040006 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11572 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11573 040007 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11574 040010 003 02 0 00 035131 ER3 AC,35131 ;HIGH PRODUCT FAILED
|
|
11575 777777 777377 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11576 040011 312 03 0 00 044054 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11577 040012 004 03 0 00 035132 ER4 AC+1,35132 ;LOW PRODUCT FAILED
|
|
11578 777777 777377 AEE=XX ;INITIAL C(E)
|
|
11579 040013 312 00 0 00 044054 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11580 040014 005 00 0 00 035133 ER5 E,35133 ;C(E) WAS CLOBBERED
|
|
11581 040015 321 04 0 00 040003 JUMPL AC+2,F35130 ;LOOP ON ERROR SWITCH^
|
|
11582
|
|
11583 003514 ADR=ADR+1
|
|
11584 777777 776777 XX=XX+XX+1
|
|
11585 IFE <XX-1>,<XX=-2>
|
|
11586
|
|
11587 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11588 777777 777777 IFL XX,<V1=-1>
|
|
11589 IFG XX,<V1=0>
|
|
11590 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11591 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11592 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11593 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11594 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11595
|
|
11596 000001 F35140: AA1=1 ;INITIAL C(AC)
|
|
11597 040016 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11598 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11599 040017 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11600 777777 776777 AEE=XX ;INITIAL C(E)
|
|
11601 040020 200 00 0 00 044055 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11602 040021 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11603 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11604 040022 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11605 040023 003 02 0 00 035141 ER3 AC,35141 ;HIGH PRODUCT FAILED
|
|
11606 777777 776777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11607 040024 312 03 0 00 044055 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11608 040025 004 03 0 00 035142 ER4 AC+1,35142 ;LOW PRODUCT FAILED
|
|
11609 777777 776777 AEE=XX ;INITIAL C(E)
|
|
11610 040026 312 00 0 00 044055 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11611 040027 005 00 0 00 035143 ER5 E,35143 ;C(E) WAS CLOBBERED
|
|
11612 040030 321 04 0 00 040016 JUMPL AC+2,F35140 ;LOOP ON ERROR SWITCH^
|
|
11613
|
|
11614 003515 ADR=ADR+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-6
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0234
|
|
|
|
11615 777777 775777 XX=XX+XX+1
|
|
11616 IFE <XX-1>,<XX=-2>
|
|
11617
|
|
11618 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11619 777777 777777 IFL XX,<V1=-1>
|
|
11620 IFG XX,<V1=0>
|
|
11621 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11622 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11623 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11624 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11625 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11626
|
|
11627 000001 F35150: AA1=1 ;INITIAL C(AC)
|
|
11628 040031 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11629 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11630 040032 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11631 777777 775777 AEE=XX ;INITIAL C(E)
|
|
11632 040033 200 00 0 00 044056 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11633 040034 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11634 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11635 040035 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11636 040036 003 02 0 00 035151 ER3 AC,35151 ;HIGH PRODUCT FAILED
|
|
11637 777777 775777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11638 040037 312 03 0 00 044056 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11639 040040 004 03 0 00 035152 ER4 AC+1,35152 ;LOW PRODUCT FAILED
|
|
11640 777777 775777 AEE=XX ;INITIAL C(E)
|
|
11641 040041 312 00 0 00 044056 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11642 040042 005 00 0 00 035153 ER5 E,35153 ;C(E) WAS CLOBBERED
|
|
11643 040043 321 04 0 00 040031 JUMPL AC+2,F35150 ;LOOP ON ERROR SWITCH^
|
|
11644
|
|
11645 003516 ADR=ADR+1
|
|
11646 777777 773777 XX=XX+XX+1
|
|
11647 IFE <XX-1>,<XX=-2>
|
|
11648
|
|
11649 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11650 777777 777777 IFL XX,<V1=-1>
|
|
11651 IFG XX,<V1=0>
|
|
11652 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11653 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11654 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11655 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11656 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11657
|
|
11658 000001 F35160: AA1=1 ;INITIAL C(AC)
|
|
11659 040044 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11660 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11661 040045 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11662 777777 773777 AEE=XX ;INITIAL C(E)
|
|
11663 040046 200 00 0 00 044057 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11664 040047 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11665 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11666 040050 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11667 040051 003 02 0 00 035161 ER3 AC,35161 ;HIGH PRODUCT FAILED
|
|
11668 777777 773777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11669 040052 312 03 0 00 044057 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-7
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0235
|
|
|
|
11670 040053 004 03 0 00 035162 ER4 AC+1,35162 ;LOW PRODUCT FAILED
|
|
11671 777777 773777 AEE=XX ;INITIAL C(E)
|
|
11672 040054 312 00 0 00 044057 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11673 040055 005 00 0 00 035163 ER5 E,35163 ;C(E) WAS CLOBBERED
|
|
11674 040056 321 04 0 00 040044 JUMPL AC+2,F35160 ;LOOP ON ERROR SWITCH^
|
|
11675
|
|
11676 003517 ADR=ADR+1
|
|
11677 777777 767777 XX=XX+XX+1
|
|
11678 IFE <XX-1>,<XX=-2>
|
|
11679
|
|
11680 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11681 777777 777777 IFL XX,<V1=-1>
|
|
11682 IFG XX,<V1=0>
|
|
11683 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11684 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11685 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11686 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11687 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11688
|
|
11689 000001 F35170: AA1=1 ;INITIAL C(AC)
|
|
11690 040057 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11691 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11692 040060 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11693 777777 767777 AEE=XX ;INITIAL C(E)
|
|
11694 040061 200 00 0 00 044060 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11695 040062 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11696 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11697 040063 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11698 040064 003 02 0 00 035171 ER3 AC,35171 ;HIGH PRODUCT FAILED
|
|
11699 777777 767777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11700 040065 312 03 0 00 044060 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11701 040066 004 03 0 00 035172 ER4 AC+1,35172 ;LOW PRODUCT FAILED
|
|
11702 777777 767777 AEE=XX ;INITIAL C(E)
|
|
11703 040067 312 00 0 00 044060 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11704 040070 005 00 0 00 035173 ER5 E,35173 ;C(E) WAS CLOBBERED
|
|
11705 040071 321 04 0 00 040057 JUMPL AC+2,F35170 ;LOOP ON ERROR SWITCH^
|
|
11706
|
|
11707 003520 ADR=ADR+1
|
|
11708 777777 757777 XX=XX+XX+1
|
|
11709 IFE <XX-1>,<XX=-2>
|
|
11710
|
|
11711 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11712 777777 777777 IFL XX,<V1=-1>
|
|
11713 IFG XX,<V1=0>
|
|
11714 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11715 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11716 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11717 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11718 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11719
|
|
11720 000001 F35200: AA1=1 ;INITIAL C(AC)
|
|
11721 040072 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11722 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11723 040073 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11724 777777 757777 AEE=XX ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-8
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0236
|
|
|
|
11725 040074 200 00 0 00 044061 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11726 040075 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11727 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11728 040076 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11729 040077 003 02 0 00 035201 ER3 AC,35201 ;HIGH PRODUCT FAILED
|
|
11730 777777 757777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11731 040100 312 03 0 00 044061 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11732 040101 004 03 0 00 035202 ER4 AC+1,35202 ;LOW PRODUCT FAILED
|
|
11733 777777 757777 AEE=XX ;INITIAL C(E)
|
|
11734 040102 312 00 0 00 044061 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11735 040103 005 00 0 00 035203 ER5 E,35203 ;C(E) WAS CLOBBERED
|
|
11736 040104 321 04 0 00 040072 JUMPL AC+2,F35200 ;LOOP ON ERROR SWITCH^
|
|
11737
|
|
11738 003521 ADR=ADR+1
|
|
11739 777777 737777 XX=XX+XX+1
|
|
11740 IFE <XX-1>,<XX=-2>
|
|
11741
|
|
11742 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11743 777777 777777 IFL XX,<V1=-1>
|
|
11744 IFG XX,<V1=0>
|
|
11745 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11746 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11747 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11748 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11749 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11750
|
|
11751 000001 F35210: AA1=1 ;INITIAL C(AC)
|
|
11752 040105 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11753 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11754 040106 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11755 777777 737777 AEE=XX ;INITIAL C(E)
|
|
11756 040107 200 00 0 00 044062 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11757 040110 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11758 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11759 040111 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11760 040112 003 02 0 00 035211 ER3 AC,35211 ;HIGH PRODUCT FAILED
|
|
11761 777777 737777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11762 040113 312 03 0 00 044062 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11763 040114 004 03 0 00 035212 ER4 AC+1,35212 ;LOW PRODUCT FAILED
|
|
11764 777777 737777 AEE=XX ;INITIAL C(E)
|
|
11765 040115 312 00 0 00 044062 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11766 040116 005 00 0 00 035213 ER5 E,35213 ;C(E) WAS CLOBBERED
|
|
11767 040117 321 04 0 00 040105 JUMPL AC+2,F35210 ;LOOP ON ERROR SWITCH^
|
|
11768
|
|
11769 003522 ADR=ADR+1
|
|
11770 777777 677777 XX=XX+XX+1
|
|
11771 IFE <XX-1>,<XX=-2>
|
|
11772
|
|
11773 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11774 777777 777777 IFL XX,<V1=-1>
|
|
11775 IFG XX,<V1=0>
|
|
11776 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11777 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11778 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11779 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-9
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0237
|
|
|
|
11780 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11781
|
|
11782 000001 F35220: AA1=1 ;INITIAL C(AC)
|
|
11783 040120 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11784 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11785 040121 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11786 777777 677777 AEE=XX ;INITIAL C(E)
|
|
11787 040122 200 00 0 00 044063 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11788 040123 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11789 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11790 040124 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11791 040125 003 02 0 00 035221 ER3 AC,35221 ;HIGH PRODUCT FAILED
|
|
11792 777777 677777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11793 040126 312 03 0 00 044063 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11794 040127 004 03 0 00 035222 ER4 AC+1,35222 ;LOW PRODUCT FAILED
|
|
11795 777777 677777 AEE=XX ;INITIAL C(E)
|
|
11796 040130 312 00 0 00 044063 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11797 040131 005 00 0 00 035223 ER5 E,35223 ;C(E) WAS CLOBBERED
|
|
11798 040132 321 04 0 00 040120 JUMPL AC+2,F35220 ;LOOP ON ERROR SWITCH^
|
|
11799
|
|
11800 003523 ADR=ADR+1
|
|
11801 777777 577777 XX=XX+XX+1
|
|
11802 IFE <XX-1>,<XX=-2>
|
|
11803
|
|
11804 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11805 777777 777777 IFL XX,<V1=-1>
|
|
11806 IFG XX,<V1=0>
|
|
11807 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11808 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11809 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11810 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11811 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11812
|
|
11813 000001 F35230: AA1=1 ;INITIAL C(AC)
|
|
11814 040133 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11815 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11816 040134 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11817 777777 577777 AEE=XX ;INITIAL C(E)
|
|
11818 040135 200 00 0 00 044064 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11819 040136 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11820 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11821 040137 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11822 040140 003 02 0 00 035231 ER3 AC,35231 ;HIGH PRODUCT FAILED
|
|
11823 777777 577777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11824 040141 312 03 0 00 044064 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11825 040142 004 03 0 00 035232 ER4 AC+1,35232 ;LOW PRODUCT FAILED
|
|
11826 777777 577777 AEE=XX ;INITIAL C(E)
|
|
11827 040143 312 00 0 00 044064 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11828 040144 005 00 0 00 035233 ER5 E,35233 ;C(E) WAS CLOBBERED
|
|
11829 040145 321 04 0 00 040133 JUMPL AC+2,F35230 ;LOOP ON ERROR SWITCH^
|
|
11830
|
|
11831 003524 ADR=ADR+1
|
|
11832 777777 377777 XX=XX+XX+1
|
|
11833 IFE <XX-1>,<XX=-2>
|
|
11834
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-10
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0238
|
|
|
|
11835 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11836 777777 777777 IFL XX,<V1=-1>
|
|
11837 IFG XX,<V1=0>
|
|
11838 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11839 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11840 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11841 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11842 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11843
|
|
11844 000001 F35240: AA1=1 ;INITIAL C(AC)
|
|
11845 040146 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11846 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11847 040147 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11848 777777 377777 AEE=XX ;INITIAL C(E)
|
|
11849 040150 200 00 0 00 044065 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11850 040151 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11851 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11852 040152 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11853 040153 003 02 0 00 035241 ER3 AC,35241 ;HIGH PRODUCT FAILED
|
|
11854 777777 377777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11855 040154 312 03 0 00 044065 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11856 040155 004 03 0 00 035242 ER4 AC+1,35242 ;LOW PRODUCT FAILED
|
|
11857 777777 377777 AEE=XX ;INITIAL C(E)
|
|
11858 040156 312 00 0 00 044065 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11859 040157 005 00 0 00 035243 ER5 E,35243 ;C(E) WAS CLOBBERED
|
|
11860 040160 321 04 0 00 040146 JUMPL AC+2,F35240 ;LOOP ON ERROR SWITCH^
|
|
11861
|
|
11862 003525 ADR=ADR+1
|
|
11863 777776 777777 XX=XX+XX+1
|
|
11864 IFE <XX-1>,<XX=-2>
|
|
11865
|
|
11866 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11867 777777 777777 IFL XX,<V1=-1>
|
|
11868 IFG XX,<V1=0>
|
|
11869 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11870 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11871 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11872 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11873 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11874
|
|
11875 000001 F35250: AA1=1 ;INITIAL C(AC)
|
|
11876 040161 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11877 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11878 040162 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11879 777776 777777 AEE=XX ;INITIAL C(E)
|
|
11880 040163 200 00 0 00 044066 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11881 040164 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11882 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11883 040165 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11884 040166 003 02 0 00 035251 ER3 AC,35251 ;HIGH PRODUCT FAILED
|
|
11885 777776 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11886 040167 312 03 0 00 044066 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11887 040170 004 03 0 00 035252 ER4 AC+1,35252 ;LOW PRODUCT FAILED
|
|
11888 777776 777777 AEE=XX ;INITIAL C(E)
|
|
11889 040171 312 00 0 00 044066 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-11
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0239
|
|
|
|
11890 040172 005 00 0 00 035253 ER5 E,35253 ;C(E) WAS CLOBBERED
|
|
11891 040173 321 04 0 00 040161 JUMPL AC+2,F35250 ;LOOP ON ERROR SWITCH^
|
|
11892
|
|
11893 003526 ADR=ADR+1
|
|
11894 777775 777777 XX=XX+XX+1
|
|
11895 IFE <XX-1>,<XX=-2>
|
|
11896
|
|
11897 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11898 777777 777777 IFL XX,<V1=-1>
|
|
11899 IFG XX,<V1=0>
|
|
11900 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11901 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11902 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11903 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11904 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11905
|
|
11906 000001 F35260: AA1=1 ;INITIAL C(AC)
|
|
11907 040174 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11908 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11909 040175 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11910 777775 777777 AEE=XX ;INITIAL C(E)
|
|
11911 040176 200 00 0 00 044067 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11912 040177 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11913 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11914 040200 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11915 040201 003 02 0 00 035261 ER3 AC,35261 ;HIGH PRODUCT FAILED
|
|
11916 777775 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11917 040202 312 03 0 00 044067 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11918 040203 004 03 0 00 035262 ER4 AC+1,35262 ;LOW PRODUCT FAILED
|
|
11919 777775 777777 AEE=XX ;INITIAL C(E)
|
|
11920 040204 312 00 0 00 044067 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11921 040205 005 00 0 00 035263 ER5 E,35263 ;C(E) WAS CLOBBERED
|
|
11922 040206 321 04 0 00 040174 JUMPL AC+2,F35260 ;LOOP ON ERROR SWITCH^
|
|
11923
|
|
11924 003527 ADR=ADR+1
|
|
11925 777773 777777 XX=XX+XX+1
|
|
11926 IFE <XX-1>,<XX=-2>
|
|
11927
|
|
11928 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11929 777777 777777 IFL XX,<V1=-1>
|
|
11930 IFG XX,<V1=0>
|
|
11931 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11932 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11933 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11934 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11935 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11936
|
|
11937 000001 F35270: AA1=1 ;INITIAL C(AC)
|
|
11938 040207 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11939 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11940 040210 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11941 777773 777777 AEE=XX ;INITIAL C(E)
|
|
11942 040211 200 00 0 00 044070 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11943 040212 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11944 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-12
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0240
|
|
|
|
11945 040213 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11946 040214 003 02 0 00 035271 ER3 AC,35271 ;HIGH PRODUCT FAILED
|
|
11947 777773 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11948 040215 312 03 0 00 044070 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11949 040216 004 03 0 00 035272 ER4 AC+1,35272 ;LOW PRODUCT FAILED
|
|
11950 777773 777777 AEE=XX ;INITIAL C(E)
|
|
11951 040217 312 00 0 00 044070 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11952 040220 005 00 0 00 035273 ER5 E,35273 ;C(E) WAS CLOBBERED
|
|
11953 040221 321 04 0 00 040207 JUMPL AC+2,F35270 ;LOOP ON ERROR SWITCH^
|
|
11954
|
|
11955 003530 ADR=ADR+1
|
|
11956 777767 777777 XX=XX+XX+1
|
|
11957 IFE <XX-1>,<XX=-2>
|
|
11958
|
|
11959 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11960 777777 777777 IFL XX,<V1=-1>
|
|
11961 IFG XX,<V1=0>
|
|
11962 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11963 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11964 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11965 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11966 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11967
|
|
11968 000001 F35300: AA1=1 ;INITIAL C(AC)
|
|
11969 040222 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
11970 000000 AA2=0 ;INITIAL C(AC+1)
|
|
11971 040223 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
11972 777767 777777 AEE=XX ;INITIAL C(E)
|
|
11973 040224 200 00 0 00 044071 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
11974 040225 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
11975 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
11976 040226 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
11977 040227 003 02 0 00 035301 ER3 AC,35301 ;HIGH PRODUCT FAILED
|
|
11978 777767 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
11979 040230 312 03 0 00 044071 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
11980 040231 004 03 0 00 035302 ER4 AC+1,35302 ;LOW PRODUCT FAILED
|
|
11981 777767 777777 AEE=XX ;INITIAL C(E)
|
|
11982 040232 312 00 0 00 044071 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
11983 040233 005 00 0 00 035303 ER5 E,35303 ;C(E) WAS CLOBBERED
|
|
11984 040234 321 04 0 00 040222 JUMPL AC+2,F35300 ;LOOP ON ERROR SWITCH^
|
|
11985
|
|
11986 003531 ADR=ADR+1
|
|
11987 777757 777777 XX=XX+XX+1
|
|
11988 IFE <XX-1>,<XX=-2>
|
|
11989
|
|
11990 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
11991 777777 777777 IFL XX,<V1=-1>
|
|
11992 IFG XX,<V1=0>
|
|
11993 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
11994 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
11995 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
11996 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
11997 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
11998
|
|
11999 000001 F35310: AA1=1 ;INITIAL C(AC)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-13
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0241
|
|
|
|
12000 040235 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
12001 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12002 040236 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12003 777757 777777 AEE=XX ;INITIAL C(E)
|
|
12004 040237 200 00 0 00 044072 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
12005 040240 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12006 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12007 040241 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12008 040242 003 02 0 00 035311 ER3 AC,35311 ;HIGH PRODUCT FAILED
|
|
12009 777757 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12010 040243 312 03 0 00 044072 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12011 040244 004 03 0 00 035312 ER4 AC+1,35312 ;LOW PRODUCT FAILED
|
|
12012 777757 777777 AEE=XX ;INITIAL C(E)
|
|
12013 040245 312 00 0 00 044072 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
12014 040246 005 00 0 00 035313 ER5 E,35313 ;C(E) WAS CLOBBERED
|
|
12015 040247 321 04 0 00 040235 JUMPL AC+2,F35310 ;LOOP ON ERROR SWITCH^
|
|
12016
|
|
12017 003532 ADR=ADR+1
|
|
12018 777737 777777 XX=XX+XX+1
|
|
12019 IFE <XX-1>,<XX=-2>
|
|
12020
|
|
12021 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
12022 777777 777777 IFL XX,<V1=-1>
|
|
12023 IFG XX,<V1=0>
|
|
12024 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
12025 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
12026 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12027 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
12028 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12029
|
|
12030 000001 F35320: AA1=1 ;INITIAL C(AC)
|
|
12031 040250 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
12032 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12033 040251 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12034 777737 777777 AEE=XX ;INITIAL C(E)
|
|
12035 040252 200 00 0 00 044073 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
12036 040253 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12037 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12038 040254 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12039 040255 003 02 0 00 035321 ER3 AC,35321 ;HIGH PRODUCT FAILED
|
|
12040 777737 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12041 040256 312 03 0 00 044073 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12042 040257 004 03 0 00 035322 ER4 AC+1,35322 ;LOW PRODUCT FAILED
|
|
12043 777737 777777 AEE=XX ;INITIAL C(E)
|
|
12044 040260 312 00 0 00 044073 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
12045 040261 005 00 0 00 035323 ER5 E,35323 ;C(E) WAS CLOBBERED
|
|
12046 040262 321 04 0 00 040250 JUMPL AC+2,F35320 ;LOOP ON ERROR SWITCH^
|
|
12047
|
|
12048 003533 ADR=ADR+1
|
|
12049 777677 777777 XX=XX+XX+1
|
|
12050 IFE <XX-1>,<XX=-2>
|
|
12051
|
|
12052 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
12053 777777 777777 IFL XX,<V1=-1>
|
|
12054 IFG XX,<V1=0>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-14
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0242
|
|
|
|
12055 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
12056 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
12057 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12058 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
12059 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12060
|
|
12061 000001 F35330: AA1=1 ;INITIAL C(AC)
|
|
12062 040263 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
12063 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12064 040264 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12065 777677 777777 AEE=XX ;INITIAL C(E)
|
|
12066 040265 200 00 0 00 044074 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
12067 040266 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12068 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12069 040267 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12070 040270 003 02 0 00 035331 ER3 AC,35331 ;HIGH PRODUCT FAILED
|
|
12071 777677 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12072 040271 312 03 0 00 044074 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12073 040272 004 03 0 00 035332 ER4 AC+1,35332 ;LOW PRODUCT FAILED
|
|
12074 777677 777777 AEE=XX ;INITIAL C(E)
|
|
12075 040273 312 00 0 00 044074 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
12076 040274 005 00 0 00 035333 ER5 E,35333 ;C(E) WAS CLOBBERED
|
|
12077 040275 321 04 0 00 040263 JUMPL AC+2,F35330 ;LOOP ON ERROR SWITCH^
|
|
12078
|
|
12079 003534 ADR=ADR+1
|
|
12080 777577 777777 XX=XX+XX+1
|
|
12081 IFE <XX-1>,<XX=-2>
|
|
12082
|
|
12083 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
12084 777777 777777 IFL XX,<V1=-1>
|
|
12085 IFG XX,<V1=0>
|
|
12086 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
12087 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
12088 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12089 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
12090 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12091
|
|
12092 000001 F35340: AA1=1 ;INITIAL C(AC)
|
|
12093 040276 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
12094 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12095 040277 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12096 777577 777777 AEE=XX ;INITIAL C(E)
|
|
12097 040300 200 00 0 00 044075 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
12098 040301 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12099 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12100 040302 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12101 040303 003 02 0 00 035341 ER3 AC,35341 ;HIGH PRODUCT FAILED
|
|
12102 777577 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12103 040304 312 03 0 00 044075 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12104 040305 004 03 0 00 035342 ER4 AC+1,35342 ;LOW PRODUCT FAILED
|
|
12105 777577 777777 AEE=XX ;INITIAL C(E)
|
|
12106 040306 312 00 0 00 044075 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
12107 040307 005 00 0 00 035343 ER5 E,35343 ;C(E) WAS CLOBBERED
|
|
12108 040310 321 04 0 00 040276 JUMPL AC+2,F35340 ;LOOP ON ERROR SWITCH^
|
|
12109
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-15
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0243
|
|
|
|
12110 003535 ADR=ADR+1
|
|
12111 777377 777777 XX=XX+XX+1
|
|
12112 IFE <XX-1>,<XX=-2>
|
|
12113
|
|
12114 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
12115 777777 777777 IFL XX,<V1=-1>
|
|
12116 IFG XX,<V1=0>
|
|
12117 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
12118 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
12119 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12120 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
12121 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12122
|
|
12123 000001 F35350: AA1=1 ;INITIAL C(AC)
|
|
12124 040311 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
12125 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12126 040312 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12127 777377 777777 AEE=XX ;INITIAL C(E)
|
|
12128 040313 200 00 0 00 044076 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
12129 040314 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12130 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12131 040315 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12132 040316 003 02 0 00 035351 ER3 AC,35351 ;HIGH PRODUCT FAILED
|
|
12133 777377 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12134 040317 312 03 0 00 044076 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12135 040320 004 03 0 00 035352 ER4 AC+1,35352 ;LOW PRODUCT FAILED
|
|
12136 777377 777777 AEE=XX ;INITIAL C(E)
|
|
12137 040321 312 00 0 00 044076 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
12138 040322 005 00 0 00 035353 ER5 E,35353 ;C(E) WAS CLOBBERED
|
|
12139 040323 321 04 0 00 040311 JUMPL AC+2,F35350 ;LOOP ON ERROR SWITCH^
|
|
12140
|
|
12141 003536 ADR=ADR+1
|
|
12142 776777 777777 XX=XX+XX+1
|
|
12143 IFE <XX-1>,<XX=-2>
|
|
12144
|
|
12145 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
12146 777777 777777 IFL XX,<V1=-1>
|
|
12147 IFG XX,<V1=0>
|
|
12148 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
12149 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
12150 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12151 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
12152 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12153
|
|
12154 000001 F35360: AA1=1 ;INITIAL C(AC)
|
|
12155 040324 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
12156 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12157 040325 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12158 776777 777777 AEE=XX ;INITIAL C(E)
|
|
12159 040326 200 00 0 00 044077 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
12160 040327 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12161 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12162 040330 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12163 040331 003 02 0 00 035361 ER3 AC,35361 ;HIGH PRODUCT FAILED
|
|
12164 776777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-16
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0244
|
|
|
|
12165 040332 312 03 0 00 044077 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12166 040333 004 03 0 00 035362 ER4 AC+1,35362 ;LOW PRODUCT FAILED
|
|
12167 776777 777777 AEE=XX ;INITIAL C(E)
|
|
12168 040334 312 00 0 00 044077 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
12169 040335 005 00 0 00 035363 ER5 E,35363 ;C(E) WAS CLOBBERED
|
|
12170 040336 321 04 0 00 040324 JUMPL AC+2,F35360 ;LOOP ON ERROR SWITCH^
|
|
12171
|
|
12172 003537 ADR=ADR+1
|
|
12173 775777 777777 XX=XX+XX+1
|
|
12174 IFE <XX-1>,<XX=-2>
|
|
12175
|
|
12176 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
12177 777777 777777 IFL XX,<V1=-1>
|
|
12178 IFG XX,<V1=0>
|
|
12179 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
12180 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
12181 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12182 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
12183 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12184
|
|
12185 000001 F35370: AA1=1 ;INITIAL C(AC)
|
|
12186 040337 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
12187 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12188 040340 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12189 775777 777777 AEE=XX ;INITIAL C(E)
|
|
12190 040341 200 00 0 00 044100 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
12191 040342 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12192 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12193 040343 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12194 040344 003 02 0 00 035371 ER3 AC,35371 ;HIGH PRODUCT FAILED
|
|
12195 775777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12196 040345 312 03 0 00 044100 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12197 040346 004 03 0 00 035372 ER4 AC+1,35372 ;LOW PRODUCT FAILED
|
|
12198 775777 777777 AEE=XX ;INITIAL C(E)
|
|
12199 040347 312 00 0 00 044100 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
12200 040350 005 00 0 00 035373 ER5 E,35373 ;C(E) WAS CLOBBERED
|
|
12201 040351 321 04 0 00 040337 JUMPL AC+2,F35370 ;LOOP ON ERROR SWITCH^
|
|
12202
|
|
12203 003540 ADR=ADR+1
|
|
12204 773777 777777 XX=XX+XX+1
|
|
12205 IFE <XX-1>,<XX=-2>
|
|
12206
|
|
12207 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
12208 777777 777777 IFL XX,<V1=-1>
|
|
12209 IFG XX,<V1=0>
|
|
12210 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
12211 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
12212 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12213 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
12214 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12215
|
|
12216 000001 F35400: AA1=1 ;INITIAL C(AC)
|
|
12217 040352 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
12218 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12219 040353 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-17
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0245
|
|
|
|
12220 773777 777777 AEE=XX ;INITIAL C(E)
|
|
12221 040354 200 00 0 00 044101 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
12222 040355 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12223 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12224 040356 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12225 040357 003 02 0 00 035401 ER3 AC,35401 ;HIGH PRODUCT FAILED
|
|
12226 773777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12227 040360 312 03 0 00 044101 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12228 040361 004 03 0 00 035402 ER4 AC+1,35402 ;LOW PRODUCT FAILED
|
|
12229 773777 777777 AEE=XX ;INITIAL C(E)
|
|
12230 040362 312 00 0 00 044101 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
12231 040363 005 00 0 00 035403 ER5 E,35403 ;C(E) WAS CLOBBERED
|
|
12232 040364 321 04 0 00 040352 JUMPL AC+2,F35400 ;LOOP ON ERROR SWITCH^
|
|
12233
|
|
12234 003541 ADR=ADR+1
|
|
12235 767777 777777 XX=XX+XX+1
|
|
12236 IFE <XX-1>,<XX=-2>
|
|
12237
|
|
12238 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
12239 777777 777777 IFL XX,<V1=-1>
|
|
12240 IFG XX,<V1=0>
|
|
12241 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
12242 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
12243 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12244 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
12245 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12246
|
|
12247 000001 F35410: AA1=1 ;INITIAL C(AC)
|
|
12248 040365 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
12249 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12250 040366 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12251 767777 777777 AEE=XX ;INITIAL C(E)
|
|
12252 040367 200 00 0 00 044102 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
12253 040370 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12254 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12255 040371 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12256 040372 003 02 0 00 035411 ER3 AC,35411 ;HIGH PRODUCT FAILED
|
|
12257 767777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12258 040373 312 03 0 00 044102 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12259 040374 004 03 0 00 035412 ER4 AC+1,35412 ;LOW PRODUCT FAILED
|
|
12260 767777 777777 AEE=XX ;INITIAL C(E)
|
|
12261 040375 312 00 0 00 044102 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
12262 040376 005 00 0 00 035413 ER5 E,35413 ;C(E) WAS CLOBBERED
|
|
12263 040377 321 04 0 00 040365 JUMPL AC+2,F35410 ;LOOP ON ERROR SWITCH^
|
|
12264
|
|
12265 003542 ADR=ADR+1
|
|
12266 757777 777777 XX=XX+XX+1
|
|
12267 IFE <XX-1>,<XX=-2>
|
|
12268
|
|
12269 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
12270 777777 777777 IFL XX,<V1=-1>
|
|
12271 IFG XX,<V1=0>
|
|
12272 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
12273 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
12274 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-18
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0246
|
|
|
|
12275 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
12276 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12277
|
|
12278 000001 F35420: AA1=1 ;INITIAL C(AC)
|
|
12279 040400 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
12280 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12281 040401 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12282 757777 777777 AEE=XX ;INITIAL C(E)
|
|
12283 040402 200 00 0 00 044103 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
12284 040403 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12285 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12286 040404 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12287 040405 003 02 0 00 035421 ER3 AC,35421 ;HIGH PRODUCT FAILED
|
|
12288 757777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12289 040406 312 03 0 00 044103 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12290 040407 004 03 0 00 035422 ER4 AC+1,35422 ;LOW PRODUCT FAILED
|
|
12291 757777 777777 AEE=XX ;INITIAL C(E)
|
|
12292 040410 312 00 0 00 044103 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
12293 040411 005 00 0 00 035423 ER5 E,35423 ;C(E) WAS CLOBBERED
|
|
12294 040412 321 04 0 00 040400 JUMPL AC+2,F35420 ;LOOP ON ERROR SWITCH^
|
|
12295
|
|
12296 003543 ADR=ADR+1
|
|
12297 737777 777777 XX=XX+XX+1
|
|
12298 IFE <XX-1>,<XX=-2>
|
|
12299
|
|
12300 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
12301 777777 777777 IFL XX,<V1=-1>
|
|
12302 IFG XX,<V1=0>
|
|
12303 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
12304 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
12305 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12306 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
12307 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12308
|
|
12309 000001 F35430: AA1=1 ;INITIAL C(AC)
|
|
12310 040413 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
12311 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12312 040414 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12313 737777 777777 AEE=XX ;INITIAL C(E)
|
|
12314 040415 200 00 0 00 044104 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
12315 040416 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12316 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12317 040417 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12318 040420 003 02 0 00 035431 ER3 AC,35431 ;HIGH PRODUCT FAILED
|
|
12319 737777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12320 040421 312 03 0 00 044104 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12321 040422 004 03 0 00 035432 ER4 AC+1,35432 ;LOW PRODUCT FAILED
|
|
12322 737777 777777 AEE=XX ;INITIAL C(E)
|
|
12323 040423 312 00 0 00 044104 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
12324 040424 005 00 0 00 035433 ER5 E,35433 ;C(E) WAS CLOBBERED
|
|
12325 040425 321 04 0 00 040413 JUMPL AC+2,F35430 ;LOOP ON ERROR SWITCH^
|
|
12326
|
|
12327 003544 ADR=ADR+1
|
|
12328 677777 777777 XX=XX+XX+1
|
|
12329 IFE <XX-1>,<XX=-2>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-19
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0247
|
|
|
|
12330
|
|
12331 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
12332 777777 777777 IFL XX,<V1=-1>
|
|
12333 IFG XX,<V1=0>
|
|
12334 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
12335 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
12336 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12337 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
12338 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12339
|
|
12340 000001 F35440: AA1=1 ;INITIAL C(AC)
|
|
12341 040426 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
12342 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12343 040427 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12344 677777 777777 AEE=XX ;INITIAL C(E)
|
|
12345 040430 200 00 0 00 044105 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
12346 040431 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12347 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12348 040432 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12349 040433 003 02 0 00 035441 ER3 AC,35441 ;HIGH PRODUCT FAILED
|
|
12350 677777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12351 040434 312 03 0 00 044105 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12352 040435 004 03 0 00 035442 ER4 AC+1,35442 ;LOW PRODUCT FAILED
|
|
12353 677777 777777 AEE=XX ;INITIAL C(E)
|
|
12354 040436 312 00 0 00 044105 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
12355 040437 005 00 0 00 035443 ER5 E,35443 ;C(E) WAS CLOBBERED
|
|
12356 040440 321 04 0 00 040426 JUMPL AC+2,F35440 ;LOOP ON ERROR SWITCH^
|
|
12357
|
|
12358 003545 ADR=ADR+1
|
|
12359 577777 777777 XX=XX+XX+1
|
|
12360 IFE <XX-1>,<XX=-2>
|
|
12361
|
|
12362 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
12363 777777 777777 IFL XX,<V1=-1>
|
|
12364 IFG XX,<V1=0>
|
|
12365 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
12366 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
12367 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12368 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
12369 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12370
|
|
12371 000001 F35450: AA1=1 ;INITIAL C(AC)
|
|
12372 040441 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
12373 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12374 040442 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12375 577777 777777 AEE=XX ;INITIAL C(E)
|
|
12376 040443 200 00 0 00 044106 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
12377 040444 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12378 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12379 040445 312 02 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12380 040446 003 02 0 00 035451 ER3 AC,35451 ;HIGH PRODUCT FAILED
|
|
12381 577777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12382 040447 312 03 0 00 044106 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12383 040450 004 03 0 00 035452 ER4 AC+1,35452 ;LOW PRODUCT FAILED
|
|
12384 577777 777777 AEE=XX ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 16-20
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0248
|
|
|
|
12385 040451 312 00 0 00 044106 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
12386 040452 005 00 0 00 035453 ER5 E,35453 ;C(E) WAS CLOBBERED
|
|
12387 040453 321 04 0 00 040441 JUMPL AC+2,F35450 ;LOOP ON ERROR SWITCH^
|
|
12388
|
|
12389 003546 ADR=ADR+1
|
|
12390 377777 777777 XX=XX+XX+1
|
|
12391 IFE <XX-1>,<XX=-2>
|
|
12392
|
|
12393 ;MULTIPLY RIPPLED 0 BY 1 TO GET PRODUCT OF RIPPLED 0
|
|
12394 IFL XX,<V1=-1>
|
|
12395 000000 IFG XX,<V1=0>
|
|
12396 MOP1 (\ADR,1,0,XX,V1,XX)^
|
|
12397 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [1],[0] AND
|
|
12398 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12399 ;AND E AGAINST [V1], [XX] AND [XX] RESPECTIVELY.
|
|
12400 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12401
|
|
12402 000001 F35460: AA1=1 ;INITIAL C(AC)
|
|
12403 040454 200 02 0 00 044000 MOVE AC,[1] ;PRELOAD AC (MULTIPLIER)
|
|
12404 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12405 040455 200 03 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12406 377777 777777 AEE=XX ;INITIAL C(E)
|
|
12407 040456 200 00 0 00 044107 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
12408 040457 224 02 0 00 000000 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12409 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12410 040460 312 02 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12411 040461 003 02 0 00 035461 ER3 AC,35461 ;HIGH PRODUCT FAILED
|
|
12412 377777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12413 040462 312 03 0 00 044107 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12414 040463 004 03 0 00 035462 ER4 AC+1,35462 ;LOW PRODUCT FAILED
|
|
12415 377777 777777 AEE=XX ;INITIAL C(E)
|
|
12416 040464 312 00 0 00 044107 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
12417 040465 005 00 0 00 035463 ER5 E,35463 ;C(E) WAS CLOBBERED
|
|
12418 040466 321 04 0 00 040454 JUMPL AC+2,F35460 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0249
|
|
|
|
12419 000010 AC=10
|
|
12420 000006 E=<AC-2>&17
|
|
12421 SAVEAC (1,1)^
|
|
12422 040467 201 12 0 00 040467 MOVEI AC+2,. ;SAVE TEST PC
|
|
12423 040470 202 12 0 00 030051 MOVEM AC+2,TESTPC
|
|
12424 040471 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12425 040472 202 12 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
12426 000000 XX=0
|
|
12427
|
|
12428 REPEAT ^D36,<
|
|
12429 ADR=ADR+1
|
|
12430 XX=XX+XX+1
|
|
12431 IFE <XX-1>,<XX=-2>
|
|
12432
|
|
12433 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12434 IFL XX,<V1=-1>
|
|
12435 IFG XX,<V1=0>
|
|
12436 MOP1 (\ADR,XX,0,1,V1,XX)>
|
|
12437
|
|
12438 003547 ADR=ADR+1
|
|
12439 000001 XX=XX+XX+1
|
|
12440 777777 777776 IFE <XX-1>,<XX=-2>
|
|
12441
|
|
12442 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12443 777777 777777 IFL XX,<V1=-1>
|
|
12444 IFG XX,<V1=0>
|
|
12445 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
12446 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12447 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12448 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
12449 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12450
|
|
12451 777777 777776 F35470: AA1=XX ;INITIAL C(AC)
|
|
12452 040473 200 10 0 00 044044 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
12453 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12454 040474 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12455 000001 AEE=1 ;INITIAL C(E)
|
|
12456 040475 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12457 040476 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12458 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12459 040477 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12460 040500 003 10 0 00 035471 ER3 AC,35471 ;HIGH PRODUCT FAILED
|
|
12461 777777 777776 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12462 040501 312 11 0 00 044044 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12463 040502 004 11 0 00 035472 ER4 AC+1,35472 ;LOW PRODUCT FAILED
|
|
12464 000001 AEE=1 ;INITIAL C(E)
|
|
12465 040503 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12466 040504 005 06 0 00 035473 ER5 E,35473 ;C(E) WAS CLOBBERED
|
|
12467 040505 321 12 0 00 040473 JUMPL AC+2,F35470 ;LOOP ON ERROR SWITCH^
|
|
12468
|
|
12469 003550 ADR=ADR+1
|
|
12470 777777 777775 XX=XX+XX+1
|
|
12471 IFE <XX-1>,<XX=-2>
|
|
12472
|
|
12473 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-1
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0250
|
|
|
|
12474 777777 777777 IFL XX,<V1=-1>
|
|
12475 IFG XX,<V1=0>
|
|
12476 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
12477 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12478 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12479 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
12480 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12481
|
|
12482 777777 777775 F35500: AA1=XX ;INITIAL C(AC)
|
|
12483 040506 200 10 0 00 044045 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
12484 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12485 040507 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12486 000001 AEE=1 ;INITIAL C(E)
|
|
12487 040510 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12488 040511 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12489 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12490 040512 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12491 040513 003 10 0 00 035501 ER3 AC,35501 ;HIGH PRODUCT FAILED
|
|
12492 777777 777775 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12493 040514 312 11 0 00 044045 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12494 040515 004 11 0 00 035502 ER4 AC+1,35502 ;LOW PRODUCT FAILED
|
|
12495 000001 AEE=1 ;INITIAL C(E)
|
|
12496 040516 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12497 040517 005 06 0 00 035503 ER5 E,35503 ;C(E) WAS CLOBBERED
|
|
12498 040520 321 12 0 00 040506 JUMPL AC+2,F35500 ;LOOP ON ERROR SWITCH^
|
|
12499
|
|
12500 003551 ADR=ADR+1
|
|
12501 777777 777773 XX=XX+XX+1
|
|
12502 IFE <XX-1>,<XX=-2>
|
|
12503
|
|
12504 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12505 777777 777777 IFL XX,<V1=-1>
|
|
12506 IFG XX,<V1=0>
|
|
12507 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
12508 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12509 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12510 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
12511 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12512
|
|
12513 777777 777773 F35510: AA1=XX ;INITIAL C(AC)
|
|
12514 040521 200 10 0 00 044046 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
12515 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12516 040522 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12517 000001 AEE=1 ;INITIAL C(E)
|
|
12518 040523 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12519 040524 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12520 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12521 040525 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12522 040526 003 10 0 00 035511 ER3 AC,35511 ;HIGH PRODUCT FAILED
|
|
12523 777777 777773 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12524 040527 312 11 0 00 044046 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12525 040530 004 11 0 00 035512 ER4 AC+1,35512 ;LOW PRODUCT FAILED
|
|
12526 000001 AEE=1 ;INITIAL C(E)
|
|
12527 040531 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12528 040532 005 06 0 00 035513 ER5 E,35513 ;C(E) WAS CLOBBERED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-2
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0251
|
|
|
|
12529 040533 321 12 0 00 040521 JUMPL AC+2,F35510 ;LOOP ON ERROR SWITCH^
|
|
12530
|
|
12531 003552 ADR=ADR+1
|
|
12532 777777 777767 XX=XX+XX+1
|
|
12533 IFE <XX-1>,<XX=-2>
|
|
12534
|
|
12535 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12536 777777 777777 IFL XX,<V1=-1>
|
|
12537 IFG XX,<V1=0>
|
|
12538 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
12539 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12540 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12541 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
12542 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12543
|
|
12544 777777 777767 F35520: AA1=XX ;INITIAL C(AC)
|
|
12545 040534 200 10 0 00 044047 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
12546 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12547 040535 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12548 000001 AEE=1 ;INITIAL C(E)
|
|
12549 040536 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12550 040537 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12551 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12552 040540 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12553 040541 003 10 0 00 035521 ER3 AC,35521 ;HIGH PRODUCT FAILED
|
|
12554 777777 777767 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12555 040542 312 11 0 00 044047 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12556 040543 004 11 0 00 035522 ER4 AC+1,35522 ;LOW PRODUCT FAILED
|
|
12557 000001 AEE=1 ;INITIAL C(E)
|
|
12558 040544 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12559 040545 005 06 0 00 035523 ER5 E,35523 ;C(E) WAS CLOBBERED
|
|
12560 040546 321 12 0 00 040534 JUMPL AC+2,F35520 ;LOOP ON ERROR SWITCH^
|
|
12561
|
|
12562 003553 ADR=ADR+1
|
|
12563 777777 777757 XX=XX+XX+1
|
|
12564 IFE <XX-1>,<XX=-2>
|
|
12565
|
|
12566 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12567 777777 777777 IFL XX,<V1=-1>
|
|
12568 IFG XX,<V1=0>
|
|
12569 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
12570 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12571 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12572 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
12573 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12574
|
|
12575 777777 777757 F35530: AA1=XX ;INITIAL C(AC)
|
|
12576 040547 200 10 0 00 044050 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
12577 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12578 040550 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12579 000001 AEE=1 ;INITIAL C(E)
|
|
12580 040551 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12581 040552 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12582 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12583 040553 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-3
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0252
|
|
|
|
12584 040554 003 10 0 00 035531 ER3 AC,35531 ;HIGH PRODUCT FAILED
|
|
12585 777777 777757 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12586 040555 312 11 0 00 044050 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12587 040556 004 11 0 00 035532 ER4 AC+1,35532 ;LOW PRODUCT FAILED
|
|
12588 000001 AEE=1 ;INITIAL C(E)
|
|
12589 040557 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12590 040560 005 06 0 00 035533 ER5 E,35533 ;C(E) WAS CLOBBERED
|
|
12591 040561 321 12 0 00 040547 JUMPL AC+2,F35530 ;LOOP ON ERROR SWITCH^
|
|
12592
|
|
12593 003554 ADR=ADR+1
|
|
12594 777777 777737 XX=XX+XX+1
|
|
12595 IFE <XX-1>,<XX=-2>
|
|
12596
|
|
12597 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12598 777777 777777 IFL XX,<V1=-1>
|
|
12599 IFG XX,<V1=0>
|
|
12600 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
12601 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12602 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12603 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
12604 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12605
|
|
12606 777777 777737 F35540: AA1=XX ;INITIAL C(AC)
|
|
12607 040562 200 10 0 00 044051 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
12608 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12609 040563 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12610 000001 AEE=1 ;INITIAL C(E)
|
|
12611 040564 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12612 040565 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12613 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12614 040566 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12615 040567 003 10 0 00 035541 ER3 AC,35541 ;HIGH PRODUCT FAILED
|
|
12616 777777 777737 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12617 040570 312 11 0 00 044051 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12618 040571 004 11 0 00 035542 ER4 AC+1,35542 ;LOW PRODUCT FAILED
|
|
12619 000001 AEE=1 ;INITIAL C(E)
|
|
12620 040572 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12621 040573 005 06 0 00 035543 ER5 E,35543 ;C(E) WAS CLOBBERED
|
|
12622 040574 321 12 0 00 040562 JUMPL AC+2,F35540 ;LOOP ON ERROR SWITCH^
|
|
12623
|
|
12624 003555 ADR=ADR+1
|
|
12625 777777 777677 XX=XX+XX+1
|
|
12626 IFE <XX-1>,<XX=-2>
|
|
12627
|
|
12628 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12629 777777 777777 IFL XX,<V1=-1>
|
|
12630 IFG XX,<V1=0>
|
|
12631 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
12632 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12633 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12634 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
12635 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12636
|
|
12637 777777 777677 F35550: AA1=XX ;INITIAL C(AC)
|
|
12638 040575 200 10 0 00 044052 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-4
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0253
|
|
|
|
12639 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12640 040576 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12641 000001 AEE=1 ;INITIAL C(E)
|
|
12642 040577 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12643 040600 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12644 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12645 040601 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12646 040602 003 10 0 00 035551 ER3 AC,35551 ;HIGH PRODUCT FAILED
|
|
12647 777777 777677 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12648 040603 312 11 0 00 044052 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12649 040604 004 11 0 00 035552 ER4 AC+1,35552 ;LOW PRODUCT FAILED
|
|
12650 000001 AEE=1 ;INITIAL C(E)
|
|
12651 040605 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12652 040606 005 06 0 00 035553 ER5 E,35553 ;C(E) WAS CLOBBERED
|
|
12653 040607 321 12 0 00 040575 JUMPL AC+2,F35550 ;LOOP ON ERROR SWITCH^
|
|
12654
|
|
12655 003556 ADR=ADR+1
|
|
12656 777777 777577 XX=XX+XX+1
|
|
12657 IFE <XX-1>,<XX=-2>
|
|
12658
|
|
12659 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12660 777777 777777 IFL XX,<V1=-1>
|
|
12661 IFG XX,<V1=0>
|
|
12662 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
12663 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12664 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12665 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
12666 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12667
|
|
12668 777777 777577 F35560: AA1=XX ;INITIAL C(AC)
|
|
12669 040610 200 10 0 00 044053 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
12670 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12671 040611 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12672 000001 AEE=1 ;INITIAL C(E)
|
|
12673 040612 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12674 040613 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12675 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12676 040614 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12677 040615 003 10 0 00 035561 ER3 AC,35561 ;HIGH PRODUCT FAILED
|
|
12678 777777 777577 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12679 040616 312 11 0 00 044053 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12680 040617 004 11 0 00 035562 ER4 AC+1,35562 ;LOW PRODUCT FAILED
|
|
12681 000001 AEE=1 ;INITIAL C(E)
|
|
12682 040620 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12683 040621 005 06 0 00 035563 ER5 E,35563 ;C(E) WAS CLOBBERED
|
|
12684 040622 321 12 0 00 040610 JUMPL AC+2,F35560 ;LOOP ON ERROR SWITCH^
|
|
12685
|
|
12686 003557 ADR=ADR+1
|
|
12687 777777 777377 XX=XX+XX+1
|
|
12688 IFE <XX-1>,<XX=-2>
|
|
12689
|
|
12690 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12691 777777 777777 IFL XX,<V1=-1>
|
|
12692 IFG XX,<V1=0>
|
|
12693 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-5
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0254
|
|
|
|
12694 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12695 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12696 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
12697 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12698
|
|
12699 777777 777377 F35570: AA1=XX ;INITIAL C(AC)
|
|
12700 040623 200 10 0 00 044054 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
12701 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12702 040624 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12703 000001 AEE=1 ;INITIAL C(E)
|
|
12704 040625 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12705 040626 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12706 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12707 040627 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12708 040630 003 10 0 00 035571 ER3 AC,35571 ;HIGH PRODUCT FAILED
|
|
12709 777777 777377 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12710 040631 312 11 0 00 044054 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12711 040632 004 11 0 00 035572 ER4 AC+1,35572 ;LOW PRODUCT FAILED
|
|
12712 000001 AEE=1 ;INITIAL C(E)
|
|
12713 040633 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12714 040634 005 06 0 00 035573 ER5 E,35573 ;C(E) WAS CLOBBERED
|
|
12715 040635 321 12 0 00 040623 JUMPL AC+2,F35570 ;LOOP ON ERROR SWITCH^
|
|
12716
|
|
12717 003560 ADR=ADR+1
|
|
12718 777777 776777 XX=XX+XX+1
|
|
12719 IFE <XX-1>,<XX=-2>
|
|
12720
|
|
12721 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12722 777777 777777 IFL XX,<V1=-1>
|
|
12723 IFG XX,<V1=0>
|
|
12724 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
12725 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12726 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12727 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
12728 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12729
|
|
12730 777777 776777 F35600: AA1=XX ;INITIAL C(AC)
|
|
12731 040636 200 10 0 00 044055 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
12732 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12733 040637 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12734 000001 AEE=1 ;INITIAL C(E)
|
|
12735 040640 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12736 040641 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12737 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12738 040642 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12739 040643 003 10 0 00 035601 ER3 AC,35601 ;HIGH PRODUCT FAILED
|
|
12740 777777 776777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12741 040644 312 11 0 00 044055 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12742 040645 004 11 0 00 035602 ER4 AC+1,35602 ;LOW PRODUCT FAILED
|
|
12743 000001 AEE=1 ;INITIAL C(E)
|
|
12744 040646 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12745 040647 005 06 0 00 035603 ER5 E,35603 ;C(E) WAS CLOBBERED
|
|
12746 040650 321 12 0 00 040636 JUMPL AC+2,F35600 ;LOOP ON ERROR SWITCH^
|
|
12747
|
|
12748 003561 ADR=ADR+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-6
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0255
|
|
|
|
12749 777777 775777 XX=XX+XX+1
|
|
12750 IFE <XX-1>,<XX=-2>
|
|
12751
|
|
12752 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12753 777777 777777 IFL XX,<V1=-1>
|
|
12754 IFG XX,<V1=0>
|
|
12755 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
12756 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12757 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12758 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
12759 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12760
|
|
12761 777777 775777 F35610: AA1=XX ;INITIAL C(AC)
|
|
12762 040651 200 10 0 00 044056 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
12763 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12764 040652 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12765 000001 AEE=1 ;INITIAL C(E)
|
|
12766 040653 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12767 040654 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12768 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12769 040655 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12770 040656 003 10 0 00 035611 ER3 AC,35611 ;HIGH PRODUCT FAILED
|
|
12771 777777 775777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12772 040657 312 11 0 00 044056 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12773 040660 004 11 0 00 035612 ER4 AC+1,35612 ;LOW PRODUCT FAILED
|
|
12774 000001 AEE=1 ;INITIAL C(E)
|
|
12775 040661 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12776 040662 005 06 0 00 035613 ER5 E,35613 ;C(E) WAS CLOBBERED
|
|
12777 040663 321 12 0 00 040651 JUMPL AC+2,F35610 ;LOOP ON ERROR SWITCH^
|
|
12778
|
|
12779 003562 ADR=ADR+1
|
|
12780 777777 773777 XX=XX+XX+1
|
|
12781 IFE <XX-1>,<XX=-2>
|
|
12782
|
|
12783 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12784 777777 777777 IFL XX,<V1=-1>
|
|
12785 IFG XX,<V1=0>
|
|
12786 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
12787 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12788 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12789 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
12790 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12791
|
|
12792 777777 773777 F35620: AA1=XX ;INITIAL C(AC)
|
|
12793 040664 200 10 0 00 044057 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
12794 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12795 040665 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12796 000001 AEE=1 ;INITIAL C(E)
|
|
12797 040666 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12798 040667 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12799 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12800 040670 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12801 040671 003 10 0 00 035621 ER3 AC,35621 ;HIGH PRODUCT FAILED
|
|
12802 777777 773777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12803 040672 312 11 0 00 044057 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-7
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0256
|
|
|
|
12804 040673 004 11 0 00 035622 ER4 AC+1,35622 ;LOW PRODUCT FAILED
|
|
12805 000001 AEE=1 ;INITIAL C(E)
|
|
12806 040674 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12807 040675 005 06 0 00 035623 ER5 E,35623 ;C(E) WAS CLOBBERED
|
|
12808 040676 321 12 0 00 040664 JUMPL AC+2,F35620 ;LOOP ON ERROR SWITCH^
|
|
12809
|
|
12810 003563 ADR=ADR+1
|
|
12811 777777 767777 XX=XX+XX+1
|
|
12812 IFE <XX-1>,<XX=-2>
|
|
12813
|
|
12814 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12815 777777 777777 IFL XX,<V1=-1>
|
|
12816 IFG XX,<V1=0>
|
|
12817 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
12818 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12819 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12820 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
12821 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12822
|
|
12823 777777 767777 F35630: AA1=XX ;INITIAL C(AC)
|
|
12824 040677 200 10 0 00 044060 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
12825 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12826 040700 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12827 000001 AEE=1 ;INITIAL C(E)
|
|
12828 040701 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12829 040702 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12830 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12831 040703 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12832 040704 003 10 0 00 035631 ER3 AC,35631 ;HIGH PRODUCT FAILED
|
|
12833 777777 767777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12834 040705 312 11 0 00 044060 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12835 040706 004 11 0 00 035632 ER4 AC+1,35632 ;LOW PRODUCT FAILED
|
|
12836 000001 AEE=1 ;INITIAL C(E)
|
|
12837 040707 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12838 040710 005 06 0 00 035633 ER5 E,35633 ;C(E) WAS CLOBBERED
|
|
12839 040711 321 12 0 00 040677 JUMPL AC+2,F35630 ;LOOP ON ERROR SWITCH^
|
|
12840
|
|
12841 003564 ADR=ADR+1
|
|
12842 777777 757777 XX=XX+XX+1
|
|
12843 IFE <XX-1>,<XX=-2>
|
|
12844
|
|
12845 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12846 777777 777777 IFL XX,<V1=-1>
|
|
12847 IFG XX,<V1=0>
|
|
12848 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
12849 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12850 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12851 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
12852 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12853
|
|
12854 777777 757777 F35640: AA1=XX ;INITIAL C(AC)
|
|
12855 040712 200 10 0 00 044061 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
12856 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12857 040713 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12858 000001 AEE=1 ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-8
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0257
|
|
|
|
12859 040714 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12860 040715 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12861 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12862 040716 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12863 040717 003 10 0 00 035641 ER3 AC,35641 ;HIGH PRODUCT FAILED
|
|
12864 777777 757777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12865 040720 312 11 0 00 044061 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12866 040721 004 11 0 00 035642 ER4 AC+1,35642 ;LOW PRODUCT FAILED
|
|
12867 000001 AEE=1 ;INITIAL C(E)
|
|
12868 040722 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12869 040723 005 06 0 00 035643 ER5 E,35643 ;C(E) WAS CLOBBERED
|
|
12870 040724 321 12 0 00 040712 JUMPL AC+2,F35640 ;LOOP ON ERROR SWITCH^
|
|
12871
|
|
12872 003565 ADR=ADR+1
|
|
12873 777777 737777 XX=XX+XX+1
|
|
12874 IFE <XX-1>,<XX=-2>
|
|
12875
|
|
12876 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12877 777777 777777 IFL XX,<V1=-1>
|
|
12878 IFG XX,<V1=0>
|
|
12879 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
12880 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12881 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12882 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
12883 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12884
|
|
12885 777777 737777 F35650: AA1=XX ;INITIAL C(AC)
|
|
12886 040725 200 10 0 00 044062 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
12887 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12888 040726 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12889 000001 AEE=1 ;INITIAL C(E)
|
|
12890 040727 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12891 040730 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12892 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12893 040731 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12894 040732 003 10 0 00 035651 ER3 AC,35651 ;HIGH PRODUCT FAILED
|
|
12895 777777 737777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12896 040733 312 11 0 00 044062 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12897 040734 004 11 0 00 035652 ER4 AC+1,35652 ;LOW PRODUCT FAILED
|
|
12898 000001 AEE=1 ;INITIAL C(E)
|
|
12899 040735 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12900 040736 005 06 0 00 035653 ER5 E,35653 ;C(E) WAS CLOBBERED
|
|
12901 040737 321 12 0 00 040725 JUMPL AC+2,F35650 ;LOOP ON ERROR SWITCH^
|
|
12902
|
|
12903 003566 ADR=ADR+1
|
|
12904 777777 677777 XX=XX+XX+1
|
|
12905 IFE <XX-1>,<XX=-2>
|
|
12906
|
|
12907 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12908 777777 777777 IFL XX,<V1=-1>
|
|
12909 IFG XX,<V1=0>
|
|
12910 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
12911 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12912 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12913 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-9
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0258
|
|
|
|
12914 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12915
|
|
12916 777777 677777 F35660: AA1=XX ;INITIAL C(AC)
|
|
12917 040740 200 10 0 00 044063 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
12918 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12919 040741 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12920 000001 AEE=1 ;INITIAL C(E)
|
|
12921 040742 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12922 040743 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12923 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12924 040744 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12925 040745 003 10 0 00 035661 ER3 AC,35661 ;HIGH PRODUCT FAILED
|
|
12926 777777 677777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12927 040746 312 11 0 00 044063 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12928 040747 004 11 0 00 035662 ER4 AC+1,35662 ;LOW PRODUCT FAILED
|
|
12929 000001 AEE=1 ;INITIAL C(E)
|
|
12930 040750 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12931 040751 005 06 0 00 035663 ER5 E,35663 ;C(E) WAS CLOBBERED
|
|
12932 040752 321 12 0 00 040740 JUMPL AC+2,F35660 ;LOOP ON ERROR SWITCH^
|
|
12933
|
|
12934 003567 ADR=ADR+1
|
|
12935 777777 577777 XX=XX+XX+1
|
|
12936 IFE <XX-1>,<XX=-2>
|
|
12937
|
|
12938 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12939 777777 777777 IFL XX,<V1=-1>
|
|
12940 IFG XX,<V1=0>
|
|
12941 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
12942 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12943 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12944 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
12945 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12946
|
|
12947 777777 577777 F35670: AA1=XX ;INITIAL C(AC)
|
|
12948 040753 200 10 0 00 044064 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
12949 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12950 040754 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12951 000001 AEE=1 ;INITIAL C(E)
|
|
12952 040755 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12953 040756 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12954 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12955 040757 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12956 040760 003 10 0 00 035671 ER3 AC,35671 ;HIGH PRODUCT FAILED
|
|
12957 777777 577777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12958 040761 312 11 0 00 044064 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12959 040762 004 11 0 00 035672 ER4 AC+1,35672 ;LOW PRODUCT FAILED
|
|
12960 000001 AEE=1 ;INITIAL C(E)
|
|
12961 040763 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12962 040764 005 06 0 00 035673 ER5 E,35673 ;C(E) WAS CLOBBERED
|
|
12963 040765 321 12 0 00 040753 JUMPL AC+2,F35670 ;LOOP ON ERROR SWITCH^
|
|
12964
|
|
12965 003570 ADR=ADR+1
|
|
12966 777777 377777 XX=XX+XX+1
|
|
12967 IFE <XX-1>,<XX=-2>
|
|
12968
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-10
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0259
|
|
|
|
12969 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
12970 777777 777777 IFL XX,<V1=-1>
|
|
12971 IFG XX,<V1=0>
|
|
12972 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
12973 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
12974 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
12975 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
12976 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
12977
|
|
12978 777777 377777 F35700: AA1=XX ;INITIAL C(AC)
|
|
12979 040766 200 10 0 00 044065 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
12980 000000 AA2=0 ;INITIAL C(AC+1)
|
|
12981 040767 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
12982 000001 AEE=1 ;INITIAL C(E)
|
|
12983 040770 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
12984 040771 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
12985 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
12986 040772 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
12987 040773 003 10 0 00 035701 ER3 AC,35701 ;HIGH PRODUCT FAILED
|
|
12988 777777 377777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
12989 040774 312 11 0 00 044065 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
12990 040775 004 11 0 00 035702 ER4 AC+1,35702 ;LOW PRODUCT FAILED
|
|
12991 000001 AEE=1 ;INITIAL C(E)
|
|
12992 040776 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
12993 040777 005 06 0 00 035703 ER5 E,35703 ;C(E) WAS CLOBBERED
|
|
12994 041000 321 12 0 00 040766 JUMPL AC+2,F35700 ;LOOP ON ERROR SWITCH^
|
|
12995
|
|
12996 003571 ADR=ADR+1
|
|
12997 777776 777777 XX=XX+XX+1
|
|
12998 IFE <XX-1>,<XX=-2>
|
|
12999
|
|
13000 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13001 777777 777777 IFL XX,<V1=-1>
|
|
13002 IFG XX,<V1=0>
|
|
13003 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13004 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13005 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13006 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13007 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13008
|
|
13009 777776 777777 F35710: AA1=XX ;INITIAL C(AC)
|
|
13010 041001 200 10 0 00 044066 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13011 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13012 041002 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
13013 000001 AEE=1 ;INITIAL C(E)
|
|
13014 041003 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13015 041004 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13016 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13017 041005 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13018 041006 003 10 0 00 035711 ER3 AC,35711 ;HIGH PRODUCT FAILED
|
|
13019 777776 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
13020 041007 312 11 0 00 044066 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13021 041010 004 11 0 00 035712 ER4 AC+1,35712 ;LOW PRODUCT FAILED
|
|
13022 000001 AEE=1 ;INITIAL C(E)
|
|
13023 041011 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-11
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0260
|
|
|
|
13024 041012 005 06 0 00 035713 ER5 E,35713 ;C(E) WAS CLOBBERED
|
|
13025 041013 321 12 0 00 041001 JUMPL AC+2,F35710 ;LOOP ON ERROR SWITCH^
|
|
13026
|
|
13027 003572 ADR=ADR+1
|
|
13028 777775 777777 XX=XX+XX+1
|
|
13029 IFE <XX-1>,<XX=-2>
|
|
13030
|
|
13031 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13032 777777 777777 IFL XX,<V1=-1>
|
|
13033 IFG XX,<V1=0>
|
|
13034 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13035 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13036 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13037 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13038 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13039
|
|
13040 777775 777777 F35720: AA1=XX ;INITIAL C(AC)
|
|
13041 041014 200 10 0 00 044067 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13042 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13043 041015 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
13044 000001 AEE=1 ;INITIAL C(E)
|
|
13045 041016 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13046 041017 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13047 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13048 041020 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13049 041021 003 10 0 00 035721 ER3 AC,35721 ;HIGH PRODUCT FAILED
|
|
13050 777775 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
13051 041022 312 11 0 00 044067 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13052 041023 004 11 0 00 035722 ER4 AC+1,35722 ;LOW PRODUCT FAILED
|
|
13053 000001 AEE=1 ;INITIAL C(E)
|
|
13054 041024 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
13055 041025 005 06 0 00 035723 ER5 E,35723 ;C(E) WAS CLOBBERED
|
|
13056 041026 321 12 0 00 041014 JUMPL AC+2,F35720 ;LOOP ON ERROR SWITCH^
|
|
13057
|
|
13058 003573 ADR=ADR+1
|
|
13059 777773 777777 XX=XX+XX+1
|
|
13060 IFE <XX-1>,<XX=-2>
|
|
13061
|
|
13062 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13063 777777 777777 IFL XX,<V1=-1>
|
|
13064 IFG XX,<V1=0>
|
|
13065 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13066 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13067 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13068 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13069 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13070
|
|
13071 777773 777777 F35730: AA1=XX ;INITIAL C(AC)
|
|
13072 041027 200 10 0 00 044070 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13073 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13074 041030 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
13075 000001 AEE=1 ;INITIAL C(E)
|
|
13076 041031 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13077 041032 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13078 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-12
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0261
|
|
|
|
13079 041033 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13080 041034 003 10 0 00 035731 ER3 AC,35731 ;HIGH PRODUCT FAILED
|
|
13081 777773 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
13082 041035 312 11 0 00 044070 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13083 041036 004 11 0 00 035732 ER4 AC+1,35732 ;LOW PRODUCT FAILED
|
|
13084 000001 AEE=1 ;INITIAL C(E)
|
|
13085 041037 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
13086 041040 005 06 0 00 035733 ER5 E,35733 ;C(E) WAS CLOBBERED
|
|
13087 041041 321 12 0 00 041027 JUMPL AC+2,F35730 ;LOOP ON ERROR SWITCH^
|
|
13088
|
|
13089 003574 ADR=ADR+1
|
|
13090 777767 777777 XX=XX+XX+1
|
|
13091 IFE <XX-1>,<XX=-2>
|
|
13092
|
|
13093 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13094 777777 777777 IFL XX,<V1=-1>
|
|
13095 IFG XX,<V1=0>
|
|
13096 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13097 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13098 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13099 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13100 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13101
|
|
13102 777767 777777 F35740: AA1=XX ;INITIAL C(AC)
|
|
13103 041042 200 10 0 00 044071 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13104 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13105 041043 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
13106 000001 AEE=1 ;INITIAL C(E)
|
|
13107 041044 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13108 041045 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13109 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13110 041046 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13111 041047 003 10 0 00 035741 ER3 AC,35741 ;HIGH PRODUCT FAILED
|
|
13112 777767 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
13113 041050 312 11 0 00 044071 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13114 041051 004 11 0 00 035742 ER4 AC+1,35742 ;LOW PRODUCT FAILED
|
|
13115 000001 AEE=1 ;INITIAL C(E)
|
|
13116 041052 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
13117 041053 005 06 0 00 035743 ER5 E,35743 ;C(E) WAS CLOBBERED
|
|
13118 041054 321 12 0 00 041042 JUMPL AC+2,F35740 ;LOOP ON ERROR SWITCH^
|
|
13119
|
|
13120 003575 ADR=ADR+1
|
|
13121 777757 777777 XX=XX+XX+1
|
|
13122 IFE <XX-1>,<XX=-2>
|
|
13123
|
|
13124 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13125 777777 777777 IFL XX,<V1=-1>
|
|
13126 IFG XX,<V1=0>
|
|
13127 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13128 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13129 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13130 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13131 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13132
|
|
13133 777757 777777 F35750: AA1=XX ;INITIAL C(AC)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-13
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0262
|
|
|
|
13134 041055 200 10 0 00 044072 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13135 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13136 041056 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
13137 000001 AEE=1 ;INITIAL C(E)
|
|
13138 041057 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13139 041060 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13140 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13141 041061 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13142 041062 003 10 0 00 035751 ER3 AC,35751 ;HIGH PRODUCT FAILED
|
|
13143 777757 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
13144 041063 312 11 0 00 044072 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13145 041064 004 11 0 00 035752 ER4 AC+1,35752 ;LOW PRODUCT FAILED
|
|
13146 000001 AEE=1 ;INITIAL C(E)
|
|
13147 041065 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
13148 041066 005 06 0 00 035753 ER5 E,35753 ;C(E) WAS CLOBBERED
|
|
13149 041067 321 12 0 00 041055 JUMPL AC+2,F35750 ;LOOP ON ERROR SWITCH^
|
|
13150
|
|
13151 003576 ADR=ADR+1
|
|
13152 777737 777777 XX=XX+XX+1
|
|
13153 IFE <XX-1>,<XX=-2>
|
|
13154
|
|
13155 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13156 777777 777777 IFL XX,<V1=-1>
|
|
13157 IFG XX,<V1=0>
|
|
13158 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13159 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13160 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13161 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13162 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13163
|
|
13164 777737 777777 F35760: AA1=XX ;INITIAL C(AC)
|
|
13165 041070 200 10 0 00 044073 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13166 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13167 041071 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
13168 000001 AEE=1 ;INITIAL C(E)
|
|
13169 041072 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13170 041073 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13171 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13172 041074 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13173 041075 003 10 0 00 035761 ER3 AC,35761 ;HIGH PRODUCT FAILED
|
|
13174 777737 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
13175 041076 312 11 0 00 044073 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13176 041077 004 11 0 00 035762 ER4 AC+1,35762 ;LOW PRODUCT FAILED
|
|
13177 000001 AEE=1 ;INITIAL C(E)
|
|
13178 041100 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
13179 041101 005 06 0 00 035763 ER5 E,35763 ;C(E) WAS CLOBBERED
|
|
13180 041102 321 12 0 00 041070 JUMPL AC+2,F35760 ;LOOP ON ERROR SWITCH^
|
|
13181
|
|
13182 003577 ADR=ADR+1
|
|
13183 777677 777777 XX=XX+XX+1
|
|
13184 IFE <XX-1>,<XX=-2>
|
|
13185
|
|
13186 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13187 777777 777777 IFL XX,<V1=-1>
|
|
13188 IFG XX,<V1=0>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-14
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0263
|
|
|
|
13189 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13190 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13191 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13192 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13193 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13194
|
|
13195 777677 777777 F35770: AA1=XX ;INITIAL C(AC)
|
|
13196 041103 200 10 0 00 044074 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13197 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13198 041104 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
13199 000001 AEE=1 ;INITIAL C(E)
|
|
13200 041105 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13201 041106 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13202 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13203 041107 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13204 041110 003 10 0 00 035771 ER3 AC,35771 ;HIGH PRODUCT FAILED
|
|
13205 777677 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
13206 041111 312 11 0 00 044074 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13207 041112 004 11 0 00 035772 ER4 AC+1,35772 ;LOW PRODUCT FAILED
|
|
13208 000001 AEE=1 ;INITIAL C(E)
|
|
13209 041113 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
13210 041114 005 06 0 00 035773 ER5 E,35773 ;C(E) WAS CLOBBERED
|
|
13211 041115 321 12 0 00 041103 JUMPL AC+2,F35770 ;LOOP ON ERROR SWITCH^
|
|
13212
|
|
13213 003600 ADR=ADR+1
|
|
13214 777577 777777 XX=XX+XX+1
|
|
13215 IFE <XX-1>,<XX=-2>
|
|
13216
|
|
13217 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13218 777777 777777 IFL XX,<V1=-1>
|
|
13219 IFG XX,<V1=0>
|
|
13220 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13221 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13222 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13223 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13224 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13225
|
|
13226 777577 777777 F36000: AA1=XX ;INITIAL C(AC)
|
|
13227 041116 200 10 0 00 044075 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13228 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13229 041117 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
13230 000001 AEE=1 ;INITIAL C(E)
|
|
13231 041120 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13232 041121 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13233 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13234 041122 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13235 041123 003 10 0 00 036001 ER3 AC,36001 ;HIGH PRODUCT FAILED
|
|
13236 777577 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
13237 041124 312 11 0 00 044075 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13238 041125 004 11 0 00 036002 ER4 AC+1,36002 ;LOW PRODUCT FAILED
|
|
13239 000001 AEE=1 ;INITIAL C(E)
|
|
13240 041126 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
13241 041127 005 06 0 00 036003 ER5 E,36003 ;C(E) WAS CLOBBERED
|
|
13242 041130 321 12 0 00 041116 JUMPL AC+2,F36000 ;LOOP ON ERROR SWITCH^
|
|
13243
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-15
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0264
|
|
|
|
13244 003601 ADR=ADR+1
|
|
13245 777377 777777 XX=XX+XX+1
|
|
13246 IFE <XX-1>,<XX=-2>
|
|
13247
|
|
13248 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13249 777777 777777 IFL XX,<V1=-1>
|
|
13250 IFG XX,<V1=0>
|
|
13251 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13252 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13253 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13254 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13255 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13256
|
|
13257 777377 777777 F36010: AA1=XX ;INITIAL C(AC)
|
|
13258 041131 200 10 0 00 044076 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13259 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13260 041132 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
13261 000001 AEE=1 ;INITIAL C(E)
|
|
13262 041133 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13263 041134 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13264 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13265 041135 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13266 041136 003 10 0 00 036011 ER3 AC,36011 ;HIGH PRODUCT FAILED
|
|
13267 777377 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
13268 041137 312 11 0 00 044076 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13269 041140 004 11 0 00 036012 ER4 AC+1,36012 ;LOW PRODUCT FAILED
|
|
13270 000001 AEE=1 ;INITIAL C(E)
|
|
13271 041141 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
13272 041142 005 06 0 00 036013 ER5 E,36013 ;C(E) WAS CLOBBERED
|
|
13273 041143 321 12 0 00 041131 JUMPL AC+2,F36010 ;LOOP ON ERROR SWITCH^
|
|
13274
|
|
13275 003602 ADR=ADR+1
|
|
13276 776777 777777 XX=XX+XX+1
|
|
13277 IFE <XX-1>,<XX=-2>
|
|
13278
|
|
13279 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13280 777777 777777 IFL XX,<V1=-1>
|
|
13281 IFG XX,<V1=0>
|
|
13282 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13283 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13284 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13285 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13286 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13287
|
|
13288 776777 777777 F36020: AA1=XX ;INITIAL C(AC)
|
|
13289 041144 200 10 0 00 044077 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13290 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13291 041145 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
13292 000001 AEE=1 ;INITIAL C(E)
|
|
13293 041146 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13294 041147 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13295 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13296 041150 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13297 041151 003 10 0 00 036021 ER3 AC,36021 ;HIGH PRODUCT FAILED
|
|
13298 776777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-16
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0265
|
|
|
|
13299 041152 312 11 0 00 044077 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13300 041153 004 11 0 00 036022 ER4 AC+1,36022 ;LOW PRODUCT FAILED
|
|
13301 000001 AEE=1 ;INITIAL C(E)
|
|
13302 041154 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
13303 041155 005 06 0 00 036023 ER5 E,36023 ;C(E) WAS CLOBBERED
|
|
13304 041156 321 12 0 00 041144 JUMPL AC+2,F36020 ;LOOP ON ERROR SWITCH^
|
|
13305
|
|
13306 003603 ADR=ADR+1
|
|
13307 775777 777777 XX=XX+XX+1
|
|
13308 IFE <XX-1>,<XX=-2>
|
|
13309
|
|
13310 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13311 777777 777777 IFL XX,<V1=-1>
|
|
13312 IFG XX,<V1=0>
|
|
13313 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13314 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13315 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13316 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13317 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13318
|
|
13319 775777 777777 F36030: AA1=XX ;INITIAL C(AC)
|
|
13320 041157 200 10 0 00 044100 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13321 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13322 041160 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
13323 000001 AEE=1 ;INITIAL C(E)
|
|
13324 041161 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13325 041162 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13326 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13327 041163 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13328 041164 003 10 0 00 036031 ER3 AC,36031 ;HIGH PRODUCT FAILED
|
|
13329 775777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
13330 041165 312 11 0 00 044100 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13331 041166 004 11 0 00 036032 ER4 AC+1,36032 ;LOW PRODUCT FAILED
|
|
13332 000001 AEE=1 ;INITIAL C(E)
|
|
13333 041167 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
13334 041170 005 06 0 00 036033 ER5 E,36033 ;C(E) WAS CLOBBERED
|
|
13335 041171 321 12 0 00 041157 JUMPL AC+2,F36030 ;LOOP ON ERROR SWITCH^
|
|
13336
|
|
13337 003604 ADR=ADR+1
|
|
13338 773777 777777 XX=XX+XX+1
|
|
13339 IFE <XX-1>,<XX=-2>
|
|
13340
|
|
13341 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13342 777777 777777 IFL XX,<V1=-1>
|
|
13343 IFG XX,<V1=0>
|
|
13344 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13345 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13346 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13347 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13348 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13349
|
|
13350 773777 777777 F36040: AA1=XX ;INITIAL C(AC)
|
|
13351 041172 200 10 0 00 044101 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13352 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13353 041173 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-17
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0266
|
|
|
|
13354 000001 AEE=1 ;INITIAL C(E)
|
|
13355 041174 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13356 041175 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13357 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13358 041176 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13359 041177 003 10 0 00 036041 ER3 AC,36041 ;HIGH PRODUCT FAILED
|
|
13360 773777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
13361 041200 312 11 0 00 044101 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13362 041201 004 11 0 00 036042 ER4 AC+1,36042 ;LOW PRODUCT FAILED
|
|
13363 000001 AEE=1 ;INITIAL C(E)
|
|
13364 041202 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
13365 041203 005 06 0 00 036043 ER5 E,36043 ;C(E) WAS CLOBBERED
|
|
13366 041204 321 12 0 00 041172 JUMPL AC+2,F36040 ;LOOP ON ERROR SWITCH^
|
|
13367
|
|
13368 003605 ADR=ADR+1
|
|
13369 767777 777777 XX=XX+XX+1
|
|
13370 IFE <XX-1>,<XX=-2>
|
|
13371
|
|
13372 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13373 777777 777777 IFL XX,<V1=-1>
|
|
13374 IFG XX,<V1=0>
|
|
13375 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13376 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13377 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13378 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13379 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13380
|
|
13381 767777 777777 F36050: AA1=XX ;INITIAL C(AC)
|
|
13382 041205 200 10 0 00 044102 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13383 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13384 041206 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
13385 000001 AEE=1 ;INITIAL C(E)
|
|
13386 041207 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13387 041210 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13388 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13389 041211 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13390 041212 003 10 0 00 036051 ER3 AC,36051 ;HIGH PRODUCT FAILED
|
|
13391 767777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
13392 041213 312 11 0 00 044102 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13393 041214 004 11 0 00 036052 ER4 AC+1,36052 ;LOW PRODUCT FAILED
|
|
13394 000001 AEE=1 ;INITIAL C(E)
|
|
13395 041215 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
13396 041216 005 06 0 00 036053 ER5 E,36053 ;C(E) WAS CLOBBERED
|
|
13397 041217 321 12 0 00 041205 JUMPL AC+2,F36050 ;LOOP ON ERROR SWITCH^
|
|
13398
|
|
13399 003606 ADR=ADR+1
|
|
13400 757777 777777 XX=XX+XX+1
|
|
13401 IFE <XX-1>,<XX=-2>
|
|
13402
|
|
13403 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13404 777777 777777 IFL XX,<V1=-1>
|
|
13405 IFG XX,<V1=0>
|
|
13406 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13407 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13408 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-18
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0267
|
|
|
|
13409 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13410 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13411
|
|
13412 757777 777777 F36060: AA1=XX ;INITIAL C(AC)
|
|
13413 041220 200 10 0 00 044103 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13414 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13415 041221 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
13416 000001 AEE=1 ;INITIAL C(E)
|
|
13417 041222 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13418 041223 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13419 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13420 041224 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13421 041225 003 10 0 00 036061 ER3 AC,36061 ;HIGH PRODUCT FAILED
|
|
13422 757777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
13423 041226 312 11 0 00 044103 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13424 041227 004 11 0 00 036062 ER4 AC+1,36062 ;LOW PRODUCT FAILED
|
|
13425 000001 AEE=1 ;INITIAL C(E)
|
|
13426 041230 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
13427 041231 005 06 0 00 036063 ER5 E,36063 ;C(E) WAS CLOBBERED
|
|
13428 041232 321 12 0 00 041220 JUMPL AC+2,F36060 ;LOOP ON ERROR SWITCH^
|
|
13429
|
|
13430 003607 ADR=ADR+1
|
|
13431 737777 777777 XX=XX+XX+1
|
|
13432 IFE <XX-1>,<XX=-2>
|
|
13433
|
|
13434 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13435 777777 777777 IFL XX,<V1=-1>
|
|
13436 IFG XX,<V1=0>
|
|
13437 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13438 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13439 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13440 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13441 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13442
|
|
13443 737777 777777 F36070: AA1=XX ;INITIAL C(AC)
|
|
13444 041233 200 10 0 00 044104 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13445 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13446 041234 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
13447 000001 AEE=1 ;INITIAL C(E)
|
|
13448 041235 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13449 041236 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13450 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13451 041237 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13452 041240 003 10 0 00 036071 ER3 AC,36071 ;HIGH PRODUCT FAILED
|
|
13453 737777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
13454 041241 312 11 0 00 044104 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13455 041242 004 11 0 00 036072 ER4 AC+1,36072 ;LOW PRODUCT FAILED
|
|
13456 000001 AEE=1 ;INITIAL C(E)
|
|
13457 041243 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
13458 041244 005 06 0 00 036073 ER5 E,36073 ;C(E) WAS CLOBBERED
|
|
13459 041245 321 12 0 00 041233 JUMPL AC+2,F36070 ;LOOP ON ERROR SWITCH^
|
|
13460
|
|
13461 003610 ADR=ADR+1
|
|
13462 677777 777777 XX=XX+XX+1
|
|
13463 IFE <XX-1>,<XX=-2>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-19
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0268
|
|
|
|
13464
|
|
13465 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13466 777777 777777 IFL XX,<V1=-1>
|
|
13467 IFG XX,<V1=0>
|
|
13468 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13469 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13470 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13471 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13472 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13473
|
|
13474 677777 777777 F36100: AA1=XX ;INITIAL C(AC)
|
|
13475 041246 200 10 0 00 044105 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13476 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13477 041247 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
13478 000001 AEE=1 ;INITIAL C(E)
|
|
13479 041250 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13480 041251 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13481 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13482 041252 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13483 041253 003 10 0 00 036101 ER3 AC,36101 ;HIGH PRODUCT FAILED
|
|
13484 677777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
13485 041254 312 11 0 00 044105 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13486 041255 004 11 0 00 036102 ER4 AC+1,36102 ;LOW PRODUCT FAILED
|
|
13487 000001 AEE=1 ;INITIAL C(E)
|
|
13488 041256 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
13489 041257 005 06 0 00 036103 ER5 E,36103 ;C(E) WAS CLOBBERED
|
|
13490 041260 321 12 0 00 041246 JUMPL AC+2,F36100 ;LOOP ON ERROR SWITCH^
|
|
13491
|
|
13492 003611 ADR=ADR+1
|
|
13493 577777 777777 XX=XX+XX+1
|
|
13494 IFE <XX-1>,<XX=-2>
|
|
13495
|
|
13496 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13497 777777 777777 IFL XX,<V1=-1>
|
|
13498 IFG XX,<V1=0>
|
|
13499 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13500 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13501 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13502 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13503 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13504
|
|
13505 577777 777777 F36110: AA1=XX ;INITIAL C(AC)
|
|
13506 041261 200 10 0 00 044106 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13507 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13508 041262 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
13509 000001 AEE=1 ;INITIAL C(E)
|
|
13510 041263 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13511 041264 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13512 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13513 041265 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13514 041266 003 10 0 00 036111 ER3 AC,36111 ;HIGH PRODUCT FAILED
|
|
13515 577777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
13516 041267 312 11 0 00 044106 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13517 041270 004 11 0 00 036112 ER4 AC+1,36112 ;LOW PRODUCT FAILED
|
|
13518 000001 AEE=1 ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 17-20
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0269
|
|
|
|
13519 041271 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
13520 041272 005 06 0 00 036113 ER5 E,36113 ;C(E) WAS CLOBBERED
|
|
13521 041273 321 12 0 00 041261 JUMPL AC+2,F36110 ;LOOP ON ERROR SWITCH^
|
|
13522
|
|
13523 003612 ADR=ADR+1
|
|
13524 377777 777777 XX=XX+XX+1
|
|
13525 IFE <XX-1>,<XX=-2>
|
|
13526
|
|
13527 ;MULTIPLY 1 BY RIPPLED 0 TO GET PRODUCT OF RIPPLED 0
|
|
13528 IFL XX,<V1=-1>
|
|
13529 000000 IFG XX,<V1=0>
|
|
13530 MOP1 (\ADR,XX,0,1,V1,XX)^
|
|
13531 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
13532 ;[1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13533 ;AND E AGAINST [V1], [XX] AND [1] RESPECTIVELY.
|
|
13534 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13535
|
|
13536 377777 777777 F36120: AA1=XX ;INITIAL C(AC)
|
|
13537 041274 200 10 0 00 044107 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
13538 000000 AA2=0 ;INITIAL C(AC+1)
|
|
13539 041275 200 11 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
13540 000001 AEE=1 ;INITIAL C(E)
|
|
13541 041276 200 06 0 00 044000 MOVE E,[1] ;PRELOAD E (MULTIPLICAND)
|
|
13542 041277 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13543 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13544 041300 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13545 041301 003 10 0 00 036121 ER3 AC,36121 ;HIGH PRODUCT FAILED
|
|
13546 377777 777777 AR2=XX ;EXPECTED RESULT IN AC+1
|
|
13547 041302 312 11 0 00 044107 CAME AC+1,[XX] ;IS LOW PRODUCT CORRECT?
|
|
13548 041303 004 11 0 00 036122 ER4 AC+1,36122 ;LOW PRODUCT FAILED
|
|
13549 000001 AEE=1 ;INITIAL C(E)
|
|
13550 041304 312 06 0 00 044000 CAME E,[1] ;WAS C(E) CLOBBERED?
|
|
13551 041305 005 06 0 00 036123 ER5 E,36123 ;C(E) WAS CLOBBERED
|
|
13552 041306 321 12 0 00 041274 JUMPL AC+2,F36120 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0270
|
|
|
|
13553 000010 AC=10
|
|
13554 000006 E=<AC-2>&17
|
|
13555 SAVEAC (1,1)^
|
|
13556 041307 201 12 0 00 041307 MOVEI AC+2,. ;SAVE TEST PC
|
|
13557 041310 202 12 0 00 030051 MOVEM AC+2,TESTPC
|
|
13558 041311 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
13559 041312 202 12 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
13560 000000 XX=0
|
|
13561
|
|
13562 REPEAT ^D36, <
|
|
13563 ADR=ADR+1
|
|
13564 XX=XX+XX+1
|
|
13565 IFE <XX-1>,<XX=-2>
|
|
13566
|
|
13567 ;MULTIPLY A RIPPLED 0 BY -1
|
|
13568 MX=-XX
|
|
13569 IFL XX,<V1=0>
|
|
13570 IFG XX,<V1=-1>
|
|
13571 MOP1 (\ADR,-1,-1,XX,V1,MX)>
|
|
13572
|
|
13573 003613 ADR=ADR+1
|
|
13574 000001 XX=XX+XX+1
|
|
13575 777777 777776 IFE <XX-1>,<XX=-2>
|
|
13576
|
|
13577 ;MULTIPLY A RIPPLED 0 BY -1
|
|
13578 000002 MX=-XX
|
|
13579 000000 IFL XX,<V1=0>
|
|
13580 IFG XX,<V1=-1>
|
|
13581 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
13582 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
13583 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13584 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
13585 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13586
|
|
13587 777777 777777 F36130: AA1=-1 ;INITIAL C(AC)
|
|
13588 041313 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
13589 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
13590 041314 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
13591 777777 777776 AEE=XX ;INITIAL C(E)
|
|
13592 041315 200 06 0 00 044044 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
13593 041316 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13594 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13595 041317 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13596 041320 003 10 0 00 036131 ER3 AC,36131 ;HIGH PRODUCT FAILED
|
|
13597 000002 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
13598 041321 312 11 0 00 044001 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
13599 041322 004 11 0 00 036132 ER4 AC+1,36132 ;LOW PRODUCT FAILED
|
|
13600 777777 777776 AEE=XX ;INITIAL C(E)
|
|
13601 041323 312 06 0 00 044044 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
13602 041324 005 06 0 00 036133 ER5 E,36133 ;C(E) WAS CLOBBERED
|
|
13603 041325 321 12 0 00 041313 JUMPL AC+2,F36130 ;LOOP ON ERROR SWITCH^
|
|
13604
|
|
13605 003614 ADR=ADR+1
|
|
13606 777777 777775 XX=XX+XX+1
|
|
13607 IFE <XX-1>,<XX=-2>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-1
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0271
|
|
|
|
13608
|
|
13609 ;MULTIPLY A RIPPLED 0 BY -1
|
|
13610 000003 MX=-XX
|
|
13611 000000 IFL XX,<V1=0>
|
|
13612 IFG XX,<V1=-1>
|
|
13613 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
13614 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
13615 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13616 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
13617 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13618
|
|
13619 777777 777777 F36140: AA1=-1 ;INITIAL C(AC)
|
|
13620 041326 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
13621 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
13622 041327 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
13623 777777 777775 AEE=XX ;INITIAL C(E)
|
|
13624 041330 200 06 0 00 044045 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
13625 041331 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13626 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13627 041332 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13628 041333 003 10 0 00 036141 ER3 AC,36141 ;HIGH PRODUCT FAILED
|
|
13629 000003 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
13630 041334 312 11 0 00 044110 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
13631 041335 004 11 0 00 036142 ER4 AC+1,36142 ;LOW PRODUCT FAILED
|
|
13632 777777 777775 AEE=XX ;INITIAL C(E)
|
|
13633 041336 312 06 0 00 044045 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
13634 041337 005 06 0 00 036143 ER5 E,36143 ;C(E) WAS CLOBBERED
|
|
13635 041340 321 12 0 00 041326 JUMPL AC+2,F36140 ;LOOP ON ERROR SWITCH^
|
|
13636
|
|
13637 003615 ADR=ADR+1
|
|
13638 777777 777773 XX=XX+XX+1
|
|
13639 IFE <XX-1>,<XX=-2>
|
|
13640
|
|
13641 ;MULTIPLY A RIPPLED 0 BY -1
|
|
13642 000005 MX=-XX
|
|
13643 000000 IFL XX,<V1=0>
|
|
13644 IFG XX,<V1=-1>
|
|
13645 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
13646 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
13647 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13648 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
13649 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13650
|
|
13651 777777 777777 F36150: AA1=-1 ;INITIAL C(AC)
|
|
13652 041341 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
13653 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
13654 041342 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
13655 777777 777773 AEE=XX ;INITIAL C(E)
|
|
13656 041343 200 06 0 00 044046 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
13657 041344 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13658 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13659 041345 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13660 041346 003 10 0 00 036151 ER3 AC,36151 ;HIGH PRODUCT FAILED
|
|
13661 000005 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
13662 041347 312 11 0 00 044111 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-2
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0272
|
|
|
|
13663 041350 004 11 0 00 036152 ER4 AC+1,36152 ;LOW PRODUCT FAILED
|
|
13664 777777 777773 AEE=XX ;INITIAL C(E)
|
|
13665 041351 312 06 0 00 044046 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
13666 041352 005 06 0 00 036153 ER5 E,36153 ;C(E) WAS CLOBBERED
|
|
13667 041353 321 12 0 00 041341 JUMPL AC+2,F36150 ;LOOP ON ERROR SWITCH^
|
|
13668
|
|
13669 003616 ADR=ADR+1
|
|
13670 777777 777767 XX=XX+XX+1
|
|
13671 IFE <XX-1>,<XX=-2>
|
|
13672
|
|
13673 ;MULTIPLY A RIPPLED 0 BY -1
|
|
13674 000011 MX=-XX
|
|
13675 000000 IFL XX,<V1=0>
|
|
13676 IFG XX,<V1=-1>
|
|
13677 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
13678 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
13679 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13680 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
13681 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13682
|
|
13683 777777 777777 F36160: AA1=-1 ;INITIAL C(AC)
|
|
13684 041354 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
13685 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
13686 041355 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
13687 777777 777767 AEE=XX ;INITIAL C(E)
|
|
13688 041356 200 06 0 00 044047 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
13689 041357 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13690 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13691 041360 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13692 041361 003 10 0 00 036161 ER3 AC,36161 ;HIGH PRODUCT FAILED
|
|
13693 000011 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
13694 041362 312 11 0 00 044114 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
13695 041363 004 11 0 00 036162 ER4 AC+1,36162 ;LOW PRODUCT FAILED
|
|
13696 777777 777767 AEE=XX ;INITIAL C(E)
|
|
13697 041364 312 06 0 00 044047 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
13698 041365 005 06 0 00 036163 ER5 E,36163 ;C(E) WAS CLOBBERED
|
|
13699 041366 321 12 0 00 041354 JUMPL AC+2,F36160 ;LOOP ON ERROR SWITCH^
|
|
13700
|
|
13701 003617 ADR=ADR+1
|
|
13702 777777 777757 XX=XX+XX+1
|
|
13703 IFE <XX-1>,<XX=-2>
|
|
13704
|
|
13705 ;MULTIPLY A RIPPLED 0 BY -1
|
|
13706 000021 MX=-XX
|
|
13707 000000 IFL XX,<V1=0>
|
|
13708 IFG XX,<V1=-1>
|
|
13709 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
13710 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
13711 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13712 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
13713 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13714
|
|
13715 777777 777777 F36170: AA1=-1 ;INITIAL C(AC)
|
|
13716 041367 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
13717 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-3
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0273
|
|
|
|
13718 041370 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
13719 777777 777757 AEE=XX ;INITIAL C(E)
|
|
13720 041371 200 06 0 00 044050 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
13721 041372 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13722 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13723 041373 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13724 041374 003 10 0 00 036171 ER3 AC,36171 ;HIGH PRODUCT FAILED
|
|
13725 000021 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
13726 041375 312 11 0 00 044174 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
13727 041376 004 11 0 00 036172 ER4 AC+1,36172 ;LOW PRODUCT FAILED
|
|
13728 777777 777757 AEE=XX ;INITIAL C(E)
|
|
13729 041377 312 06 0 00 044050 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
13730 041400 005 06 0 00 036173 ER5 E,36173 ;C(E) WAS CLOBBERED
|
|
13731 041401 321 12 0 00 041367 JUMPL AC+2,F36170 ;LOOP ON ERROR SWITCH^
|
|
13732
|
|
13733 003620 ADR=ADR+1
|
|
13734 777777 777737 XX=XX+XX+1
|
|
13735 IFE <XX-1>,<XX=-2>
|
|
13736
|
|
13737 ;MULTIPLY A RIPPLED 0 BY -1
|
|
13738 000041 MX=-XX
|
|
13739 000000 IFL XX,<V1=0>
|
|
13740 IFG XX,<V1=-1>
|
|
13741 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
13742 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
13743 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13744 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
13745 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13746
|
|
13747 777777 777777 F36200: AA1=-1 ;INITIAL C(AC)
|
|
13748 041402 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
13749 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
13750 041403 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
13751 777777 777737 AEE=XX ;INITIAL C(E)
|
|
13752 041404 200 06 0 00 044051 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
13753 041405 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13754 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13755 041406 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13756 041407 003 10 0 00 036201 ER3 AC,36201 ;HIGH PRODUCT FAILED
|
|
13757 000041 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
13758 041410 312 11 0 00 044175 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
13759 041411 004 11 0 00 036202 ER4 AC+1,36202 ;LOW PRODUCT FAILED
|
|
13760 777777 777737 AEE=XX ;INITIAL C(E)
|
|
13761 041412 312 06 0 00 044051 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
13762 041413 005 06 0 00 036203 ER5 E,36203 ;C(E) WAS CLOBBERED
|
|
13763 041414 321 12 0 00 041402 JUMPL AC+2,F36200 ;LOOP ON ERROR SWITCH^
|
|
13764
|
|
13765 003621 ADR=ADR+1
|
|
13766 777777 777677 XX=XX+XX+1
|
|
13767 IFE <XX-1>,<XX=-2>
|
|
13768
|
|
13769 ;MULTIPLY A RIPPLED 0 BY -1
|
|
13770 000101 MX=-XX
|
|
13771 000000 IFL XX,<V1=0>
|
|
13772 IFG XX,<V1=-1>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-4
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0274
|
|
|
|
13773 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
13774 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
13775 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13776 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
13777 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13778
|
|
13779 777777 777777 F36210: AA1=-1 ;INITIAL C(AC)
|
|
13780 041415 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
13781 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
13782 041416 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
13783 777777 777677 AEE=XX ;INITIAL C(E)
|
|
13784 041417 200 06 0 00 044052 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
13785 041420 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13786 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13787 041421 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13788 041422 003 10 0 00 036211 ER3 AC,36211 ;HIGH PRODUCT FAILED
|
|
13789 000101 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
13790 041423 312 11 0 00 044176 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
13791 041424 004 11 0 00 036212 ER4 AC+1,36212 ;LOW PRODUCT FAILED
|
|
13792 777777 777677 AEE=XX ;INITIAL C(E)
|
|
13793 041425 312 06 0 00 044052 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
13794 041426 005 06 0 00 036213 ER5 E,36213 ;C(E) WAS CLOBBERED
|
|
13795 041427 321 12 0 00 041415 JUMPL AC+2,F36210 ;LOOP ON ERROR SWITCH^
|
|
13796
|
|
13797 003622 ADR=ADR+1
|
|
13798 777777 777577 XX=XX+XX+1
|
|
13799 IFE <XX-1>,<XX=-2>
|
|
13800
|
|
13801 ;MULTIPLY A RIPPLED 0 BY -1
|
|
13802 000201 MX=-XX
|
|
13803 000000 IFL XX,<V1=0>
|
|
13804 IFG XX,<V1=-1>
|
|
13805 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
13806 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
13807 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13808 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
13809 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13810
|
|
13811 777777 777777 F36220: AA1=-1 ;INITIAL C(AC)
|
|
13812 041430 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
13813 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
13814 041431 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
13815 777777 777577 AEE=XX ;INITIAL C(E)
|
|
13816 041432 200 06 0 00 044053 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
13817 041433 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13818 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13819 041434 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13820 041435 003 10 0 00 036221 ER3 AC,36221 ;HIGH PRODUCT FAILED
|
|
13821 000201 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
13822 041436 312 11 0 00 044177 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
13823 041437 004 11 0 00 036222 ER4 AC+1,36222 ;LOW PRODUCT FAILED
|
|
13824 777777 777577 AEE=XX ;INITIAL C(E)
|
|
13825 041440 312 06 0 00 044053 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
13826 041441 005 06 0 00 036223 ER5 E,36223 ;C(E) WAS CLOBBERED
|
|
13827 041442 321 12 0 00 041430 JUMPL AC+2,F36220 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-5
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0275
|
|
|
|
13828
|
|
13829 003623 ADR=ADR+1
|
|
13830 777777 777377 XX=XX+XX+1
|
|
13831 IFE <XX-1>,<XX=-2>
|
|
13832
|
|
13833 ;MULTIPLY A RIPPLED 0 BY -1
|
|
13834 000401 MX=-XX
|
|
13835 000000 IFL XX,<V1=0>
|
|
13836 IFG XX,<V1=-1>
|
|
13837 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
13838 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
13839 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13840 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
13841 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13842
|
|
13843 777777 777777 F36230: AA1=-1 ;INITIAL C(AC)
|
|
13844 041443 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
13845 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
13846 041444 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
13847 777777 777377 AEE=XX ;INITIAL C(E)
|
|
13848 041445 200 06 0 00 044054 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
13849 041446 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13850 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13851 041447 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13852 041450 003 10 0 00 036231 ER3 AC,36231 ;HIGH PRODUCT FAILED
|
|
13853 000401 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
13854 041451 312 11 0 00 044200 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
13855 041452 004 11 0 00 036232 ER4 AC+1,36232 ;LOW PRODUCT FAILED
|
|
13856 777777 777377 AEE=XX ;INITIAL C(E)
|
|
13857 041453 312 06 0 00 044054 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
13858 041454 005 06 0 00 036233 ER5 E,36233 ;C(E) WAS CLOBBERED
|
|
13859 041455 321 12 0 00 041443 JUMPL AC+2,F36230 ;LOOP ON ERROR SWITCH^
|
|
13860
|
|
13861 003624 ADR=ADR+1
|
|
13862 777777 776777 XX=XX+XX+1
|
|
13863 IFE <XX-1>,<XX=-2>
|
|
13864
|
|
13865 ;MULTIPLY A RIPPLED 0 BY -1
|
|
13866 001001 MX=-XX
|
|
13867 000000 IFL XX,<V1=0>
|
|
13868 IFG XX,<V1=-1>
|
|
13869 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
13870 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
13871 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13872 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
13873 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13874
|
|
13875 777777 777777 F36240: AA1=-1 ;INITIAL C(AC)
|
|
13876 041456 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
13877 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
13878 041457 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
13879 777777 776777 AEE=XX ;INITIAL C(E)
|
|
13880 041460 200 06 0 00 044055 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
13881 041461 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13882 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-6
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0276
|
|
|
|
13883 041462 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13884 041463 003 10 0 00 036241 ER3 AC,36241 ;HIGH PRODUCT FAILED
|
|
13885 001001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
13886 041464 312 11 0 00 044201 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
13887 041465 004 11 0 00 036242 ER4 AC+1,36242 ;LOW PRODUCT FAILED
|
|
13888 777777 776777 AEE=XX ;INITIAL C(E)
|
|
13889 041466 312 06 0 00 044055 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
13890 041467 005 06 0 00 036243 ER5 E,36243 ;C(E) WAS CLOBBERED
|
|
13891 041470 321 12 0 00 041456 JUMPL AC+2,F36240 ;LOOP ON ERROR SWITCH^
|
|
13892
|
|
13893 003625 ADR=ADR+1
|
|
13894 777777 775777 XX=XX+XX+1
|
|
13895 IFE <XX-1>,<XX=-2>
|
|
13896
|
|
13897 ;MULTIPLY A RIPPLED 0 BY -1
|
|
13898 002001 MX=-XX
|
|
13899 000000 IFL XX,<V1=0>
|
|
13900 IFG XX,<V1=-1>
|
|
13901 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
13902 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
13903 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13904 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
13905 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13906
|
|
13907 777777 777777 F36250: AA1=-1 ;INITIAL C(AC)
|
|
13908 041471 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
13909 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
13910 041472 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
13911 777777 775777 AEE=XX ;INITIAL C(E)
|
|
13912 041473 200 06 0 00 044056 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
13913 041474 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13914 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13915 041475 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13916 041476 003 10 0 00 036251 ER3 AC,36251 ;HIGH PRODUCT FAILED
|
|
13917 002001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
13918 041477 312 11 0 00 044202 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
13919 041500 004 11 0 00 036252 ER4 AC+1,36252 ;LOW PRODUCT FAILED
|
|
13920 777777 775777 AEE=XX ;INITIAL C(E)
|
|
13921 041501 312 06 0 00 044056 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
13922 041502 005 06 0 00 036253 ER5 E,36253 ;C(E) WAS CLOBBERED
|
|
13923 041503 321 12 0 00 041471 JUMPL AC+2,F36250 ;LOOP ON ERROR SWITCH^
|
|
13924
|
|
13925 003626 ADR=ADR+1
|
|
13926 777777 773777 XX=XX+XX+1
|
|
13927 IFE <XX-1>,<XX=-2>
|
|
13928
|
|
13929 ;MULTIPLY A RIPPLED 0 BY -1
|
|
13930 004001 MX=-XX
|
|
13931 000000 IFL XX,<V1=0>
|
|
13932 IFG XX,<V1=-1>
|
|
13933 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
13934 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
13935 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13936 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
13937 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-7
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0277
|
|
|
|
13938
|
|
13939 777777 777777 F36260: AA1=-1 ;INITIAL C(AC)
|
|
13940 041504 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
13941 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
13942 041505 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
13943 777777 773777 AEE=XX ;INITIAL C(E)
|
|
13944 041506 200 06 0 00 044057 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
13945 041507 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13946 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13947 041510 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13948 041511 003 10 0 00 036261 ER3 AC,36261 ;HIGH PRODUCT FAILED
|
|
13949 004001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
13950 041512 312 11 0 00 044203 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
13951 041513 004 11 0 00 036262 ER4 AC+1,36262 ;LOW PRODUCT FAILED
|
|
13952 777777 773777 AEE=XX ;INITIAL C(E)
|
|
13953 041514 312 06 0 00 044057 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
13954 041515 005 06 0 00 036263 ER5 E,36263 ;C(E) WAS CLOBBERED
|
|
13955 041516 321 12 0 00 041504 JUMPL AC+2,F36260 ;LOOP ON ERROR SWITCH^
|
|
13956
|
|
13957 003627 ADR=ADR+1
|
|
13958 777777 767777 XX=XX+XX+1
|
|
13959 IFE <XX-1>,<XX=-2>
|
|
13960
|
|
13961 ;MULTIPLY A RIPPLED 0 BY -1
|
|
13962 010001 MX=-XX
|
|
13963 000000 IFL XX,<V1=0>
|
|
13964 IFG XX,<V1=-1>
|
|
13965 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
13966 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
13967 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
13968 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
13969 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
13970
|
|
13971 777777 777777 F36270: AA1=-1 ;INITIAL C(AC)
|
|
13972 041517 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
13973 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
13974 041520 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
13975 777777 767777 AEE=XX ;INITIAL C(E)
|
|
13976 041521 200 06 0 00 044060 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
13977 041522 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
13978 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
13979 041523 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
13980 041524 003 10 0 00 036271 ER3 AC,36271 ;HIGH PRODUCT FAILED
|
|
13981 010001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
13982 041525 312 11 0 00 044204 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
13983 041526 004 11 0 00 036272 ER4 AC+1,36272 ;LOW PRODUCT FAILED
|
|
13984 777777 767777 AEE=XX ;INITIAL C(E)
|
|
13985 041527 312 06 0 00 044060 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
13986 041530 005 06 0 00 036273 ER5 E,36273 ;C(E) WAS CLOBBERED
|
|
13987 041531 321 12 0 00 041517 JUMPL AC+2,F36270 ;LOOP ON ERROR SWITCH^
|
|
13988
|
|
13989 003630 ADR=ADR+1
|
|
13990 777777 757777 XX=XX+XX+1
|
|
13991 IFE <XX-1>,<XX=-2>
|
|
13992
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-8
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0278
|
|
|
|
13993 ;MULTIPLY A RIPPLED 0 BY -1
|
|
13994 020001 MX=-XX
|
|
13995 000000 IFL XX,<V1=0>
|
|
13996 IFG XX,<V1=-1>
|
|
13997 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
13998 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
13999 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14000 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14001 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14002
|
|
14003 777777 777777 F36300: AA1=-1 ;INITIAL C(AC)
|
|
14004 041532 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14005 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14006 041533 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14007 777777 757777 AEE=XX ;INITIAL C(E)
|
|
14008 041534 200 06 0 00 044061 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14009 041535 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14010 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14011 041536 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14012 041537 003 10 0 00 036301 ER3 AC,36301 ;HIGH PRODUCT FAILED
|
|
14013 020001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14014 041540 312 11 0 00 044205 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14015 041541 004 11 0 00 036302 ER4 AC+1,36302 ;LOW PRODUCT FAILED
|
|
14016 777777 757777 AEE=XX ;INITIAL C(E)
|
|
14017 041542 312 06 0 00 044061 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14018 041543 005 06 0 00 036303 ER5 E,36303 ;C(E) WAS CLOBBERED
|
|
14019 041544 321 12 0 00 041532 JUMPL AC+2,F36300 ;LOOP ON ERROR SWITCH^
|
|
14020
|
|
14021 003631 ADR=ADR+1
|
|
14022 777777 737777 XX=XX+XX+1
|
|
14023 IFE <XX-1>,<XX=-2>
|
|
14024
|
|
14025 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14026 040001 MX=-XX
|
|
14027 000000 IFL XX,<V1=0>
|
|
14028 IFG XX,<V1=-1>
|
|
14029 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14030 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14031 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14032 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14033 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14034
|
|
14035 777777 777777 F36310: AA1=-1 ;INITIAL C(AC)
|
|
14036 041545 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14037 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14038 041546 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14039 777777 737777 AEE=XX ;INITIAL C(E)
|
|
14040 041547 200 06 0 00 044062 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14041 041550 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14042 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14043 041551 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14044 041552 003 10 0 00 036311 ER3 AC,36311 ;HIGH PRODUCT FAILED
|
|
14045 040001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14046 041553 312 11 0 00 044206 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14047 041554 004 11 0 00 036312 ER4 AC+1,36312 ;LOW PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-9
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0279
|
|
|
|
14048 777777 737777 AEE=XX ;INITIAL C(E)
|
|
14049 041555 312 06 0 00 044062 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14050 041556 005 06 0 00 036313 ER5 E,36313 ;C(E) WAS CLOBBERED
|
|
14051 041557 321 12 0 00 041545 JUMPL AC+2,F36310 ;LOOP ON ERROR SWITCH^
|
|
14052
|
|
14053 003632 ADR=ADR+1
|
|
14054 777777 677777 XX=XX+XX+1
|
|
14055 IFE <XX-1>,<XX=-2>
|
|
14056
|
|
14057 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14058 100001 MX=-XX
|
|
14059 000000 IFL XX,<V1=0>
|
|
14060 IFG XX,<V1=-1>
|
|
14061 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14062 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14063 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14064 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14065 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14066
|
|
14067 777777 777777 F36320: AA1=-1 ;INITIAL C(AC)
|
|
14068 041560 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14069 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14070 041561 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14071 777777 677777 AEE=XX ;INITIAL C(E)
|
|
14072 041562 200 06 0 00 044063 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14073 041563 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14074 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14075 041564 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14076 041565 003 10 0 00 036321 ER3 AC,36321 ;HIGH PRODUCT FAILED
|
|
14077 100001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14078 041566 312 11 0 00 044207 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14079 041567 004 11 0 00 036322 ER4 AC+1,36322 ;LOW PRODUCT FAILED
|
|
14080 777777 677777 AEE=XX ;INITIAL C(E)
|
|
14081 041570 312 06 0 00 044063 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14082 041571 005 06 0 00 036323 ER5 E,36323 ;C(E) WAS CLOBBERED
|
|
14083 041572 321 12 0 00 041560 JUMPL AC+2,F36320 ;LOOP ON ERROR SWITCH^
|
|
14084
|
|
14085 003633 ADR=ADR+1
|
|
14086 777777 577777 XX=XX+XX+1
|
|
14087 IFE <XX-1>,<XX=-2>
|
|
14088
|
|
14089 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14090 200001 MX=-XX
|
|
14091 000000 IFL XX,<V1=0>
|
|
14092 IFG XX,<V1=-1>
|
|
14093 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14094 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14095 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14096 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14097 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14098
|
|
14099 777777 777777 F36330: AA1=-1 ;INITIAL C(AC)
|
|
14100 041573 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14101 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14102 041574 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-10
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0280
|
|
|
|
14103 777777 577777 AEE=XX ;INITIAL C(E)
|
|
14104 041575 200 06 0 00 044064 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14105 041576 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14106 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14107 041577 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14108 041600 003 10 0 00 036331 ER3 AC,36331 ;HIGH PRODUCT FAILED
|
|
14109 200001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14110 041601 312 11 0 00 044210 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14111 041602 004 11 0 00 036332 ER4 AC+1,36332 ;LOW PRODUCT FAILED
|
|
14112 777777 577777 AEE=XX ;INITIAL C(E)
|
|
14113 041603 312 06 0 00 044064 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14114 041604 005 06 0 00 036333 ER5 E,36333 ;C(E) WAS CLOBBERED
|
|
14115 041605 321 12 0 00 041573 JUMPL AC+2,F36330 ;LOOP ON ERROR SWITCH^
|
|
14116
|
|
14117 003634 ADR=ADR+1
|
|
14118 777777 377777 XX=XX+XX+1
|
|
14119 IFE <XX-1>,<XX=-2>
|
|
14120
|
|
14121 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14122 400001 MX=-XX
|
|
14123 000000 IFL XX,<V1=0>
|
|
14124 IFG XX,<V1=-1>
|
|
14125 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14126 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14127 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14128 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14129 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14130
|
|
14131 777777 777777 F36340: AA1=-1 ;INITIAL C(AC)
|
|
14132 041606 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14133 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14134 041607 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14135 777777 377777 AEE=XX ;INITIAL C(E)
|
|
14136 041610 200 06 0 00 044065 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14137 041611 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14138 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14139 041612 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14140 041613 003 10 0 00 036341 ER3 AC,36341 ;HIGH PRODUCT FAILED
|
|
14141 400001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14142 041614 312 11 0 00 044211 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14143 041615 004 11 0 00 036342 ER4 AC+1,36342 ;LOW PRODUCT FAILED
|
|
14144 777777 377777 AEE=XX ;INITIAL C(E)
|
|
14145 041616 312 06 0 00 044065 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14146 041617 005 06 0 00 036343 ER5 E,36343 ;C(E) WAS CLOBBERED
|
|
14147 041620 321 12 0 00 041606 JUMPL AC+2,F36340 ;LOOP ON ERROR SWITCH^
|
|
14148
|
|
14149 003635 ADR=ADR+1
|
|
14150 777776 777777 XX=XX+XX+1
|
|
14151 IFE <XX-1>,<XX=-2>
|
|
14152
|
|
14153 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14154 000001 000001 MX=-XX
|
|
14155 000000 IFL XX,<V1=0>
|
|
14156 IFG XX,<V1=-1>
|
|
14157 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-11
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0281
|
|
|
|
14158 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14159 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14160 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14161 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14162
|
|
14163 777777 777777 F36350: AA1=-1 ;INITIAL C(AC)
|
|
14164 041621 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14165 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14166 041622 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14167 777776 777777 AEE=XX ;INITIAL C(E)
|
|
14168 041623 200 06 0 00 044066 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14169 041624 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14170 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14171 041625 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14172 041626 003 10 0 00 036351 ER3 AC,36351 ;HIGH PRODUCT FAILED
|
|
14173 000001 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14174 041627 312 11 0 00 044212 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14175 041630 004 11 0 00 036352 ER4 AC+1,36352 ;LOW PRODUCT FAILED
|
|
14176 777776 777777 AEE=XX ;INITIAL C(E)
|
|
14177 041631 312 06 0 00 044066 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14178 041632 005 06 0 00 036353 ER5 E,36353 ;C(E) WAS CLOBBERED
|
|
14179 041633 321 12 0 00 041621 JUMPL AC+2,F36350 ;LOOP ON ERROR SWITCH^
|
|
14180
|
|
14181 003636 ADR=ADR+1
|
|
14182 777775 777777 XX=XX+XX+1
|
|
14183 IFE <XX-1>,<XX=-2>
|
|
14184
|
|
14185 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14186 000002 000001 MX=-XX
|
|
14187 000000 IFL XX,<V1=0>
|
|
14188 IFG XX,<V1=-1>
|
|
14189 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14190 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14191 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14192 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14193 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14194
|
|
14195 777777 777777 F36360: AA1=-1 ;INITIAL C(AC)
|
|
14196 041634 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14197 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14198 041635 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14199 777775 777777 AEE=XX ;INITIAL C(E)
|
|
14200 041636 200 06 0 00 044067 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14201 041637 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14202 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14203 041640 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14204 041641 003 10 0 00 036361 ER3 AC,36361 ;HIGH PRODUCT FAILED
|
|
14205 000002 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14206 041642 312 11 0 00 044213 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14207 041643 004 11 0 00 036362 ER4 AC+1,36362 ;LOW PRODUCT FAILED
|
|
14208 777775 777777 AEE=XX ;INITIAL C(E)
|
|
14209 041644 312 06 0 00 044067 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14210 041645 005 06 0 00 036363 ER5 E,36363 ;C(E) WAS CLOBBERED
|
|
14211 041646 321 12 0 00 041634 JUMPL AC+2,F36360 ;LOOP ON ERROR SWITCH^
|
|
14212
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-12
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0282
|
|
|
|
14213 003637 ADR=ADR+1
|
|
14214 777773 777777 XX=XX+XX+1
|
|
14215 IFE <XX-1>,<XX=-2>
|
|
14216
|
|
14217 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14218 000004 000001 MX=-XX
|
|
14219 000000 IFL XX,<V1=0>
|
|
14220 IFG XX,<V1=-1>
|
|
14221 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14222 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14223 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14224 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14225 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14226
|
|
14227 777777 777777 F36370: AA1=-1 ;INITIAL C(AC)
|
|
14228 041647 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14229 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14230 041650 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14231 777773 777777 AEE=XX ;INITIAL C(E)
|
|
14232 041651 200 06 0 00 044070 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14233 041652 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14234 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14235 041653 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14236 041654 003 10 0 00 036371 ER3 AC,36371 ;HIGH PRODUCT FAILED
|
|
14237 000004 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14238 041655 312 11 0 00 044214 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14239 041656 004 11 0 00 036372 ER4 AC+1,36372 ;LOW PRODUCT FAILED
|
|
14240 777773 777777 AEE=XX ;INITIAL C(E)
|
|
14241 041657 312 06 0 00 044070 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14242 041660 005 06 0 00 036373 ER5 E,36373 ;C(E) WAS CLOBBERED
|
|
14243 041661 321 12 0 00 041647 JUMPL AC+2,F36370 ;LOOP ON ERROR SWITCH^
|
|
14244
|
|
14245 003640 ADR=ADR+1
|
|
14246 777767 777777 XX=XX+XX+1
|
|
14247 IFE <XX-1>,<XX=-2>
|
|
14248
|
|
14249 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14250 000010 000001 MX=-XX
|
|
14251 000000 IFL XX,<V1=0>
|
|
14252 IFG XX,<V1=-1>
|
|
14253 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14254 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14255 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14256 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14257 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14258
|
|
14259 777777 777777 F36400: AA1=-1 ;INITIAL C(AC)
|
|
14260 041662 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14261 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14262 041663 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14263 777767 777777 AEE=XX ;INITIAL C(E)
|
|
14264 041664 200 06 0 00 044071 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14265 041665 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14266 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14267 041666 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-13
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0283
|
|
|
|
14268 041667 003 10 0 00 036401 ER3 AC,36401 ;HIGH PRODUCT FAILED
|
|
14269 000010 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14270 041670 312 11 0 00 044215 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14271 041671 004 11 0 00 036402 ER4 AC+1,36402 ;LOW PRODUCT FAILED
|
|
14272 777767 777777 AEE=XX ;INITIAL C(E)
|
|
14273 041672 312 06 0 00 044071 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14274 041673 005 06 0 00 036403 ER5 E,36403 ;C(E) WAS CLOBBERED
|
|
14275 041674 321 12 0 00 041662 JUMPL AC+2,F36400 ;LOOP ON ERROR SWITCH^
|
|
14276
|
|
14277 003641 ADR=ADR+1
|
|
14278 777757 777777 XX=XX+XX+1
|
|
14279 IFE <XX-1>,<XX=-2>
|
|
14280
|
|
14281 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14282 000020 000001 MX=-XX
|
|
14283 000000 IFL XX,<V1=0>
|
|
14284 IFG XX,<V1=-1>
|
|
14285 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14286 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14287 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14288 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14289 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14290
|
|
14291 777777 777777 F36410: AA1=-1 ;INITIAL C(AC)
|
|
14292 041675 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14293 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14294 041676 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14295 777757 777777 AEE=XX ;INITIAL C(E)
|
|
14296 041677 200 06 0 00 044072 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14297 041700 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14298 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14299 041701 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14300 041702 003 10 0 00 036411 ER3 AC,36411 ;HIGH PRODUCT FAILED
|
|
14301 000020 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14302 041703 312 11 0 00 044216 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14303 041704 004 11 0 00 036412 ER4 AC+1,36412 ;LOW PRODUCT FAILED
|
|
14304 777757 777777 AEE=XX ;INITIAL C(E)
|
|
14305 041705 312 06 0 00 044072 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14306 041706 005 06 0 00 036413 ER5 E,36413 ;C(E) WAS CLOBBERED
|
|
14307 041707 321 12 0 00 041675 JUMPL AC+2,F36410 ;LOOP ON ERROR SWITCH^
|
|
14308
|
|
14309 003642 ADR=ADR+1
|
|
14310 777737 777777 XX=XX+XX+1
|
|
14311 IFE <XX-1>,<XX=-2>
|
|
14312
|
|
14313 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14314 000040 000001 MX=-XX
|
|
14315 000000 IFL XX,<V1=0>
|
|
14316 IFG XX,<V1=-1>
|
|
14317 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14318 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14319 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14320 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14321 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14322
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-14
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0284
|
|
|
|
14323 777777 777777 F36420: AA1=-1 ;INITIAL C(AC)
|
|
14324 041710 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14325 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14326 041711 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14327 777737 777777 AEE=XX ;INITIAL C(E)
|
|
14328 041712 200 06 0 00 044073 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14329 041713 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14330 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14331 041714 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14332 041715 003 10 0 00 036421 ER3 AC,36421 ;HIGH PRODUCT FAILED
|
|
14333 000040 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14334 041716 312 11 0 00 044217 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14335 041717 004 11 0 00 036422 ER4 AC+1,36422 ;LOW PRODUCT FAILED
|
|
14336 777737 777777 AEE=XX ;INITIAL C(E)
|
|
14337 041720 312 06 0 00 044073 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14338 041721 005 06 0 00 036423 ER5 E,36423 ;C(E) WAS CLOBBERED
|
|
14339 041722 321 12 0 00 041710 JUMPL AC+2,F36420 ;LOOP ON ERROR SWITCH^
|
|
14340
|
|
14341 003643 ADR=ADR+1
|
|
14342 777677 777777 XX=XX+XX+1
|
|
14343 IFE <XX-1>,<XX=-2>
|
|
14344
|
|
14345 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14346 000100 000001 MX=-XX
|
|
14347 000000 IFL XX,<V1=0>
|
|
14348 IFG XX,<V1=-1>
|
|
14349 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14350 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14351 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14352 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14353 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14354
|
|
14355 777777 777777 F36430: AA1=-1 ;INITIAL C(AC)
|
|
14356 041723 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14357 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14358 041724 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14359 777677 777777 AEE=XX ;INITIAL C(E)
|
|
14360 041725 200 06 0 00 044074 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14361 041726 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14362 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14363 041727 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14364 041730 003 10 0 00 036431 ER3 AC,36431 ;HIGH PRODUCT FAILED
|
|
14365 000100 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14366 041731 312 11 0 00 044220 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14367 041732 004 11 0 00 036432 ER4 AC+1,36432 ;LOW PRODUCT FAILED
|
|
14368 777677 777777 AEE=XX ;INITIAL C(E)
|
|
14369 041733 312 06 0 00 044074 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14370 041734 005 06 0 00 036433 ER5 E,36433 ;C(E) WAS CLOBBERED
|
|
14371 041735 321 12 0 00 041723 JUMPL AC+2,F36430 ;LOOP ON ERROR SWITCH^
|
|
14372
|
|
14373 003644 ADR=ADR+1
|
|
14374 777577 777777 XX=XX+XX+1
|
|
14375 IFE <XX-1>,<XX=-2>
|
|
14376
|
|
14377 ;MULTIPLY A RIPPLED 0 BY -1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-15
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0285
|
|
|
|
14378 000200 000001 MX=-XX
|
|
14379 000000 IFL XX,<V1=0>
|
|
14380 IFG XX,<V1=-1>
|
|
14381 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14382 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14383 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14384 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14385 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14386
|
|
14387 777777 777777 F36440: AA1=-1 ;INITIAL C(AC)
|
|
14388 041736 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14389 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14390 041737 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14391 777577 777777 AEE=XX ;INITIAL C(E)
|
|
14392 041740 200 06 0 00 044075 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14393 041741 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14394 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14395 041742 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14396 041743 003 10 0 00 036441 ER3 AC,36441 ;HIGH PRODUCT FAILED
|
|
14397 000200 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14398 041744 312 11 0 00 044221 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14399 041745 004 11 0 00 036442 ER4 AC+1,36442 ;LOW PRODUCT FAILED
|
|
14400 777577 777777 AEE=XX ;INITIAL C(E)
|
|
14401 041746 312 06 0 00 044075 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14402 041747 005 06 0 00 036443 ER5 E,36443 ;C(E) WAS CLOBBERED
|
|
14403 041750 321 12 0 00 041736 JUMPL AC+2,F36440 ;LOOP ON ERROR SWITCH^
|
|
14404
|
|
14405 003645 ADR=ADR+1
|
|
14406 777377 777777 XX=XX+XX+1
|
|
14407 IFE <XX-1>,<XX=-2>
|
|
14408
|
|
14409 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14410 000400 000001 MX=-XX
|
|
14411 000000 IFL XX,<V1=0>
|
|
14412 IFG XX,<V1=-1>
|
|
14413 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14414 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14415 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14416 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14417 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14418
|
|
14419 777777 777777 F36450: AA1=-1 ;INITIAL C(AC)
|
|
14420 041751 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14421 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14422 041752 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14423 777377 777777 AEE=XX ;INITIAL C(E)
|
|
14424 041753 200 06 0 00 044076 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14425 041754 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14426 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14427 041755 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14428 041756 003 10 0 00 036451 ER3 AC,36451 ;HIGH PRODUCT FAILED
|
|
14429 000400 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14430 041757 312 11 0 00 044222 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14431 041760 004 11 0 00 036452 ER4 AC+1,36452 ;LOW PRODUCT FAILED
|
|
14432 777377 777777 AEE=XX ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-16
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0286
|
|
|
|
14433 041761 312 06 0 00 044076 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14434 041762 005 06 0 00 036453 ER5 E,36453 ;C(E) WAS CLOBBERED
|
|
14435 041763 321 12 0 00 041751 JUMPL AC+2,F36450 ;LOOP ON ERROR SWITCH^
|
|
14436
|
|
14437 003646 ADR=ADR+1
|
|
14438 776777 777777 XX=XX+XX+1
|
|
14439 IFE <XX-1>,<XX=-2>
|
|
14440
|
|
14441 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14442 001000 000001 MX=-XX
|
|
14443 000000 IFL XX,<V1=0>
|
|
14444 IFG XX,<V1=-1>
|
|
14445 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14446 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14447 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14448 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14449 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14450
|
|
14451 777777 777777 F36460: AA1=-1 ;INITIAL C(AC)
|
|
14452 041764 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14453 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14454 041765 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14455 776777 777777 AEE=XX ;INITIAL C(E)
|
|
14456 041766 200 06 0 00 044077 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14457 041767 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14458 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14459 041770 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14460 041771 003 10 0 00 036461 ER3 AC,36461 ;HIGH PRODUCT FAILED
|
|
14461 001000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14462 041772 312 11 0 00 044223 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14463 041773 004 11 0 00 036462 ER4 AC+1,36462 ;LOW PRODUCT FAILED
|
|
14464 776777 777777 AEE=XX ;INITIAL C(E)
|
|
14465 041774 312 06 0 00 044077 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14466 041775 005 06 0 00 036463 ER5 E,36463 ;C(E) WAS CLOBBERED
|
|
14467 041776 321 12 0 00 041764 JUMPL AC+2,F36460 ;LOOP ON ERROR SWITCH^
|
|
14468
|
|
14469 003647 ADR=ADR+1
|
|
14470 775777 777777 XX=XX+XX+1
|
|
14471 IFE <XX-1>,<XX=-2>
|
|
14472
|
|
14473 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14474 002000 000001 MX=-XX
|
|
14475 000000 IFL XX,<V1=0>
|
|
14476 IFG XX,<V1=-1>
|
|
14477 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14478 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14479 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14480 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14481 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14482
|
|
14483 777777 777777 F36470: AA1=-1 ;INITIAL C(AC)
|
|
14484 041777 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14485 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14486 042000 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14487 775777 777777 AEE=XX ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-17
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0287
|
|
|
|
14488 042001 200 06 0 00 044100 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14489 042002 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14490 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14491 042003 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14492 042004 003 10 0 00 036471 ER3 AC,36471 ;HIGH PRODUCT FAILED
|
|
14493 002000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14494 042005 312 11 0 00 044224 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14495 042006 004 11 0 00 036472 ER4 AC+1,36472 ;LOW PRODUCT FAILED
|
|
14496 775777 777777 AEE=XX ;INITIAL C(E)
|
|
14497 042007 312 06 0 00 044100 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14498 042010 005 06 0 00 036473 ER5 E,36473 ;C(E) WAS CLOBBERED
|
|
14499 042011 321 12 0 00 041777 JUMPL AC+2,F36470 ;LOOP ON ERROR SWITCH^
|
|
14500
|
|
14501 003650 ADR=ADR+1
|
|
14502 773777 777777 XX=XX+XX+1
|
|
14503 IFE <XX-1>,<XX=-2>
|
|
14504
|
|
14505 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14506 004000 000001 MX=-XX
|
|
14507 000000 IFL XX,<V1=0>
|
|
14508 IFG XX,<V1=-1>
|
|
14509 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14510 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14511 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14512 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14513 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14514
|
|
14515 777777 777777 F36500: AA1=-1 ;INITIAL C(AC)
|
|
14516 042012 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14517 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14518 042013 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14519 773777 777777 AEE=XX ;INITIAL C(E)
|
|
14520 042014 200 06 0 00 044101 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14521 042015 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14522 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14523 042016 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14524 042017 003 10 0 00 036501 ER3 AC,36501 ;HIGH PRODUCT FAILED
|
|
14525 004000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14526 042020 312 11 0 00 044225 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14527 042021 004 11 0 00 036502 ER4 AC+1,36502 ;LOW PRODUCT FAILED
|
|
14528 773777 777777 AEE=XX ;INITIAL C(E)
|
|
14529 042022 312 06 0 00 044101 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14530 042023 005 06 0 00 036503 ER5 E,36503 ;C(E) WAS CLOBBERED
|
|
14531 042024 321 12 0 00 042012 JUMPL AC+2,F36500 ;LOOP ON ERROR SWITCH^
|
|
14532
|
|
14533 003651 ADR=ADR+1
|
|
14534 767777 777777 XX=XX+XX+1
|
|
14535 IFE <XX-1>,<XX=-2>
|
|
14536
|
|
14537 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14538 010000 000001 MX=-XX
|
|
14539 000000 IFL XX,<V1=0>
|
|
14540 IFG XX,<V1=-1>
|
|
14541 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14542 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-18
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0288
|
|
|
|
14543 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14544 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14545 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14546
|
|
14547 777777 777777 F36510: AA1=-1 ;INITIAL C(AC)
|
|
14548 042025 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14549 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14550 042026 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14551 767777 777777 AEE=XX ;INITIAL C(E)
|
|
14552 042027 200 06 0 00 044102 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14553 042030 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14554 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14555 042031 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14556 042032 003 10 0 00 036511 ER3 AC,36511 ;HIGH PRODUCT FAILED
|
|
14557 010000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14558 042033 312 11 0 00 044226 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14559 042034 004 11 0 00 036512 ER4 AC+1,36512 ;LOW PRODUCT FAILED
|
|
14560 767777 777777 AEE=XX ;INITIAL C(E)
|
|
14561 042035 312 06 0 00 044102 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14562 042036 005 06 0 00 036513 ER5 E,36513 ;C(E) WAS CLOBBERED
|
|
14563 042037 321 12 0 00 042025 JUMPL AC+2,F36510 ;LOOP ON ERROR SWITCH^
|
|
14564
|
|
14565 003652 ADR=ADR+1
|
|
14566 757777 777777 XX=XX+XX+1
|
|
14567 IFE <XX-1>,<XX=-2>
|
|
14568
|
|
14569 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14570 020000 000001 MX=-XX
|
|
14571 000000 IFL XX,<V1=0>
|
|
14572 IFG XX,<V1=-1>
|
|
14573 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14574 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14575 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14576 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14577 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14578
|
|
14579 777777 777777 F36520: AA1=-1 ;INITIAL C(AC)
|
|
14580 042040 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14581 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14582 042041 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14583 757777 777777 AEE=XX ;INITIAL C(E)
|
|
14584 042042 200 06 0 00 044103 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14585 042043 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14586 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14587 042044 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14588 042045 003 10 0 00 036521 ER3 AC,36521 ;HIGH PRODUCT FAILED
|
|
14589 020000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14590 042046 312 11 0 00 044227 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14591 042047 004 11 0 00 036522 ER4 AC+1,36522 ;LOW PRODUCT FAILED
|
|
14592 757777 777777 AEE=XX ;INITIAL C(E)
|
|
14593 042050 312 06 0 00 044103 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14594 042051 005 06 0 00 036523 ER5 E,36523 ;C(E) WAS CLOBBERED
|
|
14595 042052 321 12 0 00 042040 JUMPL AC+2,F36520 ;LOOP ON ERROR SWITCH^
|
|
14596
|
|
14597 003653 ADR=ADR+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-19
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0289
|
|
|
|
14598 737777 777777 XX=XX+XX+1
|
|
14599 IFE <XX-1>,<XX=-2>
|
|
14600
|
|
14601 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14602 040000 000001 MX=-XX
|
|
14603 000000 IFL XX,<V1=0>
|
|
14604 IFG XX,<V1=-1>
|
|
14605 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14606 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14607 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14608 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14609 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14610
|
|
14611 777777 777777 F36530: AA1=-1 ;INITIAL C(AC)
|
|
14612 042053 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14613 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14614 042054 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14615 737777 777777 AEE=XX ;INITIAL C(E)
|
|
14616 042055 200 06 0 00 044104 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14617 042056 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14618 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14619 042057 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14620 042060 003 10 0 00 036531 ER3 AC,36531 ;HIGH PRODUCT FAILED
|
|
14621 040000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14622 042061 312 11 0 00 044230 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14623 042062 004 11 0 00 036532 ER4 AC+1,36532 ;LOW PRODUCT FAILED
|
|
14624 737777 777777 AEE=XX ;INITIAL C(E)
|
|
14625 042063 312 06 0 00 044104 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14626 042064 005 06 0 00 036533 ER5 E,36533 ;C(E) WAS CLOBBERED
|
|
14627 042065 321 12 0 00 042053 JUMPL AC+2,F36530 ;LOOP ON ERROR SWITCH^
|
|
14628
|
|
14629 003654 ADR=ADR+1
|
|
14630 677777 777777 XX=XX+XX+1
|
|
14631 IFE <XX-1>,<XX=-2>
|
|
14632
|
|
14633 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14634 100000 000001 MX=-XX
|
|
14635 000000 IFL XX,<V1=0>
|
|
14636 IFG XX,<V1=-1>
|
|
14637 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14638 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14639 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14640 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14641 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14642
|
|
14643 777777 777777 F36540: AA1=-1 ;INITIAL C(AC)
|
|
14644 042066 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14645 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14646 042067 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14647 677777 777777 AEE=XX ;INITIAL C(E)
|
|
14648 042070 200 06 0 00 044105 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14649 042071 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14650 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14651 042072 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14652 042073 003 10 0 00 036541 ER3 AC,36541 ;HIGH PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-20
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0290
|
|
|
|
14653 100000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14654 042074 312 11 0 00 044231 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14655 042075 004 11 0 00 036542 ER4 AC+1,36542 ;LOW PRODUCT FAILED
|
|
14656 677777 777777 AEE=XX ;INITIAL C(E)
|
|
14657 042076 312 06 0 00 044105 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14658 042077 005 06 0 00 036543 ER5 E,36543 ;C(E) WAS CLOBBERED
|
|
14659 042100 321 12 0 00 042066 JUMPL AC+2,F36540 ;LOOP ON ERROR SWITCH^
|
|
14660
|
|
14661 003655 ADR=ADR+1
|
|
14662 577777 777777 XX=XX+XX+1
|
|
14663 IFE <XX-1>,<XX=-2>
|
|
14664
|
|
14665 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14666 200000 000001 MX=-XX
|
|
14667 000000 IFL XX,<V1=0>
|
|
14668 IFG XX,<V1=-1>
|
|
14669 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14670 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14671 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14672 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14673 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14674
|
|
14675 777777 777777 F36550: AA1=-1 ;INITIAL C(AC)
|
|
14676 042101 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14677 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14678 042102 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14679 577777 777777 AEE=XX ;INITIAL C(E)
|
|
14680 042103 200 06 0 00 044106 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14681 042104 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14682 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14683 042105 312 10 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14684 042106 003 10 0 00 036551 ER3 AC,36551 ;HIGH PRODUCT FAILED
|
|
14685 200000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14686 042107 312 11 0 00 044232 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14687 042110 004 11 0 00 036552 ER4 AC+1,36552 ;LOW PRODUCT FAILED
|
|
14688 577777 777777 AEE=XX ;INITIAL C(E)
|
|
14689 042111 312 06 0 00 044106 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14690 042112 005 06 0 00 036553 ER5 E,36553 ;C(E) WAS CLOBBERED
|
|
14691 042113 321 12 0 00 042101 JUMPL AC+2,F36550 ;LOOP ON ERROR SWITCH^
|
|
14692
|
|
14693 003656 ADR=ADR+1
|
|
14694 377777 777777 XX=XX+XX+1
|
|
14695 IFE <XX-1>,<XX=-2>
|
|
14696
|
|
14697 ;MULTIPLY A RIPPLED 0 BY -1
|
|
14698 400000 000001 MX=-XX
|
|
14699 IFL XX,<V1=0>
|
|
14700 777777 777777 IFG XX,<V1=-1>
|
|
14701 MOP1 (\ADR,-1,-1,XX,V1,MX)^
|
|
14702 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [-1],[-1] AND
|
|
14703 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14704 ;AND E AGAINST [V1], [MX] AND [XX] RESPECTIVELY.
|
|
14705 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14706
|
|
14707 777777 777777 F36560: AA1=-1 ;INITIAL C(AC)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 18-21
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0291
|
|
|
|
14708 042114 200 10 0 00 043777 MOVE AC,[-1] ;PRELOAD AC (MULTIPLIER)
|
|
14709 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14710 042115 200 11 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14711 377777 777777 AEE=XX ;INITIAL C(E)
|
|
14712 042116 200 06 0 00 044107 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
14713 042117 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14714 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14715 042120 312 10 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14716 042121 003 10 0 00 036561 ER3 AC,36561 ;HIGH PRODUCT FAILED
|
|
14717 400000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14718 042122 312 11 0 00 044233 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14719 042123 004 11 0 00 036562 ER4 AC+1,36562 ;LOW PRODUCT FAILED
|
|
14720 377777 777777 AEE=XX ;INITIAL C(E)
|
|
14721 042124 312 06 0 00 044107 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
14722 042125 005 06 0 00 036563 ER5 E,36563 ;C(E) WAS CLOBBERED
|
|
14723 042126 321 12 0 00 042114 JUMPL AC+2,F36560 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0292
|
|
|
|
14724 000014 AC=14
|
|
14725 000012 E=<AC-2>&17
|
|
14726 SAVEAC (1,1)^
|
|
14727 042127 201 16 0 00 042127 MOVEI AC+2,. ;SAVE TEST PC
|
|
14728 042130 202 16 0 00 030051 MOVEM AC+2,TESTPC
|
|
14729 042131 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
14730 042132 202 16 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
14731 000000 XX=0
|
|
14732
|
|
14733 REPEAT ^D36, <
|
|
14734 ADR=ADR+1
|
|
14735 XX=XX+XX+1
|
|
14736 IFE <XX-1>,<XX=-2>
|
|
14737
|
|
14738 ;MULTIPLY -1 BY A RIPPLED 0
|
|
14739 MX=-XX
|
|
14740 IFL XX,<V1=0>
|
|
14741 IFG XX,<V1=-1>
|
|
14742 MOP1 (\ADR,XX,-1,-1,V1,MX)>
|
|
14743
|
|
14744 003657 ADR=ADR+1
|
|
14745 000001 XX=XX+XX+1
|
|
14746 777777 777776 IFE <XX-1>,<XX=-2>
|
|
14747
|
|
14748 ;MULTIPLY -1 BY A RIPPLED 0
|
|
14749 000002 MX=-XX
|
|
14750 000000 IFL XX,<V1=0>
|
|
14751 IFG XX,<V1=-1>
|
|
14752 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
14753 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
14754 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14755 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
14756 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14757
|
|
14758 777777 777776 F36570: AA1=XX ;INITIAL C(AC)
|
|
14759 042133 200 14 0 00 044044 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
14760 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14761 042134 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14762 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
14763 042135 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
14764 042136 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14765 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14766 042137 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14767 042140 003 14 0 00 036571 ER3 AC,36571 ;HIGH PRODUCT FAILED
|
|
14768 000002 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14769 042141 312 15 0 00 044001 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14770 042142 004 15 0 00 036572 ER4 AC+1,36572 ;LOW PRODUCT FAILED
|
|
14771 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
14772 042143 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
14773 042144 005 12 0 00 036573 ER5 E,36573 ;C(E) WAS CLOBBERED
|
|
14774 042145 321 16 0 00 042133 JUMPL AC+2,F36570 ;LOOP ON ERROR SWITCH^
|
|
14775
|
|
14776 003660 ADR=ADR+1
|
|
14777 777777 777775 XX=XX+XX+1
|
|
14778 IFE <XX-1>,<XX=-2>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-1
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0293
|
|
|
|
14779
|
|
14780 ;MULTIPLY -1 BY A RIPPLED 0
|
|
14781 000003 MX=-XX
|
|
14782 000000 IFL XX,<V1=0>
|
|
14783 IFG XX,<V1=-1>
|
|
14784 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
14785 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
14786 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14787 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
14788 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14789
|
|
14790 777777 777775 F36600: AA1=XX ;INITIAL C(AC)
|
|
14791 042146 200 14 0 00 044045 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
14792 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14793 042147 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14794 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
14795 042150 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
14796 042151 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14797 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14798 042152 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14799 042153 003 14 0 00 036601 ER3 AC,36601 ;HIGH PRODUCT FAILED
|
|
14800 000003 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14801 042154 312 15 0 00 044110 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14802 042155 004 15 0 00 036602 ER4 AC+1,36602 ;LOW PRODUCT FAILED
|
|
14803 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
14804 042156 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
14805 042157 005 12 0 00 036603 ER5 E,36603 ;C(E) WAS CLOBBERED
|
|
14806 042160 321 16 0 00 042146 JUMPL AC+2,F36600 ;LOOP ON ERROR SWITCH^
|
|
14807
|
|
14808 003661 ADR=ADR+1
|
|
14809 777777 777773 XX=XX+XX+1
|
|
14810 IFE <XX-1>,<XX=-2>
|
|
14811
|
|
14812 ;MULTIPLY -1 BY A RIPPLED 0
|
|
14813 000005 MX=-XX
|
|
14814 000000 IFL XX,<V1=0>
|
|
14815 IFG XX,<V1=-1>
|
|
14816 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
14817 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
14818 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14819 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
14820 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14821
|
|
14822 777777 777773 F36610: AA1=XX ;INITIAL C(AC)
|
|
14823 042161 200 14 0 00 044046 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
14824 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14825 042162 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14826 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
14827 042163 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
14828 042164 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14829 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14830 042165 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14831 042166 003 14 0 00 036611 ER3 AC,36611 ;HIGH PRODUCT FAILED
|
|
14832 000005 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14833 042167 312 15 0 00 044111 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-2
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0294
|
|
|
|
14834 042170 004 15 0 00 036612 ER4 AC+1,36612 ;LOW PRODUCT FAILED
|
|
14835 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
14836 042171 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
14837 042172 005 12 0 00 036613 ER5 E,36613 ;C(E) WAS CLOBBERED
|
|
14838 042173 321 16 0 00 042161 JUMPL AC+2,F36610 ;LOOP ON ERROR SWITCH^
|
|
14839
|
|
14840 003662 ADR=ADR+1
|
|
14841 777777 777767 XX=XX+XX+1
|
|
14842 IFE <XX-1>,<XX=-2>
|
|
14843
|
|
14844 ;MULTIPLY -1 BY A RIPPLED 0
|
|
14845 000011 MX=-XX
|
|
14846 000000 IFL XX,<V1=0>
|
|
14847 IFG XX,<V1=-1>
|
|
14848 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
14849 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
14850 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14851 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
14852 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14853
|
|
14854 777777 777767 F36620: AA1=XX ;INITIAL C(AC)
|
|
14855 042174 200 14 0 00 044047 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
14856 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14857 042175 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14858 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
14859 042176 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
14860 042177 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14861 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14862 042200 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14863 042201 003 14 0 00 036621 ER3 AC,36621 ;HIGH PRODUCT FAILED
|
|
14864 000011 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14865 042202 312 15 0 00 044114 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14866 042203 004 15 0 00 036622 ER4 AC+1,36622 ;LOW PRODUCT FAILED
|
|
14867 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
14868 042204 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
14869 042205 005 12 0 00 036623 ER5 E,36623 ;C(E) WAS CLOBBERED
|
|
14870 042206 321 16 0 00 042174 JUMPL AC+2,F36620 ;LOOP ON ERROR SWITCH^
|
|
14871
|
|
14872 003663 ADR=ADR+1
|
|
14873 777777 777757 XX=XX+XX+1
|
|
14874 IFE <XX-1>,<XX=-2>
|
|
14875
|
|
14876 ;MULTIPLY -1 BY A RIPPLED 0
|
|
14877 000021 MX=-XX
|
|
14878 000000 IFL XX,<V1=0>
|
|
14879 IFG XX,<V1=-1>
|
|
14880 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
14881 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
14882 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14883 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
14884 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14885
|
|
14886 777777 777757 F36630: AA1=XX ;INITIAL C(AC)
|
|
14887 042207 200 14 0 00 044050 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
14888 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-3
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0295
|
|
|
|
14889 042210 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14890 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
14891 042211 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
14892 042212 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14893 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14894 042213 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14895 042214 003 14 0 00 036631 ER3 AC,36631 ;HIGH PRODUCT FAILED
|
|
14896 000021 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14897 042215 312 15 0 00 044174 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14898 042216 004 15 0 00 036632 ER4 AC+1,36632 ;LOW PRODUCT FAILED
|
|
14899 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
14900 042217 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
14901 042220 005 12 0 00 036633 ER5 E,36633 ;C(E) WAS CLOBBERED
|
|
14902 042221 321 16 0 00 042207 JUMPL AC+2,F36630 ;LOOP ON ERROR SWITCH^
|
|
14903
|
|
14904 003664 ADR=ADR+1
|
|
14905 777777 777737 XX=XX+XX+1
|
|
14906 IFE <XX-1>,<XX=-2>
|
|
14907
|
|
14908 ;MULTIPLY -1 BY A RIPPLED 0
|
|
14909 000041 MX=-XX
|
|
14910 000000 IFL XX,<V1=0>
|
|
14911 IFG XX,<V1=-1>
|
|
14912 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
14913 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
14914 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14915 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
14916 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14917
|
|
14918 777777 777737 F36640: AA1=XX ;INITIAL C(AC)
|
|
14919 042222 200 14 0 00 044051 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
14920 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14921 042223 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14922 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
14923 042224 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
14924 042225 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14925 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14926 042226 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14927 042227 003 14 0 00 036641 ER3 AC,36641 ;HIGH PRODUCT FAILED
|
|
14928 000041 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14929 042230 312 15 0 00 044175 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14930 042231 004 15 0 00 036642 ER4 AC+1,36642 ;LOW PRODUCT FAILED
|
|
14931 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
14932 042232 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
14933 042233 005 12 0 00 036643 ER5 E,36643 ;C(E) WAS CLOBBERED
|
|
14934 042234 321 16 0 00 042222 JUMPL AC+2,F36640 ;LOOP ON ERROR SWITCH^
|
|
14935
|
|
14936 003665 ADR=ADR+1
|
|
14937 777777 777677 XX=XX+XX+1
|
|
14938 IFE <XX-1>,<XX=-2>
|
|
14939
|
|
14940 ;MULTIPLY -1 BY A RIPPLED 0
|
|
14941 000101 MX=-XX
|
|
14942 000000 IFL XX,<V1=0>
|
|
14943 IFG XX,<V1=-1>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-4
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0296
|
|
|
|
14944 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
14945 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
14946 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14947 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
14948 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14949
|
|
14950 777777 777677 F36650: AA1=XX ;INITIAL C(AC)
|
|
14951 042235 200 14 0 00 044052 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
14952 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14953 042236 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14954 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
14955 042237 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
14956 042240 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14957 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14958 042241 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14959 042242 003 14 0 00 036651 ER3 AC,36651 ;HIGH PRODUCT FAILED
|
|
14960 000101 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14961 042243 312 15 0 00 044176 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14962 042244 004 15 0 00 036652 ER4 AC+1,36652 ;LOW PRODUCT FAILED
|
|
14963 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
14964 042245 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
14965 042246 005 12 0 00 036653 ER5 E,36653 ;C(E) WAS CLOBBERED
|
|
14966 042247 321 16 0 00 042235 JUMPL AC+2,F36650 ;LOOP ON ERROR SWITCH^
|
|
14967
|
|
14968 003666 ADR=ADR+1
|
|
14969 777777 777577 XX=XX+XX+1
|
|
14970 IFE <XX-1>,<XX=-2>
|
|
14971
|
|
14972 ;MULTIPLY -1 BY A RIPPLED 0
|
|
14973 000201 MX=-XX
|
|
14974 000000 IFL XX,<V1=0>
|
|
14975 IFG XX,<V1=-1>
|
|
14976 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
14977 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
14978 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
14979 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
14980 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
14981
|
|
14982 777777 777577 F36660: AA1=XX ;INITIAL C(AC)
|
|
14983 042250 200 14 0 00 044053 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
14984 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
14985 042251 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
14986 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
14987 042252 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
14988 042253 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
14989 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
14990 042254 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
14991 042255 003 14 0 00 036661 ER3 AC,36661 ;HIGH PRODUCT FAILED
|
|
14992 000201 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
14993 042256 312 15 0 00 044177 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
14994 042257 004 15 0 00 036662 ER4 AC+1,36662 ;LOW PRODUCT FAILED
|
|
14995 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
14996 042260 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
14997 042261 005 12 0 00 036663 ER5 E,36663 ;C(E) WAS CLOBBERED
|
|
14998 042262 321 16 0 00 042250 JUMPL AC+2,F36660 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-5
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0297
|
|
|
|
14999
|
|
15000 003667 ADR=ADR+1
|
|
15001 777777 777377 XX=XX+XX+1
|
|
15002 IFE <XX-1>,<XX=-2>
|
|
15003
|
|
15004 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15005 000401 MX=-XX
|
|
15006 000000 IFL XX,<V1=0>
|
|
15007 IFG XX,<V1=-1>
|
|
15008 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15009 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15010 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15011 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15012 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15013
|
|
15014 777777 777377 F36670: AA1=XX ;INITIAL C(AC)
|
|
15015 042263 200 14 0 00 044054 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15016 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15017 042264 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15018 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15019 042265 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15020 042266 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15021 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15022 042267 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15023 042270 003 14 0 00 036671 ER3 AC,36671 ;HIGH PRODUCT FAILED
|
|
15024 000401 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15025 042271 312 15 0 00 044200 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15026 042272 004 15 0 00 036672 ER4 AC+1,36672 ;LOW PRODUCT FAILED
|
|
15027 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15028 042273 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15029 042274 005 12 0 00 036673 ER5 E,36673 ;C(E) WAS CLOBBERED
|
|
15030 042275 321 16 0 00 042263 JUMPL AC+2,F36670 ;LOOP ON ERROR SWITCH^
|
|
15031
|
|
15032 003670 ADR=ADR+1
|
|
15033 777777 776777 XX=XX+XX+1
|
|
15034 IFE <XX-1>,<XX=-2>
|
|
15035
|
|
15036 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15037 001001 MX=-XX
|
|
15038 000000 IFL XX,<V1=0>
|
|
15039 IFG XX,<V1=-1>
|
|
15040 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15041 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15042 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15043 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15044 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15045
|
|
15046 777777 776777 F36700: AA1=XX ;INITIAL C(AC)
|
|
15047 042276 200 14 0 00 044055 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15048 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15049 042277 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15050 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15051 042300 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15052 042301 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15053 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-6
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0298
|
|
|
|
15054 042302 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15055 042303 003 14 0 00 036701 ER3 AC,36701 ;HIGH PRODUCT FAILED
|
|
15056 001001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15057 042304 312 15 0 00 044201 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15058 042305 004 15 0 00 036702 ER4 AC+1,36702 ;LOW PRODUCT FAILED
|
|
15059 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15060 042306 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15061 042307 005 12 0 00 036703 ER5 E,36703 ;C(E) WAS CLOBBERED
|
|
15062 042310 321 16 0 00 042276 JUMPL AC+2,F36700 ;LOOP ON ERROR SWITCH^
|
|
15063
|
|
15064 003671 ADR=ADR+1
|
|
15065 777777 775777 XX=XX+XX+1
|
|
15066 IFE <XX-1>,<XX=-2>
|
|
15067
|
|
15068 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15069 002001 MX=-XX
|
|
15070 000000 IFL XX,<V1=0>
|
|
15071 IFG XX,<V1=-1>
|
|
15072 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15073 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15074 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15075 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15076 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15077
|
|
15078 777777 775777 F36710: AA1=XX ;INITIAL C(AC)
|
|
15079 042311 200 14 0 00 044056 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15080 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15081 042312 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15082 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15083 042313 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15084 042314 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15085 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15086 042315 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15087 042316 003 14 0 00 036711 ER3 AC,36711 ;HIGH PRODUCT FAILED
|
|
15088 002001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15089 042317 312 15 0 00 044202 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15090 042320 004 15 0 00 036712 ER4 AC+1,36712 ;LOW PRODUCT FAILED
|
|
15091 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15092 042321 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15093 042322 005 12 0 00 036713 ER5 E,36713 ;C(E) WAS CLOBBERED
|
|
15094 042323 321 16 0 00 042311 JUMPL AC+2,F36710 ;LOOP ON ERROR SWITCH^
|
|
15095
|
|
15096 003672 ADR=ADR+1
|
|
15097 777777 773777 XX=XX+XX+1
|
|
15098 IFE <XX-1>,<XX=-2>
|
|
15099
|
|
15100 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15101 004001 MX=-XX
|
|
15102 000000 IFL XX,<V1=0>
|
|
15103 IFG XX,<V1=-1>
|
|
15104 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15105 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15106 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15107 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15108 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-7
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0299
|
|
|
|
15109
|
|
15110 777777 773777 F36720: AA1=XX ;INITIAL C(AC)
|
|
15111 042324 200 14 0 00 044057 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15112 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15113 042325 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15114 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15115 042326 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15116 042327 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15117 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15118 042330 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15119 042331 003 14 0 00 036721 ER3 AC,36721 ;HIGH PRODUCT FAILED
|
|
15120 004001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15121 042332 312 15 0 00 044203 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15122 042333 004 15 0 00 036722 ER4 AC+1,36722 ;LOW PRODUCT FAILED
|
|
15123 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15124 042334 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15125 042335 005 12 0 00 036723 ER5 E,36723 ;C(E) WAS CLOBBERED
|
|
15126 042336 321 16 0 00 042324 JUMPL AC+2,F36720 ;LOOP ON ERROR SWITCH^
|
|
15127
|
|
15128 003673 ADR=ADR+1
|
|
15129 777777 767777 XX=XX+XX+1
|
|
15130 IFE <XX-1>,<XX=-2>
|
|
15131
|
|
15132 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15133 010001 MX=-XX
|
|
15134 000000 IFL XX,<V1=0>
|
|
15135 IFG XX,<V1=-1>
|
|
15136 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15137 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15138 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15139 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15140 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15141
|
|
15142 777777 767777 F36730: AA1=XX ;INITIAL C(AC)
|
|
15143 042337 200 14 0 00 044060 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15144 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15145 042340 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15146 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15147 042341 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15148 042342 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15149 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15150 042343 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15151 042344 003 14 0 00 036731 ER3 AC,36731 ;HIGH PRODUCT FAILED
|
|
15152 010001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15153 042345 312 15 0 00 044204 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15154 042346 004 15 0 00 036732 ER4 AC+1,36732 ;LOW PRODUCT FAILED
|
|
15155 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15156 042347 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15157 042350 005 12 0 00 036733 ER5 E,36733 ;C(E) WAS CLOBBERED
|
|
15158 042351 321 16 0 00 042337 JUMPL AC+2,F36730 ;LOOP ON ERROR SWITCH^
|
|
15159
|
|
15160 003674 ADR=ADR+1
|
|
15161 777777 757777 XX=XX+XX+1
|
|
15162 IFE <XX-1>,<XX=-2>
|
|
15163
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-8
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0300
|
|
|
|
15164 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15165 020001 MX=-XX
|
|
15166 000000 IFL XX,<V1=0>
|
|
15167 IFG XX,<V1=-1>
|
|
15168 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15169 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15170 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15171 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15172 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15173
|
|
15174 777777 757777 F36740: AA1=XX ;INITIAL C(AC)
|
|
15175 042352 200 14 0 00 044061 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15176 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15177 042353 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15178 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15179 042354 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15180 042355 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15181 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15182 042356 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15183 042357 003 14 0 00 036741 ER3 AC,36741 ;HIGH PRODUCT FAILED
|
|
15184 020001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15185 042360 312 15 0 00 044205 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15186 042361 004 15 0 00 036742 ER4 AC+1,36742 ;LOW PRODUCT FAILED
|
|
15187 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15188 042362 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15189 042363 005 12 0 00 036743 ER5 E,36743 ;C(E) WAS CLOBBERED
|
|
15190 042364 321 16 0 00 042352 JUMPL AC+2,F36740 ;LOOP ON ERROR SWITCH^
|
|
15191
|
|
15192 003675 ADR=ADR+1
|
|
15193 777777 737777 XX=XX+XX+1
|
|
15194 IFE <XX-1>,<XX=-2>
|
|
15195
|
|
15196 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15197 040001 MX=-XX
|
|
15198 000000 IFL XX,<V1=0>
|
|
15199 IFG XX,<V1=-1>
|
|
15200 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15201 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15202 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15203 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15204 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15205
|
|
15206 777777 737777 F36750: AA1=XX ;INITIAL C(AC)
|
|
15207 042365 200 14 0 00 044062 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15208 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15209 042366 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15210 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15211 042367 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15212 042370 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15213 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15214 042371 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15215 042372 003 14 0 00 036751 ER3 AC,36751 ;HIGH PRODUCT FAILED
|
|
15216 040001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15217 042373 312 15 0 00 044206 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15218 042374 004 15 0 00 036752 ER4 AC+1,36752 ;LOW PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-9
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0301
|
|
|
|
15219 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15220 042375 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15221 042376 005 12 0 00 036753 ER5 E,36753 ;C(E) WAS CLOBBERED
|
|
15222 042377 321 16 0 00 042365 JUMPL AC+2,F36750 ;LOOP ON ERROR SWITCH^
|
|
15223
|
|
15224 003676 ADR=ADR+1
|
|
15225 777777 677777 XX=XX+XX+1
|
|
15226 IFE <XX-1>,<XX=-2>
|
|
15227
|
|
15228 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15229 100001 MX=-XX
|
|
15230 000000 IFL XX,<V1=0>
|
|
15231 IFG XX,<V1=-1>
|
|
15232 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15233 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15234 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15235 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15236 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15237
|
|
15238 777777 677777 F36760: AA1=XX ;INITIAL C(AC)
|
|
15239 042400 200 14 0 00 044063 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15240 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15241 042401 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15242 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15243 042402 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15244 042403 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15245 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15246 042404 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15247 042405 003 14 0 00 036761 ER3 AC,36761 ;HIGH PRODUCT FAILED
|
|
15248 100001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15249 042406 312 15 0 00 044207 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15250 042407 004 15 0 00 036762 ER4 AC+1,36762 ;LOW PRODUCT FAILED
|
|
15251 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15252 042410 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15253 042411 005 12 0 00 036763 ER5 E,36763 ;C(E) WAS CLOBBERED
|
|
15254 042412 321 16 0 00 042400 JUMPL AC+2,F36760 ;LOOP ON ERROR SWITCH^
|
|
15255
|
|
15256 003677 ADR=ADR+1
|
|
15257 777777 577777 XX=XX+XX+1
|
|
15258 IFE <XX-1>,<XX=-2>
|
|
15259
|
|
15260 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15261 200001 MX=-XX
|
|
15262 000000 IFL XX,<V1=0>
|
|
15263 IFG XX,<V1=-1>
|
|
15264 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15265 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15266 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15267 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15268 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15269
|
|
15270 777777 577777 F36770: AA1=XX ;INITIAL C(AC)
|
|
15271 042413 200 14 0 00 044064 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15272 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15273 042414 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-10
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0302
|
|
|
|
15274 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15275 042415 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15276 042416 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15277 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15278 042417 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15279 042420 003 14 0 00 036771 ER3 AC,36771 ;HIGH PRODUCT FAILED
|
|
15280 200001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15281 042421 312 15 0 00 044210 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15282 042422 004 15 0 00 036772 ER4 AC+1,36772 ;LOW PRODUCT FAILED
|
|
15283 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15284 042423 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15285 042424 005 12 0 00 036773 ER5 E,36773 ;C(E) WAS CLOBBERED
|
|
15286 042425 321 16 0 00 042413 JUMPL AC+2,F36770 ;LOOP ON ERROR SWITCH^
|
|
15287
|
|
15288 003700 ADR=ADR+1
|
|
15289 777777 377777 XX=XX+XX+1
|
|
15290 IFE <XX-1>,<XX=-2>
|
|
15291
|
|
15292 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15293 400001 MX=-XX
|
|
15294 000000 IFL XX,<V1=0>
|
|
15295 IFG XX,<V1=-1>
|
|
15296 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15297 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15298 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15299 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15300 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15301
|
|
15302 777777 377777 F37000: AA1=XX ;INITIAL C(AC)
|
|
15303 042426 200 14 0 00 044065 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15304 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15305 042427 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15306 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15307 042430 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15308 042431 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15309 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15310 042432 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15311 042433 003 14 0 00 037001 ER3 AC,37001 ;HIGH PRODUCT FAILED
|
|
15312 400001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15313 042434 312 15 0 00 044211 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15314 042435 004 15 0 00 037002 ER4 AC+1,37002 ;LOW PRODUCT FAILED
|
|
15315 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15316 042436 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15317 042437 005 12 0 00 037003 ER5 E,37003 ;C(E) WAS CLOBBERED
|
|
15318 042440 321 16 0 00 042426 JUMPL AC+2,F37000 ;LOOP ON ERROR SWITCH^
|
|
15319
|
|
15320 003701 ADR=ADR+1
|
|
15321 777776 777777 XX=XX+XX+1
|
|
15322 IFE <XX-1>,<XX=-2>
|
|
15323
|
|
15324 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15325 000001 000001 MX=-XX
|
|
15326 000000 IFL XX,<V1=0>
|
|
15327 IFG XX,<V1=-1>
|
|
15328 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-11
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0303
|
|
|
|
15329 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15330 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15331 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15332 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15333
|
|
15334 777776 777777 F37010: AA1=XX ;INITIAL C(AC)
|
|
15335 042441 200 14 0 00 044066 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15336 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15337 042442 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15338 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15339 042443 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15340 042444 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15341 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15342 042445 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15343 042446 003 14 0 00 037011 ER3 AC,37011 ;HIGH PRODUCT FAILED
|
|
15344 000001 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15345 042447 312 15 0 00 044212 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15346 042450 004 15 0 00 037012 ER4 AC+1,37012 ;LOW PRODUCT FAILED
|
|
15347 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15348 042451 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15349 042452 005 12 0 00 037013 ER5 E,37013 ;C(E) WAS CLOBBERED
|
|
15350 042453 321 16 0 00 042441 JUMPL AC+2,F37010 ;LOOP ON ERROR SWITCH^
|
|
15351
|
|
15352 003702 ADR=ADR+1
|
|
15353 777775 777777 XX=XX+XX+1
|
|
15354 IFE <XX-1>,<XX=-2>
|
|
15355
|
|
15356 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15357 000002 000001 MX=-XX
|
|
15358 000000 IFL XX,<V1=0>
|
|
15359 IFG XX,<V1=-1>
|
|
15360 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15361 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15362 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15363 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15364 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15365
|
|
15366 777775 777777 F37020: AA1=XX ;INITIAL C(AC)
|
|
15367 042454 200 14 0 00 044067 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15368 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15369 042455 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15370 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15371 042456 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15372 042457 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15373 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15374 042460 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15375 042461 003 14 0 00 037021 ER3 AC,37021 ;HIGH PRODUCT FAILED
|
|
15376 000002 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15377 042462 312 15 0 00 044213 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15378 042463 004 15 0 00 037022 ER4 AC+1,37022 ;LOW PRODUCT FAILED
|
|
15379 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15380 042464 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15381 042465 005 12 0 00 037023 ER5 E,37023 ;C(E) WAS CLOBBERED
|
|
15382 042466 321 16 0 00 042454 JUMPL AC+2,F37020 ;LOOP ON ERROR SWITCH^
|
|
15383
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-12
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0304
|
|
|
|
15384 003703 ADR=ADR+1
|
|
15385 777773 777777 XX=XX+XX+1
|
|
15386 IFE <XX-1>,<XX=-2>
|
|
15387
|
|
15388 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15389 000004 000001 MX=-XX
|
|
15390 000000 IFL XX,<V1=0>
|
|
15391 IFG XX,<V1=-1>
|
|
15392 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15393 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15394 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15395 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15396 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15397
|
|
15398 777773 777777 F37030: AA1=XX ;INITIAL C(AC)
|
|
15399 042467 200 14 0 00 044070 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15400 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15401 042470 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15402 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15403 042471 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15404 042472 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15405 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15406 042473 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15407 042474 003 14 0 00 037031 ER3 AC,37031 ;HIGH PRODUCT FAILED
|
|
15408 000004 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15409 042475 312 15 0 00 044214 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15410 042476 004 15 0 00 037032 ER4 AC+1,37032 ;LOW PRODUCT FAILED
|
|
15411 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15412 042477 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15413 042500 005 12 0 00 037033 ER5 E,37033 ;C(E) WAS CLOBBERED
|
|
15414 042501 321 16 0 00 042467 JUMPL AC+2,F37030 ;LOOP ON ERROR SWITCH^
|
|
15415
|
|
15416 003704 ADR=ADR+1
|
|
15417 777767 777777 XX=XX+XX+1
|
|
15418 IFE <XX-1>,<XX=-2>
|
|
15419
|
|
15420 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15421 000010 000001 MX=-XX
|
|
15422 000000 IFL XX,<V1=0>
|
|
15423 IFG XX,<V1=-1>
|
|
15424 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15425 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15426 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15427 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15428 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15429
|
|
15430 777767 777777 F37040: AA1=XX ;INITIAL C(AC)
|
|
15431 042502 200 14 0 00 044071 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15432 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15433 042503 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15434 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15435 042504 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15436 042505 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15437 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15438 042506 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-13
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0305
|
|
|
|
15439 042507 003 14 0 00 037041 ER3 AC,37041 ;HIGH PRODUCT FAILED
|
|
15440 000010 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15441 042510 312 15 0 00 044215 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15442 042511 004 15 0 00 037042 ER4 AC+1,37042 ;LOW PRODUCT FAILED
|
|
15443 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15444 042512 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15445 042513 005 12 0 00 037043 ER5 E,37043 ;C(E) WAS CLOBBERED
|
|
15446 042514 321 16 0 00 042502 JUMPL AC+2,F37040 ;LOOP ON ERROR SWITCH^
|
|
15447
|
|
15448 003705 ADR=ADR+1
|
|
15449 777757 777777 XX=XX+XX+1
|
|
15450 IFE <XX-1>,<XX=-2>
|
|
15451
|
|
15452 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15453 000020 000001 MX=-XX
|
|
15454 000000 IFL XX,<V1=0>
|
|
15455 IFG XX,<V1=-1>
|
|
15456 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15457 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15458 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15459 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15460 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15461
|
|
15462 777757 777777 F37050: AA1=XX ;INITIAL C(AC)
|
|
15463 042515 200 14 0 00 044072 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15464 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15465 042516 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15466 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15467 042517 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15468 042520 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15469 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15470 042521 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15471 042522 003 14 0 00 037051 ER3 AC,37051 ;HIGH PRODUCT FAILED
|
|
15472 000020 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15473 042523 312 15 0 00 044216 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15474 042524 004 15 0 00 037052 ER4 AC+1,37052 ;LOW PRODUCT FAILED
|
|
15475 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15476 042525 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15477 042526 005 12 0 00 037053 ER5 E,37053 ;C(E) WAS CLOBBERED
|
|
15478 042527 321 16 0 00 042515 JUMPL AC+2,F37050 ;LOOP ON ERROR SWITCH^
|
|
15479
|
|
15480 003706 ADR=ADR+1
|
|
15481 777737 777777 XX=XX+XX+1
|
|
15482 IFE <XX-1>,<XX=-2>
|
|
15483
|
|
15484 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15485 000040 000001 MX=-XX
|
|
15486 000000 IFL XX,<V1=0>
|
|
15487 IFG XX,<V1=-1>
|
|
15488 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15489 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15490 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15491 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15492 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15493
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-14
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0306
|
|
|
|
15494 777737 777777 F37060: AA1=XX ;INITIAL C(AC)
|
|
15495 042530 200 14 0 00 044073 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15496 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15497 042531 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15498 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15499 042532 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15500 042533 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15501 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15502 042534 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15503 042535 003 14 0 00 037061 ER3 AC,37061 ;HIGH PRODUCT FAILED
|
|
15504 000040 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15505 042536 312 15 0 00 044217 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15506 042537 004 15 0 00 037062 ER4 AC+1,37062 ;LOW PRODUCT FAILED
|
|
15507 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15508 042540 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15509 042541 005 12 0 00 037063 ER5 E,37063 ;C(E) WAS CLOBBERED
|
|
15510 042542 321 16 0 00 042530 JUMPL AC+2,F37060 ;LOOP ON ERROR SWITCH^
|
|
15511
|
|
15512 003707 ADR=ADR+1
|
|
15513 777677 777777 XX=XX+XX+1
|
|
15514 IFE <XX-1>,<XX=-2>
|
|
15515
|
|
15516 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15517 000100 000001 MX=-XX
|
|
15518 000000 IFL XX,<V1=0>
|
|
15519 IFG XX,<V1=-1>
|
|
15520 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15521 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15522 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15523 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15524 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15525
|
|
15526 777677 777777 F37070: AA1=XX ;INITIAL C(AC)
|
|
15527 042543 200 14 0 00 044074 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15528 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15529 042544 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15530 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15531 042545 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15532 042546 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15533 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15534 042547 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15535 042550 003 14 0 00 037071 ER3 AC,37071 ;HIGH PRODUCT FAILED
|
|
15536 000100 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15537 042551 312 15 0 00 044220 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15538 042552 004 15 0 00 037072 ER4 AC+1,37072 ;LOW PRODUCT FAILED
|
|
15539 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15540 042553 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15541 042554 005 12 0 00 037073 ER5 E,37073 ;C(E) WAS CLOBBERED
|
|
15542 042555 321 16 0 00 042543 JUMPL AC+2,F37070 ;LOOP ON ERROR SWITCH^
|
|
15543
|
|
15544 003710 ADR=ADR+1
|
|
15545 777577 777777 XX=XX+XX+1
|
|
15546 IFE <XX-1>,<XX=-2>
|
|
15547
|
|
15548 ;MULTIPLY -1 BY A RIPPLED 0
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-15
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0307
|
|
|
|
15549 000200 000001 MX=-XX
|
|
15550 000000 IFL XX,<V1=0>
|
|
15551 IFG XX,<V1=-1>
|
|
15552 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15553 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15554 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15555 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15556 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15557
|
|
15558 777577 777777 F37100: AA1=XX ;INITIAL C(AC)
|
|
15559 042556 200 14 0 00 044075 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15560 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15561 042557 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15562 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15563 042560 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15564 042561 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15565 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15566 042562 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15567 042563 003 14 0 00 037101 ER3 AC,37101 ;HIGH PRODUCT FAILED
|
|
15568 000200 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15569 042564 312 15 0 00 044221 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15570 042565 004 15 0 00 037102 ER4 AC+1,37102 ;LOW PRODUCT FAILED
|
|
15571 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15572 042566 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15573 042567 005 12 0 00 037103 ER5 E,37103 ;C(E) WAS CLOBBERED
|
|
15574 042570 321 16 0 00 042556 JUMPL AC+2,F37100 ;LOOP ON ERROR SWITCH^
|
|
15575
|
|
15576 003711 ADR=ADR+1
|
|
15577 777377 777777 XX=XX+XX+1
|
|
15578 IFE <XX-1>,<XX=-2>
|
|
15579
|
|
15580 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15581 000400 000001 MX=-XX
|
|
15582 000000 IFL XX,<V1=0>
|
|
15583 IFG XX,<V1=-1>
|
|
15584 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15585 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15586 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15587 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15588 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15589
|
|
15590 777377 777777 F37110: AA1=XX ;INITIAL C(AC)
|
|
15591 042571 200 14 0 00 044076 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15592 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15593 042572 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15594 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15595 042573 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15596 042574 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15597 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15598 042575 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15599 042576 003 14 0 00 037111 ER3 AC,37111 ;HIGH PRODUCT FAILED
|
|
15600 000400 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15601 042577 312 15 0 00 044222 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15602 042600 004 15 0 00 037112 ER4 AC+1,37112 ;LOW PRODUCT FAILED
|
|
15603 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-16
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0308
|
|
|
|
15604 042601 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15605 042602 005 12 0 00 037113 ER5 E,37113 ;C(E) WAS CLOBBERED
|
|
15606 042603 321 16 0 00 042571 JUMPL AC+2,F37110 ;LOOP ON ERROR SWITCH^
|
|
15607
|
|
15608 003712 ADR=ADR+1
|
|
15609 776777 777777 XX=XX+XX+1
|
|
15610 IFE <XX-1>,<XX=-2>
|
|
15611
|
|
15612 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15613 001000 000001 MX=-XX
|
|
15614 000000 IFL XX,<V1=0>
|
|
15615 IFG XX,<V1=-1>
|
|
15616 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15617 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15618 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15619 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15620 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15621
|
|
15622 776777 777777 F37120: AA1=XX ;INITIAL C(AC)
|
|
15623 042604 200 14 0 00 044077 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15624 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15625 042605 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15626 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15627 042606 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15628 042607 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15629 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15630 042610 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15631 042611 003 14 0 00 037121 ER3 AC,37121 ;HIGH PRODUCT FAILED
|
|
15632 001000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15633 042612 312 15 0 00 044223 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15634 042613 004 15 0 00 037122 ER4 AC+1,37122 ;LOW PRODUCT FAILED
|
|
15635 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15636 042614 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15637 042615 005 12 0 00 037123 ER5 E,37123 ;C(E) WAS CLOBBERED
|
|
15638 042616 321 16 0 00 042604 JUMPL AC+2,F37120 ;LOOP ON ERROR SWITCH^
|
|
15639
|
|
15640 003713 ADR=ADR+1
|
|
15641 775777 777777 XX=XX+XX+1
|
|
15642 IFE <XX-1>,<XX=-2>
|
|
15643
|
|
15644 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15645 002000 000001 MX=-XX
|
|
15646 000000 IFL XX,<V1=0>
|
|
15647 IFG XX,<V1=-1>
|
|
15648 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15649 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15650 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15651 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15652 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15653
|
|
15654 775777 777777 F37130: AA1=XX ;INITIAL C(AC)
|
|
15655 042617 200 14 0 00 044100 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15656 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15657 042620 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15658 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-17
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0309
|
|
|
|
15659 042621 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15660 042622 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15661 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15662 042623 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15663 042624 003 14 0 00 037131 ER3 AC,37131 ;HIGH PRODUCT FAILED
|
|
15664 002000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15665 042625 312 15 0 00 044224 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15666 042626 004 15 0 00 037132 ER4 AC+1,37132 ;LOW PRODUCT FAILED
|
|
15667 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15668 042627 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15669 042630 005 12 0 00 037133 ER5 E,37133 ;C(E) WAS CLOBBERED
|
|
15670 042631 321 16 0 00 042617 JUMPL AC+2,F37130 ;LOOP ON ERROR SWITCH^
|
|
15671
|
|
15672 003714 ADR=ADR+1
|
|
15673 773777 777777 XX=XX+XX+1
|
|
15674 IFE <XX-1>,<XX=-2>
|
|
15675
|
|
15676 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15677 004000 000001 MX=-XX
|
|
15678 000000 IFL XX,<V1=0>
|
|
15679 IFG XX,<V1=-1>
|
|
15680 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15681 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15682 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15683 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15684 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15685
|
|
15686 773777 777777 F37140: AA1=XX ;INITIAL C(AC)
|
|
15687 042632 200 14 0 00 044101 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15688 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15689 042633 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15690 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15691 042634 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15692 042635 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15693 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15694 042636 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15695 042637 003 14 0 00 037141 ER3 AC,37141 ;HIGH PRODUCT FAILED
|
|
15696 004000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15697 042640 312 15 0 00 044225 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15698 042641 004 15 0 00 037142 ER4 AC+1,37142 ;LOW PRODUCT FAILED
|
|
15699 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15700 042642 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15701 042643 005 12 0 00 037143 ER5 E,37143 ;C(E) WAS CLOBBERED
|
|
15702 042644 321 16 0 00 042632 JUMPL AC+2,F37140 ;LOOP ON ERROR SWITCH^
|
|
15703
|
|
15704 003715 ADR=ADR+1
|
|
15705 767777 777777 XX=XX+XX+1
|
|
15706 IFE <XX-1>,<XX=-2>
|
|
15707
|
|
15708 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15709 010000 000001 MX=-XX
|
|
15710 000000 IFL XX,<V1=0>
|
|
15711 IFG XX,<V1=-1>
|
|
15712 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15713 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-18
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0310
|
|
|
|
15714 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15715 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15716 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15717
|
|
15718 767777 777777 F37150: AA1=XX ;INITIAL C(AC)
|
|
15719 042645 200 14 0 00 044102 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15720 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15721 042646 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15722 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15723 042647 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15724 042650 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15725 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15726 042651 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15727 042652 003 14 0 00 037151 ER3 AC,37151 ;HIGH PRODUCT FAILED
|
|
15728 010000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15729 042653 312 15 0 00 044226 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15730 042654 004 15 0 00 037152 ER4 AC+1,37152 ;LOW PRODUCT FAILED
|
|
15731 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15732 042655 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15733 042656 005 12 0 00 037153 ER5 E,37153 ;C(E) WAS CLOBBERED
|
|
15734 042657 321 16 0 00 042645 JUMPL AC+2,F37150 ;LOOP ON ERROR SWITCH^
|
|
15735
|
|
15736 003716 ADR=ADR+1
|
|
15737 757777 777777 XX=XX+XX+1
|
|
15738 IFE <XX-1>,<XX=-2>
|
|
15739
|
|
15740 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15741 020000 000001 MX=-XX
|
|
15742 000000 IFL XX,<V1=0>
|
|
15743 IFG XX,<V1=-1>
|
|
15744 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15745 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15746 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15747 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15748 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15749
|
|
15750 757777 777777 F37160: AA1=XX ;INITIAL C(AC)
|
|
15751 042660 200 14 0 00 044103 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15752 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15753 042661 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15754 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15755 042662 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15756 042663 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15757 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15758 042664 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15759 042665 003 14 0 00 037161 ER3 AC,37161 ;HIGH PRODUCT FAILED
|
|
15760 020000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15761 042666 312 15 0 00 044227 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15762 042667 004 15 0 00 037162 ER4 AC+1,37162 ;LOW PRODUCT FAILED
|
|
15763 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15764 042670 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15765 042671 005 12 0 00 037163 ER5 E,37163 ;C(E) WAS CLOBBERED
|
|
15766 042672 321 16 0 00 042660 JUMPL AC+2,F37160 ;LOOP ON ERROR SWITCH^
|
|
15767
|
|
15768 003717 ADR=ADR+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-19
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0311
|
|
|
|
15769 737777 777777 XX=XX+XX+1
|
|
15770 IFE <XX-1>,<XX=-2>
|
|
15771
|
|
15772 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15773 040000 000001 MX=-XX
|
|
15774 000000 IFL XX,<V1=0>
|
|
15775 IFG XX,<V1=-1>
|
|
15776 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15777 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15778 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15779 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15780 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15781
|
|
15782 737777 777777 F37170: AA1=XX ;INITIAL C(AC)
|
|
15783 042673 200 14 0 00 044104 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15784 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15785 042674 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15786 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15787 042675 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15788 042676 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15789 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15790 042677 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15791 042700 003 14 0 00 037171 ER3 AC,37171 ;HIGH PRODUCT FAILED
|
|
15792 040000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15793 042701 312 15 0 00 044230 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15794 042702 004 15 0 00 037172 ER4 AC+1,37172 ;LOW PRODUCT FAILED
|
|
15795 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15796 042703 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15797 042704 005 12 0 00 037173 ER5 E,37173 ;C(E) WAS CLOBBERED
|
|
15798 042705 321 16 0 00 042673 JUMPL AC+2,F37170 ;LOOP ON ERROR SWITCH^
|
|
15799
|
|
15800 003720 ADR=ADR+1
|
|
15801 677777 777777 XX=XX+XX+1
|
|
15802 IFE <XX-1>,<XX=-2>
|
|
15803
|
|
15804 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15805 100000 000001 MX=-XX
|
|
15806 000000 IFL XX,<V1=0>
|
|
15807 IFG XX,<V1=-1>
|
|
15808 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15809 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15810 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15811 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15812 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15813
|
|
15814 677777 777777 F37200: AA1=XX ;INITIAL C(AC)
|
|
15815 042706 200 14 0 00 044105 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15816 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15817 042707 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15818 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15819 042710 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15820 042711 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15821 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15822 042712 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15823 042713 003 14 0 00 037201 ER3 AC,37201 ;HIGH PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-20
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0312
|
|
|
|
15824 100000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15825 042714 312 15 0 00 044231 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15826 042715 004 15 0 00 037202 ER4 AC+1,37202 ;LOW PRODUCT FAILED
|
|
15827 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15828 042716 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15829 042717 005 12 0 00 037203 ER5 E,37203 ;C(E) WAS CLOBBERED
|
|
15830 042720 321 16 0 00 042706 JUMPL AC+2,F37200 ;LOOP ON ERROR SWITCH^
|
|
15831
|
|
15832 003721 ADR=ADR+1
|
|
15833 577777 777777 XX=XX+XX+1
|
|
15834 IFE <XX-1>,<XX=-2>
|
|
15835
|
|
15836 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15837 200000 000001 MX=-XX
|
|
15838 000000 IFL XX,<V1=0>
|
|
15839 IFG XX,<V1=-1>
|
|
15840 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15841 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15842 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15843 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15844 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15845
|
|
15846 577777 777777 F37210: AA1=XX ;INITIAL C(AC)
|
|
15847 042721 200 14 0 00 044106 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15848 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15849 042722 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15850 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15851 042723 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15852 042724 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15853 000000 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15854 042725 312 14 0 00 043776 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15855 042726 003 14 0 00 037211 ER3 AC,37211 ;HIGH PRODUCT FAILED
|
|
15856 200000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15857 042727 312 15 0 00 044232 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15858 042730 004 15 0 00 037212 ER4 AC+1,37212 ;LOW PRODUCT FAILED
|
|
15859 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15860 042731 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15861 042732 005 12 0 00 037213 ER5 E,37213 ;C(E) WAS CLOBBERED
|
|
15862 042733 321 16 0 00 042721 JUMPL AC+2,F37210 ;LOOP ON ERROR SWITCH^
|
|
15863
|
|
15864 003722 ADR=ADR+1
|
|
15865 377777 777777 XX=XX+XX+1
|
|
15866 IFE <XX-1>,<XX=-2>
|
|
15867
|
|
15868 ;MULTIPLY -1 BY A RIPPLED 0
|
|
15869 400000 000001 MX=-XX
|
|
15870 IFL XX,<V1=0>
|
|
15871 777777 777777 IFG XX,<V1=-1>
|
|
15872 MOP1 (\ADR,XX,-1,-1,V1,MX)^
|
|
15873 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
15874 ;[-1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15875 ;AND E AGAINST [V1], [MX] AND [-1] RESPECTIVELY.
|
|
15876 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15877
|
|
15878 377777 777777 F37220: AA1=XX ;INITIAL C(AC)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 19-21
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0313
|
|
|
|
15879 042734 200 14 0 00 044107 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15880 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
15881 042735 200 15 0 00 043777 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
15882 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15883 042736 200 12 0 00 043777 MOVE E,[-1] ;PRELOAD E (MULTIPLICAND)
|
|
15884 042737 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15885 777777 777777 AR1=V1 ;EXPECTED RESULT IN AC
|
|
15886 042740 312 14 0 00 043777 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
15887 042741 003 14 0 00 037221 ER3 AC,37221 ;HIGH PRODUCT FAILED
|
|
15888 400000 000001 AR2=MX ;EXPECTED RESULT IN AC+1
|
|
15889 042742 312 15 0 00 044233 CAME AC+1,[MX] ;IS LOW PRODUCT CORRECT?
|
|
15890 042743 004 15 0 00 037222 ER4 AC+1,37222 ;LOW PRODUCT FAILED
|
|
15891 777777 777777 AEE=-1 ;INITIAL C(E)
|
|
15892 042744 312 12 0 00 043777 CAME E,[-1] ;WAS C(E) CLOBBERED?
|
|
15893 042745 005 12 0 00 037223 ER5 E,37223 ;C(E) WAS CLOBBERED
|
|
15894 042746 321 16 0 00 042734 JUMPL AC+2,F37220 ;LOOP ON ERROR SWITCH^
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0314
|
|
|
|
15895 525252 525252 N1=525252525252
|
|
15896 252525 252525 N2=252525252525
|
|
15897 000013 AC=13
|
|
15898 000011 E=<AC-2>&17
|
|
15899 SAVEAC (1,1)^
|
|
15900 042747 201 15 0 00 042747 MOVEI AC+2,. ;SAVE TEST PC
|
|
15901 042750 202 15 0 00 030051 MOVEM AC+2,TESTPC
|
|
15902 042751 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
15903 042752 202 15 0 00 044446 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
15904 000044 WW=^D36
|
|
15905 000000 XX=0
|
|
15906 000000 ZZ=0
|
|
15907
|
|
15908 REPEAT ^D35, < ;LAST CASE DIFFERENT
|
|
15909
|
|
15910 ADR=ADR+1
|
|
15911 WW=WW-1
|
|
15912 XX=XX+XX
|
|
15913 ZZ=ZZ+1
|
|
15914 IFE XX,<ZZ=0>
|
|
15915 IFE XX,<XX=1>
|
|
15916
|
|
15917 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
15918 V1=N1
|
|
15919 V2=<N1_ZZ>!1B0
|
|
15920 IFE WW,<V2=0>
|
|
15921 IFL XX,<V3=N2+1>
|
|
15922 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
15923 MOP1 (\ADR,XX,0,V1,V3,V2)>
|
|
15924 ;LAST CASE DIFFERENT
|
|
15925
|
|
15926 003723 ADR=ADR+1
|
|
15927 000043 WW=WW-1
|
|
15928 000000 XX=XX+XX
|
|
15929 000001 ZZ=ZZ+1
|
|
15930 000000 IFE XX,<ZZ=0>
|
|
15931 000001 IFE XX,<XX=1>
|
|
15932
|
|
15933 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
15934 525252 525252 V1=N1
|
|
15935 525252 525252 V2=<N1_ZZ>!1B0
|
|
15936 IFE WW,<V2=0>
|
|
15937 IFL XX,<V3=N2+1>
|
|
15938 777777 777777 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
15939 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
15940 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
15941 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15942 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
15943 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15944
|
|
15945 000001 F37230: AA1=XX ;INITIAL C(AC)
|
|
15946 042753 200 13 0 00 044000 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15947 000000 AA2=0 ;INITIAL C(AC+1)
|
|
15948 042754 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
15949 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-1
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0315
|
|
|
|
15950 042755 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
15951 042756 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15952 777777 777777 AR1=V3 ;EXPECTED RESULT IN AC
|
|
15953 042757 312 13 0 00 043777 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
15954 042760 003 13 0 00 037231 ER3 AC,37231 ;HIGH PRODUCT FAILED
|
|
15955 525252 525252 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
15956 042761 312 14 0 00 044234 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
15957 042762 004 14 0 00 037232 ER4 AC+1,37232 ;LOW PRODUCT FAILED
|
|
15958 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
15959 042763 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
15960 042764 005 11 0 00 037233 ER5 E,37233 ;C(E) WAS CLOBBERED
|
|
15961 042765 321 15 0 00 042753 JUMPL AC+2,F37230 ;LOOP ON ERROR SWITCH^
|
|
15962 ;LAST CASE DIFFERENT
|
|
15963
|
|
15964 003724 ADR=ADR+1
|
|
15965 000042 WW=WW-1
|
|
15966 000002 XX=XX+XX
|
|
15967 000001 ZZ=ZZ+1
|
|
15968 IFE XX,<ZZ=0>
|
|
15969 IFE XX,<XX=1>
|
|
15970
|
|
15971 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
15972 525252 525252 V1=N1
|
|
15973 652525 252524 V2=<N1_ZZ>!1B0
|
|
15974 IFE WW,<V2=0>
|
|
15975 IFL XX,<V3=N2+1>
|
|
15976 777777 777776 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
15977 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
15978 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
15979 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
15980 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
15981 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
15982
|
|
15983 000002 F37240: AA1=XX ;INITIAL C(AC)
|
|
15984 042766 200 13 0 00 044001 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
15985 000000 AA2=0 ;INITIAL C(AC+1)
|
|
15986 042767 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
15987 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
15988 042770 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
15989 042771 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
15990 777777 777776 AR1=V3 ;EXPECTED RESULT IN AC
|
|
15991 042772 312 13 0 00 044044 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
15992 042773 003 13 0 00 037241 ER3 AC,37241 ;HIGH PRODUCT FAILED
|
|
15993 652525 252524 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
15994 042774 312 14 0 00 044235 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
15995 042775 004 14 0 00 037242 ER4 AC+1,37242 ;LOW PRODUCT FAILED
|
|
15996 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
15997 042776 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
15998 042777 005 11 0 00 037243 ER5 E,37243 ;C(E) WAS CLOBBERED
|
|
15999 043000 321 15 0 00 042766 JUMPL AC+2,F37240 ;LOOP ON ERROR SWITCH^
|
|
16000 ;LAST CASE DIFFERENT
|
|
16001
|
|
16002 003725 ADR=ADR+1
|
|
16003 000041 WW=WW-1
|
|
16004 000004 XX=XX+XX
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-2
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0316
|
|
|
|
16005 000002 ZZ=ZZ+1
|
|
16006 IFE XX,<ZZ=0>
|
|
16007 IFE XX,<XX=1>
|
|
16008
|
|
16009 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16010 525252 525252 V1=N1
|
|
16011 525252 525250 V2=<N1_ZZ>!1B0
|
|
16012 IFE WW,<V2=0>
|
|
16013 IFL XX,<V3=N2+1>
|
|
16014 777777 777775 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16015 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16016 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16017 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16018 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16019 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16020
|
|
16021 000004 F37250: AA1=XX ;INITIAL C(AC)
|
|
16022 043001 200 13 0 00 044002 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16023 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16024 043002 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16025 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16026 043003 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16027 043004 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16028 777777 777775 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16029 043005 312 13 0 00 044045 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16030 043006 003 13 0 00 037251 ER3 AC,37251 ;HIGH PRODUCT FAILED
|
|
16031 525252 525250 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16032 043007 312 14 0 00 044236 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16033 043010 004 14 0 00 037252 ER4 AC+1,37252 ;LOW PRODUCT FAILED
|
|
16034 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16035 043011 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16036 043012 005 11 0 00 037253 ER5 E,37253 ;C(E) WAS CLOBBERED
|
|
16037 043013 321 15 0 00 043001 JUMPL AC+2,F37250 ;LOOP ON ERROR SWITCH^
|
|
16038 ;LAST CASE DIFFERENT
|
|
16039
|
|
16040 003726 ADR=ADR+1
|
|
16041 000040 WW=WW-1
|
|
16042 000010 XX=XX+XX
|
|
16043 000003 ZZ=ZZ+1
|
|
16044 IFE XX,<ZZ=0>
|
|
16045 IFE XX,<XX=1>
|
|
16046
|
|
16047 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16048 525252 525252 V1=N1
|
|
16049 652525 252520 V2=<N1_ZZ>!1B0
|
|
16050 IFE WW,<V2=0>
|
|
16051 IFL XX,<V3=N2+1>
|
|
16052 777777 777772 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16053 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16054 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16055 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16056 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16057 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16058
|
|
16059 000010 F37260: AA1=XX ;INITIAL C(AC)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-3
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0317
|
|
|
|
16060 043014 200 13 0 00 044003 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16061 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16062 043015 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16063 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16064 043016 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16065 043017 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16066 777777 777772 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16067 043020 312 13 0 00 044124 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16068 043021 003 13 0 00 037261 ER3 AC,37261 ;HIGH PRODUCT FAILED
|
|
16069 652525 252520 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16070 043022 312 14 0 00 044237 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16071 043023 004 14 0 00 037262 ER4 AC+1,37262 ;LOW PRODUCT FAILED
|
|
16072 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16073 043024 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16074 043025 005 11 0 00 037263 ER5 E,37263 ;C(E) WAS CLOBBERED
|
|
16075 043026 321 15 0 00 043014 JUMPL AC+2,F37260 ;LOOP ON ERROR SWITCH^
|
|
16076 ;LAST CASE DIFFERENT
|
|
16077
|
|
16078 003727 ADR=ADR+1
|
|
16079 000037 WW=WW-1
|
|
16080 000020 XX=XX+XX
|
|
16081 000004 ZZ=ZZ+1
|
|
16082 IFE XX,<ZZ=0>
|
|
16083 IFE XX,<XX=1>
|
|
16084
|
|
16085 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16086 525252 525252 V1=N1
|
|
16087 525252 525240 V2=<N1_ZZ>!1B0
|
|
16088 IFE WW,<V2=0>
|
|
16089 IFL XX,<V3=N2+1>
|
|
16090 777777 777765 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16091 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16092 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16093 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16094 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16095 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16096
|
|
16097 000020 F37270: AA1=XX ;INITIAL C(AC)
|
|
16098 043027 200 13 0 00 044004 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16099 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16100 043030 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16101 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16102 043031 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16103 043032 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16104 777777 777765 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16105 043033 312 13 0 00 044130 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16106 043034 003 13 0 00 037271 ER3 AC,37271 ;HIGH PRODUCT FAILED
|
|
16107 525252 525240 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16108 043035 312 14 0 00 044240 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16109 043036 004 14 0 00 037272 ER4 AC+1,37272 ;LOW PRODUCT FAILED
|
|
16110 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16111 043037 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16112 043040 005 11 0 00 037273 ER5 E,37273 ;C(E) WAS CLOBBERED
|
|
16113 043041 321 15 0 00 043027 JUMPL AC+2,F37270 ;LOOP ON ERROR SWITCH^
|
|
16114 ;LAST CASE DIFFERENT
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-4
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0318
|
|
|
|
16115
|
|
16116 003730 ADR=ADR+1
|
|
16117 000036 WW=WW-1
|
|
16118 000040 XX=XX+XX
|
|
16119 000005 ZZ=ZZ+1
|
|
16120 IFE XX,<ZZ=0>
|
|
16121 IFE XX,<XX=1>
|
|
16122
|
|
16123 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16124 525252 525252 V1=N1
|
|
16125 652525 252500 V2=<N1_ZZ>!1B0
|
|
16126 IFE WW,<V2=0>
|
|
16127 IFL XX,<V3=N2+1>
|
|
16128 777777 777752 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16129 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16130 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16131 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16132 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16133 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16134
|
|
16135 000040 F37300: AA1=XX ;INITIAL C(AC)
|
|
16136 043042 200 13 0 00 044005 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16137 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16138 043043 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16139 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16140 043044 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16141 043045 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16142 777777 777752 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16143 043046 312 13 0 00 044241 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16144 043047 003 13 0 00 037301 ER3 AC,37301 ;HIGH PRODUCT FAILED
|
|
16145 652525 252500 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16146 043050 312 14 0 00 044242 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16147 043051 004 14 0 00 037302 ER4 AC+1,37302 ;LOW PRODUCT FAILED
|
|
16148 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16149 043052 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16150 043053 005 11 0 00 037303 ER5 E,37303 ;C(E) WAS CLOBBERED
|
|
16151 043054 321 15 0 00 043042 JUMPL AC+2,F37300 ;LOOP ON ERROR SWITCH^
|
|
16152 ;LAST CASE DIFFERENT
|
|
16153
|
|
16154 003731 ADR=ADR+1
|
|
16155 000035 WW=WW-1
|
|
16156 000100 XX=XX+XX
|
|
16157 000006 ZZ=ZZ+1
|
|
16158 IFE XX,<ZZ=0>
|
|
16159 IFE XX,<XX=1>
|
|
16160
|
|
16161 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16162 525252 525252 V1=N1
|
|
16163 525252 525200 V2=<N1_ZZ>!1B0
|
|
16164 IFE WW,<V2=0>
|
|
16165 IFL XX,<V3=N2+1>
|
|
16166 777777 777725 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16167 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16168 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16169 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-5
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0319
|
|
|
|
16170 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16171 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16172
|
|
16173 000100 F37310: AA1=XX ;INITIAL C(AC)
|
|
16174 043055 200 13 0 00 044006 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16175 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16176 043056 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16177 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16178 043057 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16179 043060 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16180 777777 777725 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16181 043061 312 13 0 00 044243 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16182 043062 003 13 0 00 037311 ER3 AC,37311 ;HIGH PRODUCT FAILED
|
|
16183 525252 525200 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16184 043063 312 14 0 00 044244 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16185 043064 004 14 0 00 037312 ER4 AC+1,37312 ;LOW PRODUCT FAILED
|
|
16186 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16187 043065 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16188 043066 005 11 0 00 037313 ER5 E,37313 ;C(E) WAS CLOBBERED
|
|
16189 043067 321 15 0 00 043055 JUMPL AC+2,F37310 ;LOOP ON ERROR SWITCH^
|
|
16190 ;LAST CASE DIFFERENT
|
|
16191
|
|
16192 003732 ADR=ADR+1
|
|
16193 000034 WW=WW-1
|
|
16194 000200 XX=XX+XX
|
|
16195 000007 ZZ=ZZ+1
|
|
16196 IFE XX,<ZZ=0>
|
|
16197 IFE XX,<XX=1>
|
|
16198
|
|
16199 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16200 525252 525252 V1=N1
|
|
16201 652525 252400 V2=<N1_ZZ>!1B0
|
|
16202 IFE WW,<V2=0>
|
|
16203 IFL XX,<V3=N2+1>
|
|
16204 777777 777652 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16205 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16206 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16207 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16208 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16209 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16210
|
|
16211 000200 F37320: AA1=XX ;INITIAL C(AC)
|
|
16212 043070 200 13 0 00 044007 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16213 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16214 043071 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16215 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16216 043072 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16217 043073 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16218 777777 777652 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16219 043074 312 13 0 00 044245 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16220 043075 003 13 0 00 037321 ER3 AC,37321 ;HIGH PRODUCT FAILED
|
|
16221 652525 252400 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16222 043076 312 14 0 00 044246 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16223 043077 004 14 0 00 037322 ER4 AC+1,37322 ;LOW PRODUCT FAILED
|
|
16224 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-6
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0320
|
|
|
|
16225 043100 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16226 043101 005 11 0 00 037323 ER5 E,37323 ;C(E) WAS CLOBBERED
|
|
16227 043102 321 15 0 00 043070 JUMPL AC+2,F37320 ;LOOP ON ERROR SWITCH^
|
|
16228 ;LAST CASE DIFFERENT
|
|
16229
|
|
16230 003733 ADR=ADR+1
|
|
16231 000033 WW=WW-1
|
|
16232 000400 XX=XX+XX
|
|
16233 000010 ZZ=ZZ+1
|
|
16234 IFE XX,<ZZ=0>
|
|
16235 IFE XX,<XX=1>
|
|
16236
|
|
16237 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16238 525252 525252 V1=N1
|
|
16239 525252 525000 V2=<N1_ZZ>!1B0
|
|
16240 IFE WW,<V2=0>
|
|
16241 IFL XX,<V3=N2+1>
|
|
16242 777777 777525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16243 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16244 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16245 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16246 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16247 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16248
|
|
16249 000400 F37330: AA1=XX ;INITIAL C(AC)
|
|
16250 043103 200 13 0 00 044010 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16251 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16252 043104 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16253 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16254 043105 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16255 043106 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16256 777777 777525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16257 043107 312 13 0 00 044247 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16258 043110 003 13 0 00 037331 ER3 AC,37331 ;HIGH PRODUCT FAILED
|
|
16259 525252 525000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16260 043111 312 14 0 00 044250 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16261 043112 004 14 0 00 037332 ER4 AC+1,37332 ;LOW PRODUCT FAILED
|
|
16262 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16263 043113 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16264 043114 005 11 0 00 037333 ER5 E,37333 ;C(E) WAS CLOBBERED
|
|
16265 043115 321 15 0 00 043103 JUMPL AC+2,F37330 ;LOOP ON ERROR SWITCH^
|
|
16266 ;LAST CASE DIFFERENT
|
|
16267
|
|
16268 003734 ADR=ADR+1
|
|
16269 000032 WW=WW-1
|
|
16270 001000 XX=XX+XX
|
|
16271 000011 ZZ=ZZ+1
|
|
16272 IFE XX,<ZZ=0>
|
|
16273 IFE XX,<XX=1>
|
|
16274
|
|
16275 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16276 525252 525252 V1=N1
|
|
16277 652525 252000 V2=<N1_ZZ>!1B0
|
|
16278 IFE WW,<V2=0>
|
|
16279 IFL XX,<V3=N2+1>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-7
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0321
|
|
|
|
16280 777777 777252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16281 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16282 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16283 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16284 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16285 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16286
|
|
16287 001000 F37340: AA1=XX ;INITIAL C(AC)
|
|
16288 043116 200 13 0 00 044011 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16289 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16290 043117 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16291 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16292 043120 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16293 043121 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16294 777777 777252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16295 043122 312 13 0 00 044251 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16296 043123 003 13 0 00 037341 ER3 AC,37341 ;HIGH PRODUCT FAILED
|
|
16297 652525 252000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16298 043124 312 14 0 00 044252 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16299 043125 004 14 0 00 037342 ER4 AC+1,37342 ;LOW PRODUCT FAILED
|
|
16300 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16301 043126 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16302 043127 005 11 0 00 037343 ER5 E,37343 ;C(E) WAS CLOBBERED
|
|
16303 043130 321 15 0 00 043116 JUMPL AC+2,F37340 ;LOOP ON ERROR SWITCH^
|
|
16304 ;LAST CASE DIFFERENT
|
|
16305
|
|
16306 003735 ADR=ADR+1
|
|
16307 000031 WW=WW-1
|
|
16308 002000 XX=XX+XX
|
|
16309 000012 ZZ=ZZ+1
|
|
16310 IFE XX,<ZZ=0>
|
|
16311 IFE XX,<XX=1>
|
|
16312
|
|
16313 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16314 525252 525252 V1=N1
|
|
16315 525252 524000 V2=<N1_ZZ>!1B0
|
|
16316 IFE WW,<V2=0>
|
|
16317 IFL XX,<V3=N2+1>
|
|
16318 777777 776525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16319 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16320 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16321 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16322 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16323 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16324
|
|
16325 002000 F37350: AA1=XX ;INITIAL C(AC)
|
|
16326 043131 200 13 0 00 044012 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16327 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16328 043132 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16329 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16330 043133 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16331 043134 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16332 777777 776525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16333 043135 312 13 0 00 044253 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16334 043136 003 13 0 00 037351 ER3 AC,37351 ;HIGH PRODUCT FAILED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-8
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0322
|
|
|
|
16335 525252 524000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16336 043137 312 14 0 00 044254 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16337 043140 004 14 0 00 037352 ER4 AC+1,37352 ;LOW PRODUCT FAILED
|
|
16338 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16339 043141 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16340 043142 005 11 0 00 037353 ER5 E,37353 ;C(E) WAS CLOBBERED
|
|
16341 043143 321 15 0 00 043131 JUMPL AC+2,F37350 ;LOOP ON ERROR SWITCH^
|
|
16342 ;LAST CASE DIFFERENT
|
|
16343
|
|
16344 003736 ADR=ADR+1
|
|
16345 000030 WW=WW-1
|
|
16346 004000 XX=XX+XX
|
|
16347 000013 ZZ=ZZ+1
|
|
16348 IFE XX,<ZZ=0>
|
|
16349 IFE XX,<XX=1>
|
|
16350
|
|
16351 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16352 525252 525252 V1=N1
|
|
16353 652525 250000 V2=<N1_ZZ>!1B0
|
|
16354 IFE WW,<V2=0>
|
|
16355 IFL XX,<V3=N2+1>
|
|
16356 777777 775252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16357 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16358 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16359 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16360 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16361 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16362
|
|
16363 004000 F37360: AA1=XX ;INITIAL C(AC)
|
|
16364 043144 200 13 0 00 044013 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16365 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16366 043145 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16367 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16368 043146 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16369 043147 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16370 777777 775252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16371 043150 312 13 0 00 044255 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16372 043151 003 13 0 00 037361 ER3 AC,37361 ;HIGH PRODUCT FAILED
|
|
16373 652525 250000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16374 043152 312 14 0 00 044256 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16375 043153 004 14 0 00 037362 ER4 AC+1,37362 ;LOW PRODUCT FAILED
|
|
16376 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16377 043154 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16378 043155 005 11 0 00 037363 ER5 E,37363 ;C(E) WAS CLOBBERED
|
|
16379 043156 321 15 0 00 043144 JUMPL AC+2,F37360 ;LOOP ON ERROR SWITCH^
|
|
16380 ;LAST CASE DIFFERENT
|
|
16381
|
|
16382 003737 ADR=ADR+1
|
|
16383 000027 WW=WW-1
|
|
16384 010000 XX=XX+XX
|
|
16385 000014 ZZ=ZZ+1
|
|
16386 IFE XX,<ZZ=0>
|
|
16387 IFE XX,<XX=1>
|
|
16388
|
|
16389 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-9
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0323
|
|
|
|
16390 525252 525252 V1=N1
|
|
16391 525252 520000 V2=<N1_ZZ>!1B0
|
|
16392 IFE WW,<V2=0>
|
|
16393 IFL XX,<V3=N2+1>
|
|
16394 777777 772525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16395 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16396 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16397 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16398 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16399 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16400
|
|
16401 010000 F37370: AA1=XX ;INITIAL C(AC)
|
|
16402 043157 200 13 0 00 044014 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16403 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16404 043160 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16405 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16406 043161 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16407 043162 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16408 777777 772525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16409 043163 312 13 0 00 044257 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16410 043164 003 13 0 00 037371 ER3 AC,37371 ;HIGH PRODUCT FAILED
|
|
16411 525252 520000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16412 043165 312 14 0 00 044260 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16413 043166 004 14 0 00 037372 ER4 AC+1,37372 ;LOW PRODUCT FAILED
|
|
16414 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16415 043167 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16416 043170 005 11 0 00 037373 ER5 E,37373 ;C(E) WAS CLOBBERED
|
|
16417 043171 321 15 0 00 043157 JUMPL AC+2,F37370 ;LOOP ON ERROR SWITCH^
|
|
16418 ;LAST CASE DIFFERENT
|
|
16419
|
|
16420 003740 ADR=ADR+1
|
|
16421 000026 WW=WW-1
|
|
16422 020000 XX=XX+XX
|
|
16423 000015 ZZ=ZZ+1
|
|
16424 IFE XX,<ZZ=0>
|
|
16425 IFE XX,<XX=1>
|
|
16426
|
|
16427 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16428 525252 525252 V1=N1
|
|
16429 652525 240000 V2=<N1_ZZ>!1B0
|
|
16430 IFE WW,<V2=0>
|
|
16431 IFL XX,<V3=N2+1>
|
|
16432 777777 765252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16433 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16434 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16435 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16436 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16437 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16438
|
|
16439 020000 F37400: AA1=XX ;INITIAL C(AC)
|
|
16440 043172 200 13 0 00 044015 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16441 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16442 043173 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16443 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16444 043174 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-10
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0324
|
|
|
|
16445 043175 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16446 777777 765252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16447 043176 312 13 0 00 044261 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16448 043177 003 13 0 00 037401 ER3 AC,37401 ;HIGH PRODUCT FAILED
|
|
16449 652525 240000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16450 043200 312 14 0 00 044262 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16451 043201 004 14 0 00 037402 ER4 AC+1,37402 ;LOW PRODUCT FAILED
|
|
16452 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16453 043202 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16454 043203 005 11 0 00 037403 ER5 E,37403 ;C(E) WAS CLOBBERED
|
|
16455 043204 321 15 0 00 043172 JUMPL AC+2,F37400 ;LOOP ON ERROR SWITCH^
|
|
16456 ;LAST CASE DIFFERENT
|
|
16457
|
|
16458 003741 ADR=ADR+1
|
|
16459 000025 WW=WW-1
|
|
16460 040000 XX=XX+XX
|
|
16461 000016 ZZ=ZZ+1
|
|
16462 IFE XX,<ZZ=0>
|
|
16463 IFE XX,<XX=1>
|
|
16464
|
|
16465 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16466 525252 525252 V1=N1
|
|
16467 525252 500000 V2=<N1_ZZ>!1B0
|
|
16468 IFE WW,<V2=0>
|
|
16469 IFL XX,<V3=N2+1>
|
|
16470 777777 752525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16471 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16472 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16473 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16474 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16475 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16476
|
|
16477 040000 F37410: AA1=XX ;INITIAL C(AC)
|
|
16478 043205 200 13 0 00 044016 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16479 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16480 043206 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16481 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16482 043207 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16483 043210 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16484 777777 752525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16485 043211 312 13 0 00 044263 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16486 043212 003 13 0 00 037411 ER3 AC,37411 ;HIGH PRODUCT FAILED
|
|
16487 525252 500000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16488 043213 312 14 0 00 044264 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16489 043214 004 14 0 00 037412 ER4 AC+1,37412 ;LOW PRODUCT FAILED
|
|
16490 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16491 043215 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16492 043216 005 11 0 00 037413 ER5 E,37413 ;C(E) WAS CLOBBERED
|
|
16493 043217 321 15 0 00 043205 JUMPL AC+2,F37410 ;LOOP ON ERROR SWITCH^
|
|
16494 ;LAST CASE DIFFERENT
|
|
16495
|
|
16496 003742 ADR=ADR+1
|
|
16497 000024 WW=WW-1
|
|
16498 100000 XX=XX+XX
|
|
16499 000017 ZZ=ZZ+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-11
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0325
|
|
|
|
16500 IFE XX,<ZZ=0>
|
|
16501 IFE XX,<XX=1>
|
|
16502
|
|
16503 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16504 525252 525252 V1=N1
|
|
16505 652525 200000 V2=<N1_ZZ>!1B0
|
|
16506 IFE WW,<V2=0>
|
|
16507 IFL XX,<V3=N2+1>
|
|
16508 777777 725252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16509 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16510 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16511 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16512 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16513 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16514
|
|
16515 100000 F37420: AA1=XX ;INITIAL C(AC)
|
|
16516 043220 200 13 0 00 044017 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16517 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16518 043221 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16519 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16520 043222 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16521 043223 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16522 777777 725252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16523 043224 312 13 0 00 044265 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16524 043225 003 13 0 00 037421 ER3 AC,37421 ;HIGH PRODUCT FAILED
|
|
16525 652525 200000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16526 043226 312 14 0 00 044266 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16527 043227 004 14 0 00 037422 ER4 AC+1,37422 ;LOW PRODUCT FAILED
|
|
16528 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16529 043230 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16530 043231 005 11 0 00 037423 ER5 E,37423 ;C(E) WAS CLOBBERED
|
|
16531 043232 321 15 0 00 043220 JUMPL AC+2,F37420 ;LOOP ON ERROR SWITCH^
|
|
16532 ;LAST CASE DIFFERENT
|
|
16533
|
|
16534 003743 ADR=ADR+1
|
|
16535 000023 WW=WW-1
|
|
16536 200000 XX=XX+XX
|
|
16537 000020 ZZ=ZZ+1
|
|
16538 IFE XX,<ZZ=0>
|
|
16539 IFE XX,<XX=1>
|
|
16540
|
|
16541 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16542 525252 525252 V1=N1
|
|
16543 525252 400000 V2=<N1_ZZ>!1B0
|
|
16544 IFE WW,<V2=0>
|
|
16545 IFL XX,<V3=N2+1>
|
|
16546 777777 652525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16547 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16548 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16549 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16550 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16551 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16552
|
|
16553 200000 F37430: AA1=XX ;INITIAL C(AC)
|
|
16554 043233 200 13 0 00 044020 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-12
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0326
|
|
|
|
16555 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16556 043234 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16557 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16558 043235 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16559 043236 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16560 777777 652525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16561 043237 312 13 0 00 044267 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16562 043240 003 13 0 00 037431 ER3 AC,37431 ;HIGH PRODUCT FAILED
|
|
16563 525252 400000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16564 043241 312 14 0 00 044270 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16565 043242 004 14 0 00 037432 ER4 AC+1,37432 ;LOW PRODUCT FAILED
|
|
16566 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16567 043243 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16568 043244 005 11 0 00 037433 ER5 E,37433 ;C(E) WAS CLOBBERED
|
|
16569 043245 321 15 0 00 043233 JUMPL AC+2,F37430 ;LOOP ON ERROR SWITCH^
|
|
16570 ;LAST CASE DIFFERENT
|
|
16571
|
|
16572 003744 ADR=ADR+1
|
|
16573 000022 WW=WW-1
|
|
16574 400000 XX=XX+XX
|
|
16575 000021 ZZ=ZZ+1
|
|
16576 IFE XX,<ZZ=0>
|
|
16577 IFE XX,<XX=1>
|
|
16578
|
|
16579 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16580 525252 525252 V1=N1
|
|
16581 652525 000000 V2=<N1_ZZ>!1B0
|
|
16582 IFE WW,<V2=0>
|
|
16583 IFL XX,<V3=N2+1>
|
|
16584 777777 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16585 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16586 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16587 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16588 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16589 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16590
|
|
16591 400000 F37440: AA1=XX ;INITIAL C(AC)
|
|
16592 043246 200 13 0 00 044021 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16593 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16594 043247 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16595 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16596 043250 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16597 043251 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16598 777777 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16599 043252 312 13 0 00 044271 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16600 043253 003 13 0 00 037441 ER3 AC,37441 ;HIGH PRODUCT FAILED
|
|
16601 652525 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16602 043254 312 14 0 00 044272 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16603 043255 004 14 0 00 037442 ER4 AC+1,37442 ;LOW PRODUCT FAILED
|
|
16604 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16605 043256 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16606 043257 005 11 0 00 037443 ER5 E,37443 ;C(E) WAS CLOBBERED
|
|
16607 043260 321 15 0 00 043246 JUMPL AC+2,F37440 ;LOOP ON ERROR SWITCH^
|
|
16608 ;LAST CASE DIFFERENT
|
|
16609
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-13
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0327
|
|
|
|
16610 003745 ADR=ADR+1
|
|
16611 000021 WW=WW-1
|
|
16612 000001 000000 XX=XX+XX
|
|
16613 000022 ZZ=ZZ+1
|
|
16614 IFE XX,<ZZ=0>
|
|
16615 IFE XX,<XX=1>
|
|
16616
|
|
16617 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16618 525252 525252 V1=N1
|
|
16619 525252 000000 V2=<N1_ZZ>!1B0
|
|
16620 IFE WW,<V2=0>
|
|
16621 IFL XX,<V3=N2+1>
|
|
16622 777777 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16623 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16624 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16625 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16626 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16627 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16628
|
|
16629 000001 000000 F37450: AA1=XX ;INITIAL C(AC)
|
|
16630 043261 200 13 0 00 044022 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16631 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16632 043262 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16633 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16634 043263 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16635 043264 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16636 777777 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16637 043265 312 13 0 00 044273 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16638 043266 003 13 0 00 037451 ER3 AC,37451 ;HIGH PRODUCT FAILED
|
|
16639 525252 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16640 043267 312 14 0 00 044274 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16641 043270 004 14 0 00 037452 ER4 AC+1,37452 ;LOW PRODUCT FAILED
|
|
16642 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16643 043271 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16644 043272 005 11 0 00 037453 ER5 E,37453 ;C(E) WAS CLOBBERED
|
|
16645 043273 321 15 0 00 043261 JUMPL AC+2,F37450 ;LOOP ON ERROR SWITCH^
|
|
16646 ;LAST CASE DIFFERENT
|
|
16647
|
|
16648 003746 ADR=ADR+1
|
|
16649 000020 WW=WW-1
|
|
16650 000002 000000 XX=XX+XX
|
|
16651 000023 ZZ=ZZ+1
|
|
16652 IFE XX,<ZZ=0>
|
|
16653 IFE XX,<XX=1>
|
|
16654
|
|
16655 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16656 525252 525252 V1=N1
|
|
16657 652524 000000 V2=<N1_ZZ>!1B0
|
|
16658 IFE WW,<V2=0>
|
|
16659 IFL XX,<V3=N2+1>
|
|
16660 777776 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16661 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16662 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16663 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16664 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-14
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0328
|
|
|
|
16665 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16666
|
|
16667 000002 000000 F37460: AA1=XX ;INITIAL C(AC)
|
|
16668 043274 200 13 0 00 044023 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16669 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16670 043275 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16671 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16672 043276 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16673 043277 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16674 777776 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16675 043300 312 13 0 00 044275 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16676 043301 003 13 0 00 037461 ER3 AC,37461 ;HIGH PRODUCT FAILED
|
|
16677 652524 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16678 043302 312 14 0 00 044276 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16679 043303 004 14 0 00 037462 ER4 AC+1,37462 ;LOW PRODUCT FAILED
|
|
16680 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16681 043304 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16682 043305 005 11 0 00 037463 ER5 E,37463 ;C(E) WAS CLOBBERED
|
|
16683 043306 321 15 0 00 043274 JUMPL AC+2,F37460 ;LOOP ON ERROR SWITCH^
|
|
16684 ;LAST CASE DIFFERENT
|
|
16685
|
|
16686 003747 ADR=ADR+1
|
|
16687 000017 WW=WW-1
|
|
16688 000004 000000 XX=XX+XX
|
|
16689 000024 ZZ=ZZ+1
|
|
16690 IFE XX,<ZZ=0>
|
|
16691 IFE XX,<XX=1>
|
|
16692
|
|
16693 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16694 525252 525252 V1=N1
|
|
16695 525250 000000 V2=<N1_ZZ>!1B0
|
|
16696 IFE WW,<V2=0>
|
|
16697 IFL XX,<V3=N2+1>
|
|
16698 777775 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16699 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16700 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16701 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16702 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16703 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16704
|
|
16705 000004 000000 F37470: AA1=XX ;INITIAL C(AC)
|
|
16706 043307 200 13 0 00 044024 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16707 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16708 043310 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16709 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16710 043311 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16711 043312 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16712 777775 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16713 043313 312 13 0 00 044277 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16714 043314 003 13 0 00 037471 ER3 AC,37471 ;HIGH PRODUCT FAILED
|
|
16715 525250 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16716 043315 312 14 0 00 044300 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16717 043316 004 14 0 00 037472 ER4 AC+1,37472 ;LOW PRODUCT FAILED
|
|
16718 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16719 043317 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-15
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0329
|
|
|
|
16720 043320 005 11 0 00 037473 ER5 E,37473 ;C(E) WAS CLOBBERED
|
|
16721 043321 321 15 0 00 043307 JUMPL AC+2,F37470 ;LOOP ON ERROR SWITCH^
|
|
16722 ;LAST CASE DIFFERENT
|
|
16723
|
|
16724 003750 ADR=ADR+1
|
|
16725 000016 WW=WW-1
|
|
16726 000010 000000 XX=XX+XX
|
|
16727 000025 ZZ=ZZ+1
|
|
16728 IFE XX,<ZZ=0>
|
|
16729 IFE XX,<XX=1>
|
|
16730
|
|
16731 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16732 525252 525252 V1=N1
|
|
16733 652520 000000 V2=<N1_ZZ>!1B0
|
|
16734 IFE WW,<V2=0>
|
|
16735 IFL XX,<V3=N2+1>
|
|
16736 777772 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16737 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16738 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16739 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16740 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16741 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16742
|
|
16743 000010 000000 F37500: AA1=XX ;INITIAL C(AC)
|
|
16744 043322 200 13 0 00 044025 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16745 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16746 043323 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16747 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16748 043324 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16749 043325 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16750 777772 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16751 043326 312 13 0 00 044301 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16752 043327 003 13 0 00 037501 ER3 AC,37501 ;HIGH PRODUCT FAILED
|
|
16753 652520 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16754 043330 312 14 0 00 044302 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16755 043331 004 14 0 00 037502 ER4 AC+1,37502 ;LOW PRODUCT FAILED
|
|
16756 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16757 043332 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16758 043333 005 11 0 00 037503 ER5 E,37503 ;C(E) WAS CLOBBERED
|
|
16759 043334 321 15 0 00 043322 JUMPL AC+2,F37500 ;LOOP ON ERROR SWITCH^
|
|
16760 ;LAST CASE DIFFERENT
|
|
16761
|
|
16762 003751 ADR=ADR+1
|
|
16763 000015 WW=WW-1
|
|
16764 000020 000000 XX=XX+XX
|
|
16765 000026 ZZ=ZZ+1
|
|
16766 IFE XX,<ZZ=0>
|
|
16767 IFE XX,<XX=1>
|
|
16768
|
|
16769 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16770 525252 525252 V1=N1
|
|
16771 525240 000000 V2=<N1_ZZ>!1B0
|
|
16772 IFE WW,<V2=0>
|
|
16773 IFL XX,<V3=N2+1>
|
|
16774 777765 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-16
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0330
|
|
|
|
16775 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16776 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16777 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16778 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16779 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16780
|
|
16781 000020 000000 F37510: AA1=XX ;INITIAL C(AC)
|
|
16782 043335 200 13 0 00 044026 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16783 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16784 043336 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16785 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16786 043337 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16787 043340 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16788 777765 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16789 043341 312 13 0 00 044303 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16790 043342 003 13 0 00 037511 ER3 AC,37511 ;HIGH PRODUCT FAILED
|
|
16791 525240 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16792 043343 312 14 0 00 044304 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16793 043344 004 14 0 00 037512 ER4 AC+1,37512 ;LOW PRODUCT FAILED
|
|
16794 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16795 043345 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16796 043346 005 11 0 00 037513 ER5 E,37513 ;C(E) WAS CLOBBERED
|
|
16797 043347 321 15 0 00 043335 JUMPL AC+2,F37510 ;LOOP ON ERROR SWITCH^
|
|
16798 ;LAST CASE DIFFERENT
|
|
16799
|
|
16800 003752 ADR=ADR+1
|
|
16801 000014 WW=WW-1
|
|
16802 000040 000000 XX=XX+XX
|
|
16803 000027 ZZ=ZZ+1
|
|
16804 IFE XX,<ZZ=0>
|
|
16805 IFE XX,<XX=1>
|
|
16806
|
|
16807 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16808 525252 525252 V1=N1
|
|
16809 652500 000000 V2=<N1_ZZ>!1B0
|
|
16810 IFE WW,<V2=0>
|
|
16811 IFL XX,<V3=N2+1>
|
|
16812 777752 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16813 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16814 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16815 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16816 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16817 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16818
|
|
16819 000040 000000 F37520: AA1=XX ;INITIAL C(AC)
|
|
16820 043350 200 13 0 00 044027 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16821 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16822 043351 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16823 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16824 043352 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16825 043353 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16826 777752 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16827 043354 312 13 0 00 044305 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16828 043355 003 13 0 00 037521 ER3 AC,37521 ;HIGH PRODUCT FAILED
|
|
16829 652500 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-17
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0331
|
|
|
|
16830 043356 312 14 0 00 044306 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16831 043357 004 14 0 00 037522 ER4 AC+1,37522 ;LOW PRODUCT FAILED
|
|
16832 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16833 043360 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16834 043361 005 11 0 00 037523 ER5 E,37523 ;C(E) WAS CLOBBERED
|
|
16835 043362 321 15 0 00 043350 JUMPL AC+2,F37520 ;LOOP ON ERROR SWITCH^
|
|
16836 ;LAST CASE DIFFERENT
|
|
16837
|
|
16838 003753 ADR=ADR+1
|
|
16839 000013 WW=WW-1
|
|
16840 000100 000000 XX=XX+XX
|
|
16841 000030 ZZ=ZZ+1
|
|
16842 IFE XX,<ZZ=0>
|
|
16843 IFE XX,<XX=1>
|
|
16844
|
|
16845 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16846 525252 525252 V1=N1
|
|
16847 525200 000000 V2=<N1_ZZ>!1B0
|
|
16848 IFE WW,<V2=0>
|
|
16849 IFL XX,<V3=N2+1>
|
|
16850 777725 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16851 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16852 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16853 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16854 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16855 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16856
|
|
16857 000100 000000 F37530: AA1=XX ;INITIAL C(AC)
|
|
16858 043363 200 13 0 00 044030 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16859 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16860 043364 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16861 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16862 043365 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16863 043366 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16864 777725 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16865 043367 312 13 0 00 044307 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16866 043370 003 13 0 00 037531 ER3 AC,37531 ;HIGH PRODUCT FAILED
|
|
16867 525200 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16868 043371 312 14 0 00 044310 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16869 043372 004 14 0 00 037532 ER4 AC+1,37532 ;LOW PRODUCT FAILED
|
|
16870 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16871 043373 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16872 043374 005 11 0 00 037533 ER5 E,37533 ;C(E) WAS CLOBBERED
|
|
16873 043375 321 15 0 00 043363 JUMPL AC+2,F37530 ;LOOP ON ERROR SWITCH^
|
|
16874 ;LAST CASE DIFFERENT
|
|
16875
|
|
16876 003754 ADR=ADR+1
|
|
16877 000012 WW=WW-1
|
|
16878 000200 000000 XX=XX+XX
|
|
16879 000031 ZZ=ZZ+1
|
|
16880 IFE XX,<ZZ=0>
|
|
16881 IFE XX,<XX=1>
|
|
16882
|
|
16883 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16884 525252 525252 V1=N1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-18
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0332
|
|
|
|
16885 652400 000000 V2=<N1_ZZ>!1B0
|
|
16886 IFE WW,<V2=0>
|
|
16887 IFL XX,<V3=N2+1>
|
|
16888 777652 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16889 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16890 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16891 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16892 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16893 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16894
|
|
16895 000200 000000 F37540: AA1=XX ;INITIAL C(AC)
|
|
16896 043376 200 13 0 00 044031 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16897 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16898 043377 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16899 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16900 043400 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16901 043401 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16902 777652 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16903 043402 312 13 0 00 044311 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16904 043403 003 13 0 00 037541 ER3 AC,37541 ;HIGH PRODUCT FAILED
|
|
16905 652400 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16906 043404 312 14 0 00 044312 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16907 043405 004 14 0 00 037542 ER4 AC+1,37542 ;LOW PRODUCT FAILED
|
|
16908 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16909 043406 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16910 043407 005 11 0 00 037543 ER5 E,37543 ;C(E) WAS CLOBBERED
|
|
16911 043410 321 15 0 00 043376 JUMPL AC+2,F37540 ;LOOP ON ERROR SWITCH^
|
|
16912 ;LAST CASE DIFFERENT
|
|
16913
|
|
16914 003755 ADR=ADR+1
|
|
16915 000011 WW=WW-1
|
|
16916 000400 000000 XX=XX+XX
|
|
16917 000032 ZZ=ZZ+1
|
|
16918 IFE XX,<ZZ=0>
|
|
16919 IFE XX,<XX=1>
|
|
16920
|
|
16921 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16922 525252 525252 V1=N1
|
|
16923 525000 000000 V2=<N1_ZZ>!1B0
|
|
16924 IFE WW,<V2=0>
|
|
16925 IFL XX,<V3=N2+1>
|
|
16926 777525 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16927 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16928 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16929 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16930 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16931 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16932
|
|
16933 000400 000000 F37550: AA1=XX ;INITIAL C(AC)
|
|
16934 043411 200 13 0 00 044032 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16935 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16936 043412 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16937 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16938 043413 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16939 043414 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-19
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0333
|
|
|
|
16940 777525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16941 043415 312 13 0 00 044313 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16942 043416 003 13 0 00 037551 ER3 AC,37551 ;HIGH PRODUCT FAILED
|
|
16943 525000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16944 043417 312 14 0 00 044314 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16945 043420 004 14 0 00 037552 ER4 AC+1,37552 ;LOW PRODUCT FAILED
|
|
16946 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16947 043421 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16948 043422 005 11 0 00 037553 ER5 E,37553 ;C(E) WAS CLOBBERED
|
|
16949 043423 321 15 0 00 043411 JUMPL AC+2,F37550 ;LOOP ON ERROR SWITCH^
|
|
16950 ;LAST CASE DIFFERENT
|
|
16951
|
|
16952 003756 ADR=ADR+1
|
|
16953 000010 WW=WW-1
|
|
16954 001000 000000 XX=XX+XX
|
|
16955 000033 ZZ=ZZ+1
|
|
16956 IFE XX,<ZZ=0>
|
|
16957 IFE XX,<XX=1>
|
|
16958
|
|
16959 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16960 525252 525252 V1=N1
|
|
16961 652000 000000 V2=<N1_ZZ>!1B0
|
|
16962 IFE WW,<V2=0>
|
|
16963 IFL XX,<V3=N2+1>
|
|
16964 777252 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
16965 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
16966 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
16967 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
16968 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
16969 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
16970
|
|
16971 001000 000000 F37560: AA1=XX ;INITIAL C(AC)
|
|
16972 043424 200 13 0 00 044033 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
16973 000000 AA2=0 ;INITIAL C(AC+1)
|
|
16974 043425 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
16975 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16976 043426 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
16977 043427 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
16978 777252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
16979 043430 312 13 0 00 044315 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
16980 043431 003 13 0 00 037561 ER3 AC,37561 ;HIGH PRODUCT FAILED
|
|
16981 652000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
16982 043432 312 14 0 00 044316 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
16983 043433 004 14 0 00 037562 ER4 AC+1,37562 ;LOW PRODUCT FAILED
|
|
16984 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
16985 043434 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
16986 043435 005 11 0 00 037563 ER5 E,37563 ;C(E) WAS CLOBBERED
|
|
16987 043436 321 15 0 00 043424 JUMPL AC+2,F37560 ;LOOP ON ERROR SWITCH^
|
|
16988 ;LAST CASE DIFFERENT
|
|
16989
|
|
16990 003757 ADR=ADR+1
|
|
16991 000007 WW=WW-1
|
|
16992 002000 000000 XX=XX+XX
|
|
16993 000034 ZZ=ZZ+1
|
|
16994 IFE XX,<ZZ=0>
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-20
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0334
|
|
|
|
16995 IFE XX,<XX=1>
|
|
16996
|
|
16997 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
16998 525252 525252 V1=N1
|
|
16999 524000 000000 V2=<N1_ZZ>!1B0
|
|
17000 IFE WW,<V2=0>
|
|
17001 IFL XX,<V3=N2+1>
|
|
17002 776525 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
17003 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
17004 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
17005 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
17006 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
17007 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
17008
|
|
17009 002000 000000 F37570: AA1=XX ;INITIAL C(AC)
|
|
17010 043437 200 13 0 00 044034 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
17011 000000 AA2=0 ;INITIAL C(AC+1)
|
|
17012 043440 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
17013 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
17014 043441 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
17015 043442 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
17016 776525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
17017 043443 312 13 0 00 044317 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
17018 043444 003 13 0 00 037571 ER3 AC,37571 ;HIGH PRODUCT FAILED
|
|
17019 524000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
17020 043445 312 14 0 00 044320 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
17021 043446 004 14 0 00 037572 ER4 AC+1,37572 ;LOW PRODUCT FAILED
|
|
17022 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
17023 043447 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
17024 043450 005 11 0 00 037573 ER5 E,37573 ;C(E) WAS CLOBBERED
|
|
17025 043451 321 15 0 00 043437 JUMPL AC+2,F37570 ;LOOP ON ERROR SWITCH^
|
|
17026 ;LAST CASE DIFFERENT
|
|
17027
|
|
17028 003760 ADR=ADR+1
|
|
17029 000006 WW=WW-1
|
|
17030 004000 000000 XX=XX+XX
|
|
17031 000035 ZZ=ZZ+1
|
|
17032 IFE XX,<ZZ=0>
|
|
17033 IFE XX,<XX=1>
|
|
17034
|
|
17035 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
17036 525252 525252 V1=N1
|
|
17037 650000 000000 V2=<N1_ZZ>!1B0
|
|
17038 IFE WW,<V2=0>
|
|
17039 IFL XX,<V3=N2+1>
|
|
17040 775252 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
17041 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
17042 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
17043 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
17044 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
17045 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
17046
|
|
17047 004000 000000 F37600: AA1=XX ;INITIAL C(AC)
|
|
17048 043452 200 13 0 00 044035 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
17049 000000 AA2=0 ;INITIAL C(AC+1)
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-21
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0335
|
|
|
|
17050 043453 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
17051 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
17052 043454 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
17053 043455 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
17054 775252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
17055 043456 312 13 0 00 044321 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
17056 043457 003 13 0 00 037601 ER3 AC,37601 ;HIGH PRODUCT FAILED
|
|
17057 650000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
17058 043460 312 14 0 00 044322 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
17059 043461 004 14 0 00 037602 ER4 AC+1,37602 ;LOW PRODUCT FAILED
|
|
17060 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
17061 043462 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
17062 043463 005 11 0 00 037603 ER5 E,37603 ;C(E) WAS CLOBBERED
|
|
17063 043464 321 15 0 00 043452 JUMPL AC+2,F37600 ;LOOP ON ERROR SWITCH^
|
|
17064 ;LAST CASE DIFFERENT
|
|
17065
|
|
17066 003761 ADR=ADR+1
|
|
17067 000005 WW=WW-1
|
|
17068 010000 000000 XX=XX+XX
|
|
17069 000036 ZZ=ZZ+1
|
|
17070 IFE XX,<ZZ=0>
|
|
17071 IFE XX,<XX=1>
|
|
17072
|
|
17073 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
17074 525252 525252 V1=N1
|
|
17075 520000 000000 V2=<N1_ZZ>!1B0
|
|
17076 IFE WW,<V2=0>
|
|
17077 IFL XX,<V3=N2+1>
|
|
17078 772525 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
17079 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
17080 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
17081 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
17082 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
17083 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
17084
|
|
17085 010000 000000 F37610: AA1=XX ;INITIAL C(AC)
|
|
17086 043465 200 13 0 00 044036 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
17087 000000 AA2=0 ;INITIAL C(AC+1)
|
|
17088 043466 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
17089 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
17090 043467 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
17091 043470 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
17092 772525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
17093 043471 312 13 0 00 044323 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
17094 043472 003 13 0 00 037611 ER3 AC,37611 ;HIGH PRODUCT FAILED
|
|
17095 520000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
17096 043473 312 14 0 00 044324 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
17097 043474 004 14 0 00 037612 ER4 AC+1,37612 ;LOW PRODUCT FAILED
|
|
17098 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
17099 043475 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
17100 043476 005 11 0 00 037613 ER5 E,37613 ;C(E) WAS CLOBBERED
|
|
17101 043477 321 15 0 00 043465 JUMPL AC+2,F37610 ;LOOP ON ERROR SWITCH^
|
|
17102 ;LAST CASE DIFFERENT
|
|
17103
|
|
17104 003762 ADR=ADR+1
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-22
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0336
|
|
|
|
17105 000004 WW=WW-1
|
|
17106 020000 000000 XX=XX+XX
|
|
17107 000037 ZZ=ZZ+1
|
|
17108 IFE XX,<ZZ=0>
|
|
17109 IFE XX,<XX=1>
|
|
17110
|
|
17111 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
17112 525252 525252 V1=N1
|
|
17113 640000 000000 V2=<N1_ZZ>!1B0
|
|
17114 IFE WW,<V2=0>
|
|
17115 IFL XX,<V3=N2+1>
|
|
17116 765252 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
17117 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
17118 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
17119 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
17120 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
17121 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
17122
|
|
17123 020000 000000 F37620: AA1=XX ;INITIAL C(AC)
|
|
17124 043500 200 13 0 00 044037 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
17125 000000 AA2=0 ;INITIAL C(AC+1)
|
|
17126 043501 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
17127 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
17128 043502 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
17129 043503 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
17130 765252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
17131 043504 312 13 0 00 044325 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
17132 043505 003 13 0 00 037621 ER3 AC,37621 ;HIGH PRODUCT FAILED
|
|
17133 640000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
17134 043506 312 14 0 00 044326 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
17135 043507 004 14 0 00 037622 ER4 AC+1,37622 ;LOW PRODUCT FAILED
|
|
17136 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
17137 043510 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
17138 043511 005 11 0 00 037623 ER5 E,37623 ;C(E) WAS CLOBBERED
|
|
17139 043512 321 15 0 00 043500 JUMPL AC+2,F37620 ;LOOP ON ERROR SWITCH^
|
|
17140 ;LAST CASE DIFFERENT
|
|
17141
|
|
17142 003763 ADR=ADR+1
|
|
17143 000003 WW=WW-1
|
|
17144 040000 000000 XX=XX+XX
|
|
17145 000040 ZZ=ZZ+1
|
|
17146 IFE XX,<ZZ=0>
|
|
17147 IFE XX,<XX=1>
|
|
17148
|
|
17149 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
17150 525252 525252 V1=N1
|
|
17151 500000 000000 V2=<N1_ZZ>!1B0
|
|
17152 IFE WW,<V2=0>
|
|
17153 IFL XX,<V3=N2+1>
|
|
17154 752525 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
17155 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
17156 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
17157 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
17158 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
17159 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-23
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0337
|
|
|
|
17160
|
|
17161 040000 000000 F37630: AA1=XX ;INITIAL C(AC)
|
|
17162 043513 200 13 0 00 044040 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
17163 000000 AA2=0 ;INITIAL C(AC+1)
|
|
17164 043514 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
17165 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
17166 043515 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
17167 043516 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
17168 752525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
17169 043517 312 13 0 00 044327 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
17170 043520 003 13 0 00 037631 ER3 AC,37631 ;HIGH PRODUCT FAILED
|
|
17171 500000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
17172 043521 312 14 0 00 044330 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
17173 043522 004 14 0 00 037632 ER4 AC+1,37632 ;LOW PRODUCT FAILED
|
|
17174 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
17175 043523 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
17176 043524 005 11 0 00 037633 ER5 E,37633 ;C(E) WAS CLOBBERED
|
|
17177 043525 321 15 0 00 043513 JUMPL AC+2,F37630 ;LOOP ON ERROR SWITCH^
|
|
17178 ;LAST CASE DIFFERENT
|
|
17179
|
|
17180 003764 ADR=ADR+1
|
|
17181 000002 WW=WW-1
|
|
17182 100000 000000 XX=XX+XX
|
|
17183 000041 ZZ=ZZ+1
|
|
17184 IFE XX,<ZZ=0>
|
|
17185 IFE XX,<XX=1>
|
|
17186
|
|
17187 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
17188 525252 525252 V1=N1
|
|
17189 600000 000000 V2=<N1_ZZ>!1B0
|
|
17190 IFE WW,<V2=0>
|
|
17191 IFL XX,<V3=N2+1>
|
|
17192 725252 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
17193 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
17194 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
17195 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
17196 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
17197 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
17198
|
|
17199 100000 000000 F37640: AA1=XX ;INITIAL C(AC)
|
|
17200 043526 200 13 0 00 044041 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
17201 000000 AA2=0 ;INITIAL C(AC+1)
|
|
17202 043527 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
17203 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
17204 043530 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
17205 043531 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
17206 725252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
17207 043532 312 13 0 00 044331 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
17208 043533 003 13 0 00 037641 ER3 AC,37641 ;HIGH PRODUCT FAILED
|
|
17209 600000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
17210 043534 312 14 0 00 044173 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
17211 043535 004 14 0 00 037642 ER4 AC+1,37642 ;LOW PRODUCT FAILED
|
|
17212 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
17213 043536 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
17214 043537 005 11 0 00 037643 ER5 E,37643 ;C(E) WAS CLOBBERED
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 20-24
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0338
|
|
|
|
17215 043540 321 15 0 00 043526 JUMPL AC+2,F37640 ;LOOP ON ERROR SWITCH^
|
|
17216 ;LAST CASE DIFFERENT
|
|
17217
|
|
17218 003765 ADR=ADR+1
|
|
17219 000001 WW=WW-1
|
|
17220 200000 000000 XX=XX+XX
|
|
17221 000042 ZZ=ZZ+1
|
|
17222 IFE XX,<ZZ=0>
|
|
17223 IFE XX,<XX=1>
|
|
17224
|
|
17225 ;MULTIPLY 1010...1010 BY A FLOATING 1
|
|
17226 525252 525252 V1=N1
|
|
17227 400000 000000 V2=<N1_ZZ>!1B0
|
|
17228 IFE WW,<V2=0>
|
|
17229 IFL XX,<V3=N2+1>
|
|
17230 652525 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
17231 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
17232 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
17233 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
17234 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
17235 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
17236
|
|
17237 200000 000000 F37650: AA1=XX ;INITIAL C(AC)
|
|
17238 043541 200 13 0 00 044042 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
17239 000000 AA2=0 ;INITIAL C(AC+1)
|
|
17240 043542 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
17241 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
17242 043543 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
17243 043544 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
17244 652525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
17245 043545 312 13 0 00 044332 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
17246 043546 003 13 0 00 037651 ER3 AC,37651 ;HIGH PRODUCT FAILED
|
|
17247 400000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
17248 043547 312 14 0 00 044043 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
17249 043550 004 14 0 00 037652 ER4 AC+1,37652 ;LOW PRODUCT FAILED
|
|
17250 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
17251 043551 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
17252 043552 005 11 0 00 037653 ER5 E,37653 ;C(E) WAS CLOBBERED
|
|
17253 043553 321 15 0 00 043541 JUMPL AC+2,F37650 ;LOOP ON ERROR SWITCH^
|
|
17254
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 21
|
|
DAKAKM MAC 20-JAN-77 11:01 DIAGNOSTIC SECTION - MPY TEST - NON-ZERO PRODUCT SEQ 0339
|
|
|
|
17255 ;MULTIPLY A 1010...1010 BY 400000,,0
|
|
17256 003766 ADR=ADR+1
|
|
17257 400000 000000 XX=400000000000
|
|
17258 525252 525252 V1=525252525252
|
|
17259 525252 525252 V3=525252525252
|
|
17260 400000 000000 V2=400000000000
|
|
17261
|
|
17262 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
17263 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
17264 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
17265 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
17266 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
17267
|
|
17268 400000 000000 F37660: AA1=XX ;INITIAL C(AC)
|
|
17269 043554 200 13 0 00 044043 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
17270 000000 AA2=0 ;INITIAL C(AC+1)
|
|
17271 043555 200 14 0 00 043776 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
17272 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
17273 043556 200 11 0 00 044234 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
17274 043557 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
17275 525252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
17276 043560 312 13 0 00 044234 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
17277 043561 003 13 0 00 037661 ER3 AC,37661 ;HIGH PRODUCT FAILED
|
|
17278 400000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
17279 043562 312 14 0 00 044043 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
17280 043563 004 14 0 00 037662 ER4 AC+1,37662 ;LOW PRODUCT FAILED
|
|
17281 525252 525252 AEE=V1 ;INITIAL C(E)
|
|
17282 043564 312 11 0 00 044234 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
17283 043565 005 11 0 00 037663 ER5 E,37663 ;C(E) WAS CLOBBERED
|
|
17284 043566 321 15 0 00 043554 JUMPL AC+2,F37660 ;LOOP ON ERROR SWITCH^
|
|
17285 043567 254 00 0 00 030057 LAST1: JRST BEGEND
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 1
|
|
UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0340
|
|
|
|
17286 SUBTTL *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975
|
|
17287
|
|
17288 ;THIS SUBROUTINE PROVIDES ERROR REPORTING THRU THE USE OF UUO'S.
|
|
17289
|
|
17290 043570 202 00 0 00 044452 ERRMES: MOVEM 0,%ERAC0# ;SAVE AC0
|
|
17291 IFDEF EXCASB,<IFDEF KI10,<
|
|
17292 043571 336 00 0 00 030040 SKIPN KAIFLG
|
|
17293 043572 254 00 0 00 043577 JRST .+5
|
|
17294 043573 332 00 0 00 030037 SKIPE USER ;USER MODE ?
|
|
17295 043574 254 00 0 00 043577 JRST .+3
|
|
17296 043575 332 00 0 00 030055 SKIPE MARGIN
|
|
17297 043576 7 000 14 0 00 044333 DATAO APR,[IMGNOF,,ISPDOF] ;CLR MARGINS >>
|
|
17298 043577 202 01 0 00 044453 MOVEM 1,%ERAC1# ;SAVE AC1
|
|
17299 043600 202 02 0 00 044454 MOVEM 2,%ERAC2# ;SAVE AC2
|
|
17300 043601 350 00 0 00 030053 AOS ERRTLS ;INCREMENT ERROR TOTALS
|
|
17301 043602 550 00 0 00 030114 HRRZ 0,$SVUPC ;GET PC OF UUO
|
|
17302 043603 316 00 0 00 030052 CAMN 0,ERRPC ;PC = PC OF LAST ERROR ?
|
|
17303 043604 350 00 0 00 044447 AOS MICNT# ;YES, ADD 1 TO ERROR COUNT
|
|
17304 043605 200 00 0 00 044447 MOVE 0,MICNT
|
|
17305 043606 504 00 0 00 030114 HRL 0,$SVUPC
|
|
17306 043607 336 00 0 00 030041 SKIPN KLFLG ;NOT KL10
|
|
17307 043610 332 00 0 00 030037 SKIPE USER ;AND NOT USER?
|
|
17308 043611 254 00 0 00 043613 JRST .+2
|
|
17309 043612 7 004 14 0 00 000000 DATAO PI,0 ;YES, DISPLAY ERROR PC,ERROR COUNT
|
|
17310 043613 402 00 0 00 044450 SETZM PROCED# ;CLEAR PROCEED FLAG
|
|
17311 043614 037 10 0 00 000002 SWITCH
|
|
17312 043615 603 00 0 00 040000 TLNE NOPNT ;PRINTOUT ?
|
|
17313 043616 254 00 0 00 043731 JRST %ERRS1 ;NO, RESTORE AC'S AND RETURN
|
|
17314 043617 200 01 0 00 030113 MOVE 1,$SVUUO
|
|
17315 043620 242 01 0 00 777745 LSH 1,-^D27
|
|
17316 043621 202 01 0 00 044451 MOVEM 1,%ACS1A# ;SAVE UUO NUMBER
|
|
17317 043622 200 00 0 00 044452 MOVE 0,%ERAC0
|
|
17318 043623 200 01 0 00 044453 MOVE 1,%ERAC1
|
|
17319 043624 335 00 1 00 044446 SKIPGE @ERRLOP ;ERR LOOP AC > OR = 0 ?
|
|
17320 043625 254 00 0 00 043771 JRST %ERRS4 ;NO, SEE IF PRINT ALL
|
|
17321 043626 402 00 0 00 044447 %ERMS1: SETZM MICNT ;CLEAR ERROR COUNT
|
|
17322 043627 331 00 0 00 030043 SKIPL MONCTL ;DIAG MON OR SYS EXER ?
|
|
17323 043630 254 00 0 00 043634 JRST .+4 ;NO, DON'T NEED TITLE
|
|
17324 043631 336 00 0 00 044455 SKIPN %ERFST# ;FIRST ERROR ?
|
|
17325 043632 037 04 0 00 000002 PNTNM ;YES, PRINT PROGRAM TITLE
|
|
17326 043633 476 00 0 00 044455 SETOM %ERFST
|
|
17327 043634 336 00 0 00 030047 SKIPN PASCNT ;FIRST PASS ?
|
|
17328 043635 254 00 0 00 043641 JRST .+4 ;YES
|
|
17329 PMSG <^TEST PASS COUNT = >^
|
|
17330 043636 037 02 0 00 044334 PSIXM [SIXBIT\^TEST PASS COUNT = _\]^
|
|
17331 043637 200 00 0 00 030047 MOVE PASCNT
|
|
17332 043640 037 15 0 00 000000 PNTDEC
|
|
17333 PMSG <^PC = >^
|
|
17334 043641 037 02 0 00 044340 PSIXM [SIXBIT\^PC = _\]^
|
|
17335 043642 550 00 0 00 030114 HRRZ 0,$SVUPC ;GET PC OF UUO
|
|
17336 043643 202 00 0 00 030052 MOVEM 0,ERRPC ;SAVE FOR COMPARE
|
|
17337 043644 037 06 0 00 000000 PNT6 ;PRINT UUO ADDRESS
|
|
17338 XLIST
|
|
17339 IFDEF ERDIAG,<LIST
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 2
|
|
UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0341
|
|
|
|
17340 ;DIAGNOSTIC FORMAT ERROR PRINTER
|
|
17341
|
|
17342 ;PRINT RESULT
|
|
17343
|
|
17344 043645 %ERMS2: PMSG <^RESULT = >^
|
|
17345 043645 037 02 0 00 044342 PSIXM [SIXBIT\^RESULT = _\]^
|
|
17346 043646 200 01 0 00 030113 MOVE 1,$SVUUO ;GET AC # OF UUO
|
|
17347 043647 242 01 0 00 777751 LSH 1,-27
|
|
17348 043650 405 01 0 00 000017 ANDI 1,17
|
|
17349 043651 200 00 0 01 000000 MOVE 0,(1) ;GET C(AC)
|
|
17350 043652 307 01 0 00 000001 CAIG 1,1 ;IS AC # = TO SAVE AC ?
|
|
17351 043653 200 00 0 01 044452 MOVE 0,%ERAC0(1) ;YES, GET SAVED AC
|
|
17352 043654 037 13 0 00 000000 PNTHW ;PRINT C(AC)
|
|
17353
|
|
17354 043655 200 00 0 00 030046 MOVE CONSW
|
|
17355 043656 603 00 0 00 000200 TLNE TXTINH ;PRINT FAILURE DES AND FLT NBR ?
|
|
17356 043657 254 00 0 00 043726 JRST %ERMORE ;NO, RESTORE AC'S ETC.
|
|
17357
|
|
17358 ;PRINT FAILURE DESCRIPTOR
|
|
17359
|
|
17360 043660 200 01 0 00 044451 MOVE 1,%ACS1A ;GET UUO NUMBER
|
|
17361 043661 307 01 0 00 000001 CAIG 1,1 ;PRINT DESCRIPTOR ?
|
|
17362 043662 254 00 0 00 043666 JRST %ERMS3 ;NO, JUST PRINT FAULT NUMBER
|
|
17363 043663 037 00 0 00 030242 PCRL
|
|
17364 043664 200 00 0 01 043712 MOVE %FLTTB(1)
|
|
17365 043665 037 17 0 00 000000 PNTAL ;PRINT FAULT DESCRIPTOR
|
|
17366
|
|
17367 ;PRINT FAULT NUMBER
|
|
17368
|
|
17369 043666 %ERMS3: PMSG <^FAULT NUMBER = >^
|
|
17370 043666 037 02 0 00 044344 PSIXM [SIXBIT\^FAULT NUMBER = _\]^
|
|
17371 043667 201 00 0 00 043711 MOVEI TLET
|
|
17372 043670 037 00 0 00 000000 PNTA ;PRINT TEST LETTER
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 3
|
|
UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0342
|
|
|
|
17373
|
|
17374 043671 550 00 0 00 030113 HRRZ $SVUUO
|
|
17375 043672 602 00 0 00 700000 TRNE 700000
|
|
17376 043673 254 00 0 00 043707 JRST %ER6X
|
|
17377 043674 602 00 0 00 070000 TRNE 070000
|
|
17378 043675 254 00 0 00 043705 JRST %ER5X
|
|
17379 043676 602 00 0 00 007000 TRNE 007000
|
|
17380 043677 254 00 0 00 043703 JRST %ER4X
|
|
17381 043700 037 03 0 00 000000 PNT3 ;PRINT FAULT NUMBER
|
|
17382 043701 037 00 0 00 030242 %ER7X: PCRL
|
|
17383 043702 254 00 0 00 043726 JRST %ERMORE
|
|
17384
|
|
17385 043703 037 04 0 00 000000 %ER4X: PNT4
|
|
17386 043704 254 00 0 00 043701 JRST %ER7X
|
|
17387 043705 037 05 0 00 000000 %ER5X: PNT5
|
|
17388 043706 254 00 0 00 043701 JRST %ER7X
|
|
17389 043707 037 06 0 00 000000 %ER6X: PNT6
|
|
17390 043710 254 00 0 00 043701 JRST %ER7X
|
|
17391
|
|
17392 ;FAILURE DESCRIPTORS
|
|
17393
|
|
17394 043711 000000 000000 TLET: 0 ;TEST LETTER
|
|
17395 043712 000000 000000 %FLTTB: 0 ;DESCRIPTOR TABLE
|
|
17396 043713 000000 043776 %NODES: [0] ;NO DESCRIPTOR
|
|
17397 043714 000000 043776 SPDES: [0] ;SPECIAL USER FAILURE DESCRIPTOR
|
|
17398 043715 000000 044347 $ACF: [ASCIZ/C(AC) FAILED/]
|
|
17399 043716 000000 044352 %AC1F: [ASCIZ/C(AC+1) FAILED/]
|
|
17400 043717 000000 044355 %EF: [ASCIZ/C(E) FAILED/]
|
|
17401 043720 000000 044360 %E1F: [ASCIZ/C(E+1) FAILED/]
|
|
17402 043721 000000 044363 %ARF: [ASCIZ/C(C(ACR)) FAILED/]
|
|
17403 043722 000000 044367 %AR1F: [ASCIZ/C(C(ACR+1)) FAILED/]
|
|
17404 043723 000000 044373 %ALF: [ASCIZ/C(C(ACL)) FAILED/]
|
|
17405 043724 000000 044377 %EEF: [ASCIZ/C(C(E)) FAILED/]
|
|
17406 043725 000000 044402 %FF: [ASCIZ/FLAG FAILED/]
|
|
17407 >
|
|
17408 XLIST
|
|
17409 LIST
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 8
|
|
UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0343
|
|
|
|
17410 ;RESTORE AC'S AND RETURN OR HALT
|
|
17411
|
|
17412 043726 256 00 0 00 030101 %ERMORE:XCT ERMORE
|
|
17413 043727 037 16 0 00 000002 PNTMGN ;PRINT MARGINS
|
|
17414 043730 037 10 0 00 000002 SWITCH
|
|
17415
|
|
17416 043731 037 07 0 00 000003 %ERRS1: TTALTM ;ALTMODE CHECK
|
|
17417 043732 254 00 0 00 043736 JRST .+4 ;NONE
|
|
17418 043733 201 00 0 00 043736 MOVEI .+3 ;SAVE CONT ADDRESS
|
|
17419 043734 202 00 0 00 000130 MOVEM JOBOPC
|
|
17420 043735 254 00 1 00 030063 JRST @ALTMGO ;PERFORM TRANSFER
|
|
17421 043736 200 00 0 00 030046 MOVE CONSW
|
|
17422 043737 603 00 0 00 002000 TLNE 0,ERSTOP ;HALT ON ERROR SWITCH SET ?
|
|
17423 043740 037 14 0 00 000004 ERRHLT ;YES
|
|
17424 043741 607 00 0 00 004000 TLNN 0,LOOPER ;LOOP ON ERROR SWITCH SET ?
|
|
17425 043742 476 00 0 00 044450 SETOM PROCED ;NO, SET THE PROCEED FLAG
|
|
17426 043743 603 00 0 00 010000 TLNE 0,DING ;RING BELL SWITCH SET ?
|
|
17427 043744 037 01 0 00 000007 PBELL ;YES, GO RING BELL
|
|
17428
|
|
17429 043745 200 02 0 00 044454 %ERRS2: MOVE 2,%ERAC2 ;RESTORE AC'S
|
|
17430 043746 200 01 0 00 044453 MOVE 1,%ERAC1
|
|
17431 043747 476 00 1 00 044446 SETOM @ERRLOP ;SET C(ERR LOOP AC) TO -1
|
|
17432 043750 336 00 0 00 044450 SKIPN PROCED ;LOOP ON ERROR ?
|
|
17433 043751 254 00 0 00 043761 JRST %ERRS5 ;YES
|
|
17434 043752 350 00 1 00 044446 AOS @ERRLOP ;NO, INC C(ERR LOOP AC)
|
|
17435 043753 350 00 1 00 044446 AOS @ERRLOP ;SO IT ='S 1
|
|
17436 043754 331 00 0 00 030043 SKIPL MONCTL ;UNDER DIAGNOSTIC MONITOR ?
|
|
17437 043755 254 00 0 00 043761 JRST %ERRS5 ;NO, CONTINUE PROGRAM
|
|
17438 043756 200 00 0 00 030053 MOVE 0,ERRTLS ;YES
|
|
17439 043757 301 00 0 00 000005 CAIL 0,5 ;PRINTED ALLOWED ERRORS ?
|
|
17440 043760 254 00 0 00 030061 JRST $BEND2
|
|
17441
|
|
17442 043761 200 00 0 00 044452 %ERRS5: MOVE 0,%ERAC0 ;NO, CONTINUE PROGRAM
|
|
17443 IFDEF EXCASB,<IFDEF KI10,<
|
|
17444 043762 336 00 0 00 030040 SKIPN KAIFLG
|
|
17445 043763 254 00 0 00 043770 JRST .+5
|
|
17446 043764 332 00 0 00 030037 SKIPE USER
|
|
17447 043765 254 00 0 00 043770 JRST .+3
|
|
17448 043766 332 00 0 00 030055 SKIPE MARGIN
|
|
17449 043767 7 000 14 0 00 030055 DATAO APR,MARGIN ;RESET MARGIN SYSTEM >>
|
|
17450 043770 254 00 0 00 030065 JRST UUOEXT
|
|
17451
|
|
17452 043771 200 00 0 00 030046 %ERRS4: MOVE 0,CONSW
|
|
17453 043772 607 00 0 00 001000 TLNN PALERS ;PRINT ALL ERRORS ?
|
|
17454 043773 254 00 0 00 043731 JRST %ERRS1 ;NO
|
|
17455 043774 254 00 0 00 043626 JRST %ERMS1 ;YES
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 1
|
|
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0344
|
|
|
|
17456 SUBTTL *STOR* RESERVED STORAGE, JAN 18,1977
|
|
17457
|
|
17458 ;PROGRAM LITERALS
|
|
17459
|
|
17460 XLIST
|
|
17461 IFNDEF $LPAPER,<LIST>
|
|
17462 043775 LIT
|
|
17463 043775 101 113 000 000 000
|
|
17464 043776 000000 000000
|
|
17465 043777 777777 777777
|
|
17466 044000 000000 000001
|
|
17467 044001 000000 000002
|
|
17468 044002 000000 000004
|
|
17469 044003 000000 000010
|
|
17470 044004 000000 000020
|
|
17471 044005 000000 000040
|
|
17472 044006 000000 000100
|
|
17473 044007 000000 000200
|
|
17474 044010 000000 000400
|
|
17475 044011 000000 001000
|
|
17476 044012 000000 002000
|
|
17477 044013 000000 004000
|
|
17478 044014 000000 010000
|
|
17479 044015 000000 020000
|
|
17480 044016 000000 040000
|
|
17481 044017 000000 100000
|
|
17482 044020 000000 200000
|
|
17483 044021 000000 400000
|
|
17484 044022 000001 000000
|
|
17485 044023 000002 000000
|
|
17486 044024 000004 000000
|
|
17487 044025 000010 000000
|
|
17488 044026 000020 000000
|
|
17489 044027 000040 000000
|
|
17490 044030 000100 000000
|
|
17491 044031 000200 000000
|
|
17492 044032 000400 000000
|
|
17493 044033 001000 000000
|
|
17494 044034 002000 000000
|
|
17495 044035 004000 000000
|
|
17496 044036 010000 000000
|
|
17497 044037 020000 000000
|
|
17498 044040 040000 000000
|
|
17499 044041 100000 000000
|
|
17500 044042 200000 000000
|
|
17501 044043 400000 000000
|
|
17502 044044 777777 777776
|
|
17503 044045 777777 777775
|
|
17504 044046 777777 777773
|
|
17505 044047 777777 777767
|
|
17506 044050 777777 777757
|
|
17507 044051 777777 777737
|
|
17508 044052 777777 777677
|
|
17509 044053 777777 777577
|
|
17510 044054 777777 777377
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 1-1
|
|
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0345
|
|
|
|
17511 044055 777777 776777
|
|
17512 044056 777777 775777
|
|
17513 044057 777777 773777
|
|
17514 044060 777777 767777
|
|
17515 044061 777777 757777
|
|
17516 044062 777777 737777
|
|
17517 044063 777777 677777
|
|
17518 044064 777777 577777
|
|
17519 044065 777777 377777
|
|
17520 044066 777776 777777
|
|
17521 044067 777775 777777
|
|
17522 044070 777773 777777
|
|
17523 044071 777767 777777
|
|
17524 044072 777757 777777
|
|
17525 044073 777737 777777
|
|
17526 044074 777677 777777
|
|
17527 044075 777577 777777
|
|
17528 044076 777377 777777
|
|
17529 044077 776777 777777
|
|
17530 044100 775777 777777
|
|
17531 044101 773777 777777
|
|
17532 044102 767777 777777
|
|
17533 044103 757777 777777
|
|
17534 044104 737777 777777
|
|
17535 044105 677777 777777
|
|
17536 044106 577777 777777
|
|
17537 044107 377777 777777
|
|
17538 044110 000000 000003
|
|
17539 044111 000000 000005
|
|
17540 044112 000000 000006
|
|
17541 044113 000000 000007
|
|
17542 044114 000000 000011
|
|
17543 044115 000000 000012
|
|
17544 044116 000000 000013
|
|
17545 044117 000000 000014
|
|
17546 044120 000000 000015
|
|
17547 044121 000000 000016
|
|
17548 044122 000000 000017
|
|
17549 044123 777777 777774
|
|
17550 044124 777777 777772
|
|
17551 044125 777777 777771
|
|
17552 044126 777777 777770
|
|
17553 044127 777777 777766
|
|
17554 044130 777777 777765
|
|
17555 044131 777777 777764
|
|
17556 044132 777777 777763
|
|
17557 044133 777777 777762
|
|
17558 044134 777777 777761
|
|
17559 044135 777777 777760
|
|
17560 044136 777777 777740
|
|
17561 044137 777777 777700
|
|
17562 044140 777777 777600
|
|
17563 044141 777777 777400
|
|
17564 044142 777777 777000
|
|
17565 044143 777777 776000
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 1-2
|
|
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0346
|
|
|
|
17566 044144 777777 774000
|
|
17567 044145 777777 770000
|
|
17568 044146 777777 760000
|
|
17569 044147 777777 740000
|
|
17570 044150 777777 700000
|
|
17571 044151 777777 600000
|
|
17572 044152 777777 400000
|
|
17573 044153 777777 000000
|
|
17574 044154 777776 000000
|
|
17575 044155 777774 000000
|
|
17576 044156 777770 000000
|
|
17577 044157 777760 000000
|
|
17578 044160 777740 000000
|
|
17579 044161 777700 000000
|
|
17580 044162 777600 000000
|
|
17581 044163 777400 000000
|
|
17582 044164 777000 000000
|
|
17583 044165 776000 000000
|
|
17584 044166 774000 000000
|
|
17585 044167 770000 000000
|
|
17586 044170 760000 000000
|
|
17587 044171 740000 000000
|
|
17588 044172 700000 000000
|
|
17589 044173 600000 000000
|
|
17590 044174 000000 000021
|
|
17591 044175 000000 000041
|
|
17592 044176 000000 000101
|
|
17593 044177 000000 000201
|
|
17594 044200 000000 000401
|
|
17595 044201 000000 001001
|
|
17596 044202 000000 002001
|
|
17597 044203 000000 004001
|
|
17598 044204 000000 010001
|
|
17599 044205 000000 020001
|
|
17600 044206 000000 040001
|
|
17601 044207 000000 100001
|
|
17602 044210 000000 200001
|
|
17603 044211 000000 400001
|
|
17604 044212 000001 000001
|
|
17605 044213 000002 000001
|
|
17606 044214 000004 000001
|
|
17607 044215 000010 000001
|
|
17608 044216 000020 000001
|
|
17609 044217 000040 000001
|
|
17610 044220 000100 000001
|
|
17611 044221 000200 000001
|
|
17612 044222 000400 000001
|
|
17613 044223 001000 000001
|
|
17614 044224 002000 000001
|
|
17615 044225 004000 000001
|
|
17616 044226 010000 000001
|
|
17617 044227 020000 000001
|
|
17618 044230 040000 000001
|
|
17619 044231 100000 000001
|
|
17620 044232 200000 000001
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 1-3
|
|
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0347
|
|
|
|
17621 044233 400000 000001
|
|
17622 044234 525252 525252
|
|
17623 044235 652525 252524
|
|
17624 044236 525252 525250
|
|
17625 044237 652525 252520
|
|
17626 044240 525252 525240
|
|
17627 044241 777777 777752
|
|
17628 044242 652525 252500
|
|
17629 044243 777777 777725
|
|
17630 044244 525252 525200
|
|
17631 044245 777777 777652
|
|
17632 044246 652525 252400
|
|
17633 044247 777777 777525
|
|
17634 044250 525252 525000
|
|
17635 044251 777777 777252
|
|
17636 044252 652525 252000
|
|
17637 044253 777777 776525
|
|
17638 044254 525252 524000
|
|
17639 044255 777777 775252
|
|
17640 044256 652525 250000
|
|
17641 044257 777777 772525
|
|
17642 044260 525252 520000
|
|
17643 044261 777777 765252
|
|
17644 044262 652525 240000
|
|
17645 044263 777777 752525
|
|
17646 044264 525252 500000
|
|
17647 044265 777777 725252
|
|
17648 044266 652525 200000
|
|
17649 044267 777777 652525
|
|
17650 044270 525252 400000
|
|
17651 044271 777777 525252
|
|
17652 044272 652525 000000
|
|
17653 044273 777777 252525
|
|
17654 044274 525252 000000
|
|
17655 044275 777776 525252
|
|
17656 044276 652524 000000
|
|
17657 044277 777775 252525
|
|
17658 044300 525250 000000
|
|
17659 044301 777772 525252
|
|
17660 044302 652520 000000
|
|
17661 044303 777765 252525
|
|
17662 044304 525240 000000
|
|
17663 044305 777752 525252
|
|
17664 044306 652500 000000
|
|
17665 044307 777725 252525
|
|
17666 044310 525200 000000
|
|
17667 044311 777652 525252
|
|
17668 044312 652400 000000
|
|
17669 044313 777525 252525
|
|
17670 044314 525000 000000
|
|
17671 044315 777252 525252
|
|
17672 044316 652000 000000
|
|
17673 044317 776525 252525
|
|
17674 044320 524000 000000
|
|
17675 044321 775252 525252
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 1-4
|
|
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0348
|
|
|
|
17676 044322 650000 000000
|
|
17677 044323 772525 252525
|
|
17678 044324 520000 000000
|
|
17679 044325 765252 525252
|
|
17680 044326 640000 000000
|
|
17681 044327 752525 252525
|
|
17682 044330 500000 000000
|
|
17683 044331 725252 525252
|
|
17684 044332 652525 252525
|
|
17685 044333 002000 010000
|
|
17686 044334 76 64 45 63 64 00
|
|
17687 044335 60 41 63 63 00 43
|
|
17688 044336 57 65 56 64 00 35
|
|
17689 044337 00 77 00 00 00 00
|
|
17690 044340 76 60 43 00 35 00
|
|
17691 044341 00 00 77 00 00 00
|
|
17692 044342 76 62 45 63 65 54
|
|
17693 044343 64 00 00 35 00 77
|
|
17694 044344 76 46 41 65 54 64
|
|
17695 044345 00 56 65 55 42 45
|
|
17696 044346 62 00 35 00 77 00
|
|
17697 044347 103 050 101 103 051
|
|
17698 044350 040 106 101 111 114
|
|
17699 044351 105 104 000 000 000
|
|
17700 044352 103 050 101 103 053
|
|
17701 044353 061 051 040 106 101
|
|
17702 044354 111 114 105 104 000
|
|
17703 044355 103 050 105 051 040
|
|
17704 044356 106 101 111 114 105
|
|
17705 044357 104 000 000 000 000
|
|
17706 044360 103 050 105 053 061
|
|
17707 044361 051 040 106 101 111
|
|
17708 044362 114 105 104 000 000
|
|
17709 044363 103 050 103 050 101
|
|
17710 044364 103 122 051 051 040
|
|
17711 044365 106 101 111 114 105
|
|
17712 044366 104 000 000 000 000
|
|
17713 044367 103 050 103 050 101
|
|
17714 044370 103 122 053 061 051
|
|
17715 044371 051 040 106 101 111
|
|
17716 044372 114 105 104 000 000
|
|
17717 044373 103 050 103 050 101
|
|
17718 044374 103 114 051 051 040
|
|
17719 044375 106 101 111 114 105
|
|
17720 044376 104 000 000 000 000
|
|
17721 044377 103 050 103 050 105
|
|
17722 044400 051 051 040 106 101
|
|
17723 044401 111 114 105 104 000
|
|
17724 044402 106 114 101 107 040
|
|
17725 044403 106 101 111 114 105
|
|
17726 044404 104 000 000 000 000
|
|
17727 LIST
|
|
17728 044405 000000 000000 ENDSLD: 0
|
|
17729
|
|
17730 IFDEF DEBUG,<
|
|
DAKAK PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (11) 0,2 MACRO %52(537) 16:26 20-JAN-77 PAGE 1-5
|
|
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0349
|
|
|
|
17731 044406 PATCH: BLOCK DEBUG ;PATCHING AREA
|
|
17732 >
|
|
17733
|
|
17734 ;PROGRAM VARIABLES
|
|
17735 044446 VAR
|
|
17736
|
|
17737 IFDEF PGMEND,<
|
|
17738 044456 000000 000000 END: 0
|
|
17739 030000 END BEGIN >
|
|
|
|
NO ERRORS DETECTED
|
|
|
|
PROGRAM BREAK IS 000000
|
|
ABSLUTE BREAK IS 044457
|
|
CPU TIME USED 01:27.393
|
|
|
|
17K CORE USED
|