18052 lines
867 KiB
Text
18052 lines
867 KiB
Text
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 1
|
|
DAKALT MAC 20-JAN-77 11:19 DIAGNOSTIC PARAMETERS SEQ 0011
|
|
|
|
1 ;DAKAL
|
|
2
|
|
3
|
|
4 000000 MCNVER==0
|
|
5 000002 DECVER==2
|
|
6
|
|
7
|
|
8 XLIST
|
|
9 LIST
|
|
10 LALL
|
|
11
|
|
12 NAME \MCNVER,\DECVER^
|
|
13
|
|
14 TITLE DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2
|
|
15 ^
|
|
16
|
|
17 ;(MULTIPY, INTERGER MULTIPLY, DIVIDE, INTERGER DIVIDE)
|
|
18
|
|
19 ;COPYRIGHT 1975,1977
|
|
20 ;DIGITAL EQUIPMENT CORPORATION
|
|
21 ;MARLBORO, MASS. 01752
|
|
22
|
|
23 ;JOHN R. KIRCHOFF
|
|
24
|
|
25 000137 LOC 137
|
|
26 000137 000000 000002 MCNVER,,DECVER
|
|
27
|
|
28 .DIRECTIVE .OKOVL
|
|
29 NOSYM
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2
|
|
DAKALT MAC 20-JAN-77 11:19 DIAGNOSTIC PARAMETERS SEQ 0012
|
|
|
|
30 SUBTTL DIAGNOSTIC PARAMETERS
|
|
31
|
|
32 ;OPERATOR DEFINITIONS
|
|
33
|
|
34 001000 000000 OPDEF ER1 [1B8]
|
|
35 002000 000000 OPDEF ER2 [2B8]
|
|
36 003000 000000 OPDEF ER3 [3B8]
|
|
37 004000 000000 OPDEF ER4 [4B8]
|
|
38 005000 000000 OPDEF ER5 [5B8]
|
|
39 006000 000000 OPDEF ER6 [6B8]
|
|
40 007000 000000 OPDEF ER7 [7B8]
|
|
41 010000 000000 OPDEF ER10 [10B8]
|
|
42 011000 000000 OPDEF ER11 [11B8]
|
|
43 012000 000000 OPDEF ER12 [12B8]
|
|
44 013000 000000 OPDEF ER13 [13B8]
|
|
45
|
|
46 044422 LUUO1=ERRMES
|
|
47 044422 LUUO2=ERRMES
|
|
48 044422 LUUO3=ERRMES
|
|
49 044422 LUUO4=ERRMES
|
|
50 044422 LUUO5=ERRMES
|
|
51 044422 LUUO6=ERRMES
|
|
52 044422 LUUO7=ERRMES
|
|
53 044422 LUUO10=ERRMES
|
|
54 044422 LUUO11=ERRMES
|
|
55 044422 LUUO12=ERRMES
|
|
56 044422 LUUO13=ERRMES
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3
|
|
DAKALT MAC 20-JAN-77 11:19 DIAGNOSTIC PARAMETERS SEQ 0013
|
|
|
|
57 ;SUBROUTINE ASSEMBLY DEFINITIONS
|
|
58
|
|
59 000040 DEBUG=40
|
|
60 000001 EXCASB=1
|
|
61 000001 USRASB=1
|
|
62 000001 KA10=1
|
|
63 000001 KLOLD==1
|
|
64 000001 PGMEND=1
|
|
65 000001 ERDIAG=1
|
|
66
|
|
67 ;SPECIAL FEATURE DEFINITIONS
|
|
68
|
|
69 030000 SADR1=BEGIN
|
|
70 030000 SADR2=BEGIN
|
|
71 030000 SADR3=BEGIN
|
|
72 030000 SADR4=BEGIN
|
|
73 254000 030000 SADR5=JRST BEGIN
|
|
74 254000 030000 SADR6=JRST BEGIN
|
|
75 254000 030000 SADR7=JRST BEGIN
|
|
76 254000 030000 SADR8=JRST BEGIN
|
|
77 254000 030000 SADR9=JRST BEGIN
|
|
78 254000 030000 SADR10=JRST BEGIN
|
|
79 254000 030000 SADR11=JRST BEGIN
|
|
80
|
|
81 ;SPECIAL FEATURE PARAMETERS
|
|
82
|
|
83 000000 PAREA0=0
|
|
84 000000 PAREA1=0
|
|
85 000000 PAREA2=0
|
|
86 444153 415400 PAREA3=SIXBIT/DAKAL/
|
|
87 645560 000000 PAREA4=SIXBIT/TMP/
|
|
88 000000 PAREA5=0
|
|
89 000000 PAREA6=0
|
|
90 001000 ITERAT==1000
|
|
91
|
|
92 ;MACROS
|
|
93
|
|
94 DEFINE SAVEAC (A,B)<
|
|
95 MOVEI AC+2,. ;SAVE TEST PC
|
|
96 MOVEM AC+2,TESTPC
|
|
97 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
98 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 4
|
|
DAKALT MAC 20-JAN-77 11:19 DIAGNOSTIC PARAMETERS SEQ 0014
|
|
|
|
99 DEFINE MOP1 (T,A1,A2,EE,R1,R2)<
|
|
100 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [A1],[A2] AND
|
|
101 ;[EE] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
102 ;AND E AGAINST [R1], [R2] AND [EE] RESPECTIVELY.
|
|
103 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
104
|
|
105 F'T'0: AA1=A1 ;INITIAL C(AC)
|
|
106 MOVE AC,[A1] ;PRELOAD AC (MULTIPLIER)
|
|
107 AA2=A2 ;INITIAL C(AC+1)
|
|
108 MOVE AC+1,[A2] ;PRELOAD AC+1
|
|
109 AEE=EE ;INITIAL C(E)
|
|
110 MOVE E,[EE] ;PRELOAD E (MULTIPLICAND)
|
|
111 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
112 AR1=R1 ;EXPECTED RESULT IN AC
|
|
113 CAME AC,[R1] ;IS HIGH PRODUCT CORRECT?
|
|
114 ER3 AC,T'1 ;HIGH PRODUCT FAILED
|
|
115 AR2=R2 ;EXPECTED RESULT IN AC+1
|
|
116 CAME AC+1,[R2] ;IS LOW PRODUCT CORRECT?
|
|
117 ER4 AC+1,T'2 ;LOW PRODUCT FAILED
|
|
118 AEE=EE ;INITIAL C(E)
|
|
119 CAME E,[EE] ;WAS C(E) CLOBBERED?
|
|
120 ER5 E,T'3 ;C(E) WAS CLOBBERED
|
|
121 JUMPL AC+2,F'T'0 ;LOOP ON ERROR SWITCH>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 1
|
|
PARAM KLM 18-JAN-77 11:38 *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977 SEQ 0015
|
|
|
|
122 SUBTTL *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977
|
|
123
|
|
124 DEFINE S,<;*********************************************************************>
|
|
125
|
|
126 S^;*********************************************************************^
|
|
127 ;*DATA SWITCHES (READ FROM CONSOLE IN EXEC MODE OR TYPED IN IN USER MODE)
|
|
128 ;*LEFT HALF SWITCHES ARE PRE-ASSIGNED FOR SUBROUTINE PACKAGE USE
|
|
129 ;*AND CONTROL LOOPING, PRINTING (TTY OR OTHER DEVICE) AND MISC. FUNCTIONS
|
|
130 S^;*********************************************************************^
|
|
131
|
|
132 400000 ABORT== 400000 ;ABORT PROGRAM ON PASS COMPLETION
|
|
133 200000 RSTART==200000 ;RESTART TEST, PRINT TOTALS
|
|
134 100000 TOTALS==100000 ;PRINT TOTALS, CONTINUE
|
|
135
|
|
136 040000 NOPNT== 040000 ;INHIBIT ALL PRINT/TYPE OUT (EXCEPT FORCED)
|
|
137 020000 PNTLPT==020000 ;PRINT ALL DATA ON LPT (LOGICAL DEVICE, USER MODE)
|
|
138 010000 DING== 010000 ;RING BELL ON ERROR
|
|
139
|
|
140 004000 LOOPER==004000 ;ENTER EXERCISE/CHECK LOOP ON ERROR
|
|
141 002000 ERSTOP==002000 ;HALT ON TEST ERROR
|
|
142 001000 PALERS==001000 ;PRINT ALL ERRORS
|
|
143
|
|
144 000400 RELIAB==000400 ;RELIABILITY MODE
|
|
145 000200 TXTINH==000200 ;INHIBIT ERROR TEXT
|
|
146 000100 INHPAG==000100 ;INHIBIT PAGING
|
|
147
|
|
148 000040 MODDVC==000040 ;MODIFY DEVICE CODE
|
|
149 000020 INHCSH==000020 ;INHIBIT CACHE
|
|
150 000010 OPRSEL==000010 ;OPERATOR SELECTION
|
|
151
|
|
152 000004 CHAIN== 000004 ;CHAIN CONTROL SWITCH
|
|
153
|
|
154 000002 KAHZ50==000002 ;KA10 50 HERTZ POWER
|
|
155
|
|
156 ;SWITCH 17 RESERVED !!!
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2
|
|
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0016
|
|
|
|
157 SUBTTL *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977
|
|
158
|
|
159 S^;*********************************************************************^
|
|
160 ;*SPECIAL SUBPROGRAM LINKAGES
|
|
161 S^;*********************************************************************^
|
|
162
|
|
163 027772 FSELNK= 27772 ;FILE SELECT LINK
|
|
164 027773 FRDLNK= 27773 ;FILE READ LINK
|
|
165 027774 LDLNK= 27774 ;LOAD LINKAGE ADDRESS
|
|
166 027775 DDTLNK= 27775 ;DDT LINKAGE ADDRESS
|
|
167 027776 MODLNK= 27776 ;OPERATIONAL MODE CHECK LINKAGE ADDRESS
|
|
168 027777 SUBLNK= 27777 ;SUBROUTINE LINKAGE ADDRESS
|
|
169
|
|
170 S^;*********************************************************************^
|
|
171 ;*SPECIAL SUBROUTINE FATAL HALTS
|
|
172 ;*USED TO REPORT ERRORS THAT CAUSE THE SUBROUTINES TO BE UNUSABLE
|
|
173 S^;*********************************************************************^
|
|
174
|
|
175 ;ADDRESS TAG REASON
|
|
176 ;---------------------
|
|
177
|
|
178 ; 1010 NOEXEC ;PROGRAM NOT CODED FOR EXEC MODE OPERATION
|
|
179 ; 1011 PLERR ;FATAL PUSH LIST POINTER ERROR
|
|
180 ; 1012 PLERR1 ;INITIAL PUSH LIST POINTER ERROR
|
|
181 ; 1013 MUOERR ;MUUO WITH LUUO HANDLER WIPED OUT
|
|
182 ; 1014 DTEBER ;DTE20 INTERRUPT WITHOUT DOORBELL
|
|
183 ; 1015 DTECER ;DTE20 CLOCK INTERRUPT WITHOUT FLAG SET
|
|
184 ; 1016 CPIERR ;CPU INITIALIZATION ERROR
|
|
185 ; 1017 EOPERR ;END OF PROGRAM ERROR
|
|
186 ; 1020 LUOERR ;INTERRUPT WITH LUUO HANDLER WIPED OUT
|
|
187
|
|
188 S^;*********************************************************************^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3
|
|
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0017
|
|
|
|
189 S^;*********************************************************************^
|
|
190 ;OPERATOR DEFINITIONS (NON-UUO'S)
|
|
191 S^;*********************************************************************^
|
|
192
|
|
193 260740 000000 OPDEF GO [PUSHJ P,] ;SUBROUTINE CALL
|
|
194 263740 000000 OPDEF RTN [POPJ P,] ;SUBROUTINE RETURN
|
|
195 261740 000000 OPDEF PUT [PUSH P,] ;PUT DATA ON PUSH LIST
|
|
196 262740 000000 OPDEF GET [POP P,] ;GET DATA FROM PUSH LIST
|
|
197 254000 000000 OPDEF PJRST [JRST ] ;JRST TO ROUTINE THAT RTN'S
|
|
198 254200 000000 OPDEF HALT [JRST 4,] ;DEFINITION FOR DDT
|
|
199 254100 000000 OPDEF JRSTF [JRST 2,] ;DEFINITION FOR DDT
|
|
200 254500 000000 OPDEF JEN [JRST 12,] ;DEFINITION FOR DDT
|
|
201
|
|
202 S^;*********************************************************************^
|
|
203 ;*SUBROUTINE INITIALIZATION CALL
|
|
204 S^;*********************************************************************^
|
|
205
|
|
206 265000 030011 OPDEF PGMINT [JSP 0,SBINIT] ;SUBROUTINE INITIALIZATION
|
|
207
|
|
208 S^;*********************************************************************^
|
|
209 ;*HALTING UUO'S (A MORE GRACEFUL HALT THAN SIMPLY USING THE HALT INSTRUCTION).
|
|
210 S^;*********************************************************************^
|
|
211
|
|
212 037640 000004 OPDEF FATAL [37B8!15B12!4] ;FATAL PROGRAMMING HALT
|
|
213 037600 000004 OPDEF ERRHLT [37B8!14B12!4] ;PROGRAM ERROR HALT
|
|
214
|
|
215 S^;*********************************************************************^
|
|
216 ;*TERMINAL INPUT UUO'S
|
|
217 ;*ALWAYS COME FROM THE CONSOLE TERMINAL IN EXEC MODE OR THE
|
|
218 ;*CONTROLLING TERMINAL (REAL TERMINAL OR PTY) IN USER MODE.
|
|
219 S^;*********************************************************************^
|
|
220
|
|
221 037000 000003 OPDEF TTICHR [37B8!0B12!3] ;TTY, INPUT ANY CHARACTER
|
|
222 037040 000003 OPDEF TTIYES [37B8!1B12!3] ;TTY, NORMAL RETURN Y
|
|
223 037100 000003 OPDEF TTINO [37B8!2B12!3] ;TTY, NORMAL RETURN N
|
|
224 037140 000003 OPDEF TTIOCT [37B8!3B12!3] ;TTY, INPUT OCTAL WORD
|
|
225 037200 000003 OPDEF TTIDEC [37B8!4B12!3] ;TTY, INPUT DECIMAL WORD
|
|
226 037240 000003 OPDEF TTICNV [37B8!5B12!3] ;TTY, INPUT CONVERTABLE WORD
|
|
227 037300 000003 OPDEF TTLOOK [37B8!6B12!3] ;TTY, KEYBOARD CHECK
|
|
228 037340 000003 OPDEF TTALTM [37B8!7B12!3] ;TTY, ALT-MODE CHECK
|
|
229 037400 000003 OPDEF TTSIXB [37B8!10B12!3] ;TTY, INPUT SIXBIT WORD
|
|
230 037440 000003 OPDEF TTYINP [37B8!11B12!3] ;TTY, IMAGE MODE INPUT
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 4
|
|
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0018
|
|
|
|
231 ;*TERMINAL OUTPUT UUO'S.
|
|
232
|
|
233 037000 000000 OPDEF PNTA [37B8!0B12!0] ;PRINT ASCII WORD
|
|
234 037000 000001 OPDEF PNTAF [37B8!0B12!1] ;PRINT ASCII WORD FORCED
|
|
235 037740 000000 OPDEF PNTAL [37B8!17B12!0] ;PRINT ASCIZ LINE
|
|
236 037740 000001 OPDEF PNTALF [37B8!17B12!1] ;PRINT ASCIZ LINE FORCED
|
|
237 037600 000003 OPDEF PSIXL [37B8!14B12!3] ;PRINT SIXBIT'Z LINE
|
|
238 037640 000003 OPDEF PSIXLF [37B8!15B12!3] ;PRINT SIXBIT'Z LINE FORCED
|
|
239 037000 000000 OPDEF PNTMSG [37B8!0B12!0] ;PRINT MESSAGE IMMEDIATE
|
|
240 037040 000000 OPDEF PNTMSF [37B8!1B12!0] ;PRINT MESSAGE IMMEDIATE FORCED
|
|
241 037100 000000 OPDEF PSIXM [37B8!2B12!0] ;PRINT SIXBIT'Z MSG IMMEDIATE
|
|
242 037200 000000 OPDEF PSIXMF [37B8!4B12!0] ;PRINT SIXBIT'Z MSG IMM FORCED
|
|
243 037000 000000 OPDEF PNTCI [37B8!0B12!0] ;PRINT CHARACTER IMMEDIATE
|
|
244 037040 000000 OPDEF PNTCIF [37B8!1B12!0] ;PRINT CHARACTER IMMEDIATE FORCED
|
|
245 037500 000000 OPDEF PNTCHR [37B8!12B12!0] ;PRINT CHARACTER
|
|
246 037500 000001 OPDEF PNTCHF [37B8!12B12!1] ;PRINT CHARACTER FORCED
|
|
247 037040 000000 OPDEF PNT1 [37B8!1B12!0] ;PRINT ONE OCTAL DIGIT
|
|
248 037040 000001 OPDEF PNT1F [37B8!1B12!1] ;PRINT 1 OCTAL DIGIT FORCED
|
|
249 037100 000000 OPDEF PNT2 [37B8!2B12!0] ;PRINT TWO OCTAL DIGITS
|
|
250 037100 000001 OPDEF PNT2F [37B8!2B12!1] ;PRINT 2 OCTAL DIGITS FORCED
|
|
251 037140 000000 OPDEF PNT3 [37B8!3B12!0] ;PRINT THREE OCTAL DIGITS
|
|
252 037140 000001 OPDEF PNT3F [37B8!3B12!1] ;PRINT THREE OCTAL DIGITS FORCED
|
|
253 037200 000000 OPDEF PNT4 [37B8!4B12!0] ;PRINT FOUR OCTAL DIGITS
|
|
254 037200 000001 OPDEF PNT4F [37B8!4B12!1] ;PRINT FOUR OCTAL DIGITS FORCED
|
|
255 037240 000000 OPDEF PNT5 [37B8!5B12!0] ;PRINT FIVE OCTAL DIGITS
|
|
256 037240 000001 OPDEF PNT5F [37B8!5B12!1] ;PRINT FIVE OCTAL DIGITS FORCED
|
|
257 037300 000000 OPDEF PNT6 [37B8!6B12!0] ;PRINT SIX OCTAL DIGITS
|
|
258 037300 000001 OPDEF PNT6F [37B8!6B12!1] ;PRINT SIX OCTAL DIGITS FORCED
|
|
259 037340 000000 OPDEF PNT7 [37B8!7B12!0] ;PRINT 7 OCTAL DIGITS
|
|
260 037340 000001 OPDEF PNT7F [37B8!7B12!1] ;PRINT 7 OCTAL DIGITS FORCED
|
|
261 037440 000000 OPDEF PNT11 [37B8!11B12!0] ;PRINT 11 OCTAL DIGITS
|
|
262 037440 000001 OPDEF PNT11F [37B8!11B12!1] ;PRINT 11 OCTAL DIGITS FORCED.
|
|
263 037400 000000 OPDEF PNTADR [37B8!10B12!0] ;PRINT PHYSICAL ADDRESS
|
|
264 037400 000001 OPDEF PNTADF [37B8!10B12!1] ;PRINT PHYSICAL ADDRESS FORCED
|
|
265 037600 000000 OPDEF PNTOCT [37B8!14B12!0] ;PRINT FULL WORD OCTAL
|
|
266 037600 000001 OPDEF PNTOTF [37B8!14B12!1] ;PRINT FULL WORD OCTAL FORCED
|
|
267 037540 000000 OPDEF PNTHW [37B8!13B12!0] ;PRINT OCTAL HALF WORDS, 6 SP 6
|
|
268 037540 000001 OPDEF PNTHWF [37B8!13B12!1] ;PRINT OCTAL HALF WORDS, 6 SP 6 FORCED
|
|
269 037700 000003 OPDEF PNTOCS [37B8!16B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S
|
|
270 037740 000003 OPDEF PNTOCF [37B8!17B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S FORCED
|
|
271 037640 000000 OPDEF PNTDEC [37B8!15B12!0] ;PRINT DECIMAL, SUPRESS LEADING 0'S
|
|
272 037640 000001 OPDEF PNTDCF [37B8!15B12!1] ;PRINT DECIMAL, SUPRESS LEADING 0'S FORCED
|
|
273 037700 000000 OPDEF PNTDS [37B8!16B12!0] ;PRINT DECIMAL, SPACES FOR LD 0'S
|
|
274 037700 000001 OPDEF PNTDSF [37B8!16B12!1] ;PRINT DECIMAL, SPACES FOR LD 0'S FORCED
|
|
275 037200 000002 OPDEF PNTNM [37B8!4B12!2] ;PRINT PROGRAM NAME
|
|
276 037000 000002 OPDEF PNTSIX [37B8!0B12!2] ;PRINT SIXBIT WORD
|
|
277 037040 000002 OPDEF PNTSXF [37B8!1B12!2] ;PRINT SIXBIT WORD FORCED
|
|
278 037240 000002 OPDEF DROPDV [37B8!5B12!2] ;CLOSE LOGICAL FILE, USER MODE
|
|
279 037100 000002 OPDEF PNTCW [37B8!2B12!2] ;PRINT DF10 CONTROL WORD
|
|
280 037140 000002 OPDEF PNTCWF [37B8!3B12!2] ;PRINT DF10 CONTROL WORD FORCED
|
|
281 037000 030242 OPDEF PCRL [37B8!0B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED
|
|
282 037040 030242 OPDEF PCRLF [37B8!1B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED FORCED
|
|
283 037000 000040 OPDEF PSP [37B8!0B12!40] ;PRINT SPACE
|
|
284 037040 000040 OPDEF PSPF [37B8!1B12!40] ;PRINT SPACE FORCED
|
|
285 037000 030243 OPDEF PCRL2 [37B8!0B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 4-1
|
|
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0019
|
|
|
|
286 037040 030243 OPDEF PCRL2F [37B8!1B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) FORCED
|
|
287 037040 000007 OPDEF PBELL [37B8!1B12!7] ;PRINT TTY BELL
|
|
288
|
|
289 037040 000026 OPDEF PFORCE [37B8!1B12!26] ;PRINT FORCE, CONTROL O OVERRIDE
|
|
290
|
|
291 DEFINE PMSG (ARG),<
|
|
292 PSIXM [SIXBIT\ARG'_\]>
|
|
293
|
|
294 DEFINE PMSGF (ARG),<
|
|
295 PSIXMF [SIXBIT\ARG'_\]>
|
|
296
|
|
297 ;*SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING
|
|
298 ;* CONSERVES CORE OVER ASCIZ
|
|
299
|
|
300 DEFINE SIXBTZ (ARG),< [SIXBIT\ARG'_\]>
|
|
301
|
|
302 ;*CONSOLE SWITCH INPUT UUO.
|
|
303 ;*READS CONSOLE SWITCHES IF IN EXEC MODE OR ASKS FOR THEM IF
|
|
304 ;* USER MODE.
|
|
305
|
|
306 037400 000002 OPDEF SWITCH [37B8!10B12!2] ;INPUT CONSOLE SWITCHES
|
|
307
|
|
308 ;*CLOCK INITIALIZATION UUO - TO SET DESIRED CLOCK OPERATION
|
|
309 ;*EITHER IGNORE CLOCK, ONLY LET IT TICK OR CAUSE INTERRUPT TO OCCUR.
|
|
310
|
|
311 037540 000004 OPDEF CLOKOP [37B8!13B12!4] ;CLOCK OPERATION UUO - PDP-11 CLOCK
|
|
312 037200 000004 OPDEF MTROP [37B8!4B12!4] ;CLOCK OPERATION UUO - DK20 METER
|
|
313
|
|
314 ;*KL10 ONLY CACHE OPERATION UUO'S
|
|
315
|
|
316 037040 000004 OPDEF CINVAL [37B8!1B12!4] ;CACHE INVALIDATE
|
|
317 037100 000004 OPDEF CFLUSH [37B8!2B12!4] ;CACHE FLUSH
|
|
318 037140 000004 OPDEF CWRTBI [37B8!3B12!4] ;CACHE WRITE-BACK & INVALIDATE
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5
|
|
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0020
|
|
|
|
319 ;*END OF PASS/PROGRAM UUOS
|
|
320
|
|
321 ;PERFORMS THE END OF PASS FUNCTIONS. INCREMENT PASS COUNT,
|
|
322 ;*DECREMENT ITERATION COUNT, CHECK IF FINISHED WITH THIS PROGRAM ETC.
|
|
323
|
|
324 037500 000004 OPDEF ENDUUO [37B8!12B12!4] ;UUO TO DISPLAY LIGHTS
|
|
325 037700 000004 OPDEF EOPUUO [37B8!16B12!4] ;END OF PROGRAM UUO
|
|
326
|
|
327 ;*MEMORY MANAGEMENT UUO'S
|
|
328 ;*UUO'S TO PERFORM VARIOUS MEMORY FUNCTIONS. MAPPING, ZEROING, PAGING,
|
|
329 ;*ADDRESS CONVERSION, ETC...
|
|
330
|
|
331 037000 000004 OPDEF MAPMEM [37B8!0B12!4] ;MAP MEMORY
|
|
332 037500 000002 OPDEF MEMZRO [37B8!12B12!2] ;ZERO MEMORY
|
|
333 037440 000002 OPDEF MEMSEG [37B8!11B12!2] ;SETUP MEMORY SEGMENT
|
|
334 037540 000002 OPDEF MAPADR [37B8!13B12!2] ;VIRTUAL TO PHYSICAL ADR CONVERT
|
|
335 037640 000002 OPDEF MAPCNK [37B8!15B12!2] ;MAP MEMORY CHUNK
|
|
336 037600 000002 OPDEF MAPSET [37B8!14B12!2] ;SET KI10 EXEC PAGE MAP
|
|
337 037740 000002 OPDEF MAPPNT [37B8!17B12!2] ;PRINT MEMORY MAP
|
|
338
|
|
339 ;*DEVICE CODE MODIFICATION UUO
|
|
340 ;*ALLOWS THE MODIFICATION OF IOT'S TO ONE DEVICE TO BE CHANGED TO
|
|
341 ;*IOT'S TO A DIFFERENT DEVICE CODE.
|
|
342
|
|
343 037340 000002 OPDEF MODPCU [37B8!7B12!2] ;MODIFY PERHIPERAL CODE, USER
|
|
344 037300 000002 OPDEF MODPCP [37B8!6B12!2] ;MODIFY PERHIPERAL CODE, PROGRAM
|
|
345
|
|
346 030000 IFNDEF MODDVL,<MODDVL==BEGIN>
|
|
347 030000 IFNDEF MODDVU,<MODDVU==BEGIN>
|
|
348
|
|
349 ;*"DIAMON" FILE SELECTION AND READ UUOS
|
|
350
|
|
351 037240 000004 OPDEF FSELECT [37B8!5B12!4] ;FILE SELECTION
|
|
352 037300 000004 OPDEF FREAD [37B8!6B12!4] ;FILE READ - ASCII DATA
|
|
353 037340 000004 OPDEF FRD36 [37B8!7B12!4] ;FILE READ - 36 BIT DATA
|
|
354 037400 000004 OPDEF FRD8 [37B8!10B12!4] ;FILE READ - 8 BIT DATA
|
|
355
|
|
356 ;*KI10 ONLY UUO FOR PRINTING MARGIN VALUES
|
|
357
|
|
358 037700 000002 OPDEF PNTMGN [37B8!16B12!2] ;PRINT MARGIN VALUE
|
|
359
|
|
360 XLIST
|
|
361 LIST
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 1
|
|
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0021
|
|
|
|
362 SUBTTL *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977
|
|
363
|
|
364 030000 LOC 30000
|
|
365
|
|
366 S^;*********************************************************************^
|
|
367 ;*PROGRAM STARTING ADDRESSES
|
|
368 ;*THESE ADDRESSES CALL VARIOUS SPECIAL START ROUTINES AND OR OPTIONS
|
|
369 ;*NORMAL START ADDRESS IS 30000 ALL OTHERS ARE SPECIAL. INVOKED BECAUSE
|
|
370 ;*OF END OF PASS, POWER FAILURE, DDT START, RE-ENTERING(TYPICALLY USER
|
|
371 ;*MODE), OR ANY NUMBER OF SPECIAL FEATURE TESTS.
|
|
372 S^;*********************************************************************^
|
|
373
|
|
374 030000 254 00 1 00 027776 BEGIN: JRST @MODLNK ;STAND-ALONE START
|
|
375 030001 254 00 0 00 030616 $START: JRST START ;MODE CHECK STARTING ADDRESS
|
|
376
|
|
377 030002 254 00 1 00 027774 DIAGMN: JRST @LDLNK ;DIAGNOSTIC MONITOR START
|
|
378
|
|
379 030003 254 00 1 00 027774 SYSEXR: JRST @LDLNK ;SYSTEM EXERCISER START
|
|
380
|
|
381 030004 254 00 0 00 030000 SFSTRT: JRST SADR1 ;SPECIAL FEATURE START
|
|
382
|
|
383 030005 254 00 0 00 030000 PFSTRT: JRST SADR2 ;POWER FAIL RESTART
|
|
384
|
|
385 030006 254 00 0 00 030000 REENTR: JRST SADR3 ;REENTER START(USUALLY USER MODE ONLY)
|
|
386
|
|
387 030007 SRTDDT: ;COMMONLY MISTAKEN NAME FOR "DDTSRT"
|
|
388 030007 254 00 1 00 027775 DDTSRT: JRST @DDTLNK ;DDT START
|
|
389
|
|
390 030010 254 00 0 00 030621 BEGIN1: JRST STARTA ;LOOP START(END OF PASS COMES HERE)
|
|
391 030011 254 00 1 00 027777 SBINIT: JRST @SUBLNK ;PMGINT LINKAGE
|
|
392 030012 000000 000000 RETURN: 0 ;RETURN ADDRESS STORAGE
|
|
393
|
|
394 030013 254000 030000 START1: SADR7 ;OPTIONAL STARTING ADR/INSTRUCTIONS
|
|
395 030014 254000 030000 START2: SADR8 ; "
|
|
396 030015 254000 030000 START3: SADR9 ; "
|
|
397 030016 254000 030000 START4: SADR10 ; "
|
|
398 030017 254000 030000 START5: SADR11 ; "
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2
|
|
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0022
|
|
|
|
399 S^;*********************************************************************^
|
|
400 ;*PROGRAM FIXED PARAMETER AREA
|
|
401 S^;*********************************************************************^
|
|
402
|
|
403 030020 444153 415400 PNTNAM: PAREA3 ;SIXBIT PROGRAM NAME
|
|
404 030021 645560 000000 PNTEXT: PAREA4 ;SIXBIT PROGRAM EXTENSION
|
|
405 030022 000000 000000 RANDBS: PAREA1 ;RANDOM BASE NUMBER
|
|
406 030023 000000 000000 SWTEXR: PAREA2 ;SYSTEM EXERCISER SWITCHES
|
|
407 030024 000000 001000 ITRCNT: ITERAT ;PROGRAM ITERATIONS
|
|
408 030025 000000 030602 $PNAME: PGMNAM ;POINTER TO PROGRAMS NAME
|
|
409 030026 000000 000002 $PVER: MCNVER,,DECVER ;MCN & DEC VERSION LEVEL
|
|
410 030027 000000 030000 $MODVL: MODDVL ;DEVICE CODE CHANGE LOWER LIMIT
|
|
411 030030 000000 030000 $MODVU: MODDVU ;DEVICE CODE CHANGE UPPER LIMIT
|
|
412 030031 777777 777777 $EMODE: IFNDEF EXCASB,<0> IFDEF EXCASB,<-1> ;EXEC ALLOWED
|
|
413 030032 777777 777777 $UMODE: IFNDEF USRASB,<0> IFDEF USRASB,<-1> ;USER ALLOWED
|
|
414 030033 000000 000000 $DSKUP: IFNDEF DSKUPD,<0> IFDEF DSKUPD,<-1> ;DISK UPDATE MODE
|
|
415 030034 000000 000000 $MMAP: IFNDEF MEMMAP,<0> IFDEF MEMMAP,<-1> ;ALLOW MEMORY RTNS
|
|
416 030035 000000 000000 PAREA7: PAREA5 ;OPTIONAL PARAMETER
|
|
417 030036 000000 000000 PAREA8: PAREA6 ;OPTIONAL PARAMETER
|
|
418
|
|
419 S^;*********************************************************************^
|
|
420 ;*PROGRAM VARIABLE PARAMETER AREA
|
|
421 S^;*********************************************************************^
|
|
422
|
|
423 030037 000000 000000 USER: 0 ; 0 = EXEC, -1 = USER MODE FLAG
|
|
424 030040 000000 000000 KAIFLG: 0 ;PROCESSOR TYPE, 0 = KA10, -1 = KI10
|
|
425 030041 000000 000000 KLFLG: 0 ;PROCESSOR TYPE, 0 = KA/KI, -1 = KL10
|
|
426 030042 777777 777777 MONFLG: -1 ;DIAG MONITOR SPECIAL USER FLAG
|
|
427 030043 000000 000000 MONCTL: 0 ;DIAG MON/SYS EXR FLAG
|
|
428 030044 000000 000000 MONTEN: 0 ;-1= LOADED BY 10
|
|
429 030045 000000 000000 CLOCKF: 0 ;CLOCK TICKED FLAG
|
|
430 030046 000000 000000 CONSW: 0 ;CONSOLE SWITCH SETTINGS
|
|
431 030047 000000 000000 PASCNT: 0 ;PROGRAM PASS COUNT
|
|
432 030050 000000 000000 RUNFLG: 0 ;PROGRAM RUN FLAG
|
|
433 030051 000000 000000 TESTPC: 0 ;SUBTEST PC
|
|
434 030052 000000 000000 ERRPC: 0 ;ERROR PC
|
|
435 030053 000000 000000 ERRTLS: 0 ;ERROR TOTALS
|
|
436 030054 000000 000000 TICKS: 0 ;PROGRAM RUNNING TIME
|
|
437 030055 000000 000000 MARGIN: 0 ;KI10 MARGIN WORD VALUE
|
|
438 030056 000000 000000 $ONETM: 0 ;SUBROUTINE INITIALIZATION FLAG
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3
|
|
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0023
|
|
|
|
439 S^;*********************************************************************^
|
|
440 ;*SPECIAL PROGRAM DISPATCH ADDRESSES
|
|
441 S^;*********************************************************************^
|
|
442
|
|
443 030057 037 12 0 00 000004 BEGEND: ENDUUO ;END OF PASS
|
|
444 030060 254 00 0 00 030010 $BEND1: JRST BEGIN1 ;KEEP RUNNING PROGRAM
|
|
445 030061 037 16 0 00 000004 $BEND2: EOPUUO ;END OF PROGRAM - NO RETURN
|
|
446 030062 254000 030000 CNTLC: SADR5 ;CONTROL C XFER ADDRESS
|
|
447 030063 254000 030000 ALTMGO: SADR6 ;ALTMODE XFER ADDRESS
|
|
448 030064 CPOPJ1: ;SKIP RETURN
|
|
449 030064 350 00 0 17 000000 UUOSKP: AOS (P) ;SKIP RETURN FROM UUO
|
|
450 030065 CPOPJ: ;NON-SKIP REGULAR RETURN
|
|
451 030065 263 17 0 00 000000 UUOEXT: RTN ;UUO RETURN
|
|
452 030066 255 00 0 00 000000 UUORTN: JFCL ;ADDITIONAL USERS UUO ROUTINE
|
|
453 030067 255 00 0 00 000000 $UORTX: JFCL ;ADDITIONAL UUO LINKAGE
|
|
454 030070 255 00 0 00 000000 $UUOER: JFCL ;INITED AS (JRST $UOERX)
|
|
455 030071 255 00 0 00 000000 $ITRHL: JFCL ;ADDITIONAL INTERRUPT LINKAGE
|
|
456 030072 255 00 0 00 000000 $ITRX1: JFCL ; "
|
|
457 030073 255 00 0 00 000000 $USRHL: JFCL ; "
|
|
458 030074 255 00 0 00 000000 $RSRTX: JFCL ;ADDITIONAL POWER FAIL LINKAGE
|
|
459 030075 255 00 0 00 000000 $RSRTY: JFCL ; "
|
|
460 030076 255 00 0 00 000000 RESRT1: JFCL ; INITED AS (JRST RESRTX)
|
|
461 030077 255 00 0 00 000000 RESRT2: JFCL ; "
|
|
462 030100 255 00 0 00 000000 $PARER: JFCL ;ADDITIONAL PARITY ERROR LINKAGE
|
|
463 030101 255 00 0 00 000000 ERMORE: JFCL ;ADDITIONAL ERROR HANDLER LINKAGE
|
|
464 030102 254 04 0 00 030102 HALT . ;IMPROPER TRANSFER HALT
|
|
465
|
|
466 030103 000000 000000 $PSHER: 0 ;INITED AS (JRST PSHERR)
|
|
467 030104 000000 000000 ITRCH1: 0 ;PC & FLAGS OF CURRENT INTERRUPT
|
|
468 030105 000000 000000 0 ;INITED AS (JRST $ITRC1)
|
|
469
|
|
470 S^;*********************************************************************^
|
|
471 ;*PROCESSOR CONTROL STORAGE
|
|
472 S^;*********************************************************************^
|
|
473
|
|
474 030106 000000 000000 $ACC0: 0 ;INTERRUPT SAVED AC0
|
|
475 030107 000000 000000 $SVPI: 0 ;INTERRUPT SAVED PI
|
|
476 030110 000000 000000 $SVAPR: 0 ;INTERRUPT SAVED APR
|
|
477 030111 000000 000000 $SVPAG: 0 ;INTERRUPT SAVED PAG (DATAI)
|
|
478 030112 000000 000000 $SPAG1: 0 ;INTERRUPT SAVED PAG (CONI)
|
|
479
|
|
480 030113 000000 000000 $SVUUO: 0 ;CURRENT USERS UUO
|
|
481 030114 000000 000000 $SVUPC: 0 ;PC OF CURRENT USERS UUO
|
|
482
|
|
483 030115 000000 000000 REPTU: 0 ;REPEAT UUO ITERATIONS
|
|
484 030116 000000 000000 SCOPE: 0 ;ERROR HANDLER SCOPE LOOP FLAG
|
|
485 030117 000000 000000 %CORFLG:0 ; " CORRECT FLAG
|
|
486 030120 000000 000000 %COREC: 0 ; " CORRECT DATA
|
|
487 030121 000000 000000 %ACTFL: 0 ; " ACTUAL FLAG
|
|
488 030122 000000 000000 %ACTUL: 0 ; " ACTUAL DATA
|
|
489 030123 000000 000000 %DISCR: 0 ; " DISCREPENCY DATA
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 4
|
|
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0024
|
|
|
|
490 S^;*********************************************************************^
|
|
491 ;*UUO DISPATCH TABLE
|
|
492 S^;*********************************************************************^
|
|
493 XLIST
|
|
494 LIST
|
|
495 030124 044422 030070 UUODIS: LUUO1,,$UUOER
|
|
496 030125 044422 044422 LUUO3,,LUUO2
|
|
497 030126 044422 044422 LUUO5,,LUUO4
|
|
498 030127 044422 044422 LUUO7,,LUUO6
|
|
499 030130 044422 044422 LUUO11,,LUUO10
|
|
500 030131 044422 044422 LUUO13,,LUUO12
|
|
501 030132 030070 030070 LUUO15,,LUUO14
|
|
502 030133 030070 030070 LUUO17,,LUUO16
|
|
503 030134 030070 030070 LUUO21,,LUUO20
|
|
504 030135 030070 030070 LUUO23,,LUUO22
|
|
505 030136 030070 030070 LUUO25,,LUUO24
|
|
506 030137 030070 030070 LUUO27,,LUUO26
|
|
507 030140 030070 030070 LUUO31,,LUUO30
|
|
508 030141 030070 030070 LUUO33,,LUUO32
|
|
509
|
|
510 S^;*********************************************************************^
|
|
511 ;*MEMORY MANAGMENT STORAGE
|
|
512 S^;*********************************************************************^
|
|
513
|
|
514 030142 000000 000000 DF22F: 0 ;DF10 CONTROL FLAG, 0 = 18, -1 = 22 BIT
|
|
515 030143 000000 000000 MAPNEW: 0 ;MEMORY MAPPING CONTROL FLAG, -1 = 4096K MAPPING
|
|
516 030144 000000 000000 MEMTOT: 0 ;TOTAL MEMORY SIZE IN K (1024.)
|
|
517 030145 000000 000000 MEMLOW: 0 ;LOWEST USABLE MEMORY
|
|
518 030146 MEMSIZ: BLOCK ^D41 ;MEMORY SEGMENT POINTER TABLE
|
|
519
|
|
520 S^;*********************************************************************^
|
|
521 ;*PRINT CONTROL STORAGE
|
|
522 S^;*********************************************************************^
|
|
523
|
|
524 030217 000000 000000 PNTFLG: 0 ;PRINT FLAG, -1 WHILE IN PRINT ROUTINE
|
|
525 030220 000000 000000 PNTENB: 0 ;PRINT ENABLE
|
|
526 030221 000000 000000 PDISF: 0 ;PRINT DISABLED FLAG
|
|
527 030222 000000 000000 PNTINH: 0 ;INHIBIT PRINT INPUT CHECKS
|
|
528 030223 000000 000000 PNTSPC: 0 ;PRINT SPACE CONTROL
|
|
529 030224 000000 000000 OPTIME: 0 ;TYPE-IN WAIT TIME
|
|
530 030225 000000 000000 $TWCNT: 0 ;TIME WAITED
|
|
531 030226 000000 000000 $DVOFF: 0 ;LOGICAL DEVICE INITED FLAG
|
|
532 030227 000000 000000 TTYFIL: 0 ;TTY EXEC FILLERS FLAG
|
|
533 030230 000000 000000 TTYSPD: 0 ;TTY EXEC BAUD RATE
|
|
534 030231 000000 000000 $TTCHR: 0 ;ACTUAL TYPED IN CHAR
|
|
535 030232 000000 000000 $CHRIN: 0 ;UPPER CASED & PARITY STRIPPED CHAR
|
|
536 030233 000000 000000 $TYPNB: 0 ;TYPED IN NUMBER
|
|
537 030234 000000 000000 $CRLF: 0 ;FREE CR/LF FLAG
|
|
538 030235 000000 000000 $TABF: 0 ;TAB CONVERSION FLAG
|
|
539 030236 000000 000000 $FFF: 0 ;FORM FEED CONVERSION FLAG
|
|
540 030237 000000 000000 $VTF: 0 ;VERTICAL TAB CONVERSION FLAG
|
|
541 030240 000000 000000 USRLFF: 0 ;USER LF FILLERS
|
|
542 030241 000000 000000 USRCRF: 0 ;USER CR FILLERS
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5
|
|
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0025
|
|
|
|
543 S^;*********************************************************************^
|
|
544 ;*THE FOLLOWING MISCELLANEOUS PRINT CHARACTERS ARE INCLUDED
|
|
545 ;*TO FACILITATE PRINTING AND ARE CALLED AS FOLLOWS:
|
|
546 ;* MOVEI NAME
|
|
547 ;* PNTA ;OR PNTAF
|
|
548 S^;*********************************************************************^
|
|
549
|
|
550 030242 CRLF: ASCII/
|
|
551 030242 015 012 000 000 000 /
|
|
552 030243 CRLF2: ASCII/
|
|
553
|
|
554 030243 015 012 015 012 000 /
|
|
555 030244 054 000 000 000 000 COMMA: ASCII/,/
|
|
556 030245 056 000 000 000 000 PERIOD: ASCII/./
|
|
557 030246 040 000 000 000 000 SPACE: ASCII/ /
|
|
558 030247 011 000 000 000 000 TAB: ASCII/ /
|
|
559 030250 MINUS:
|
|
560 030250 055 000 000 000 000 HYPEN: ASCII/-/
|
|
561 030251 053 000 000 000 000 PLUS: ASCII/+/
|
|
562 030252 052 000 000 000 000 AST: ASCII/*/
|
|
563 030253 100 000 000 000 000 ATSIN: ASCII/@/
|
|
564 030254 050 000 000 000 000 LFP: ASCII/(/
|
|
565 030255 051 000 000 000 000 RTP: ASCII/)/
|
|
566 030256 007 0000000000 BELL: BYTE (7) 007
|
|
567 030257 077 000 000 000 000 QUEST: ASCII/?/
|
|
568 030260 057 000 000 000 000 SLASH: ASCII!/!
|
|
569 030261 044 000 000 000 000 DOLLAR: ASCII/$/
|
|
570 030262 000000 000012 RADIX: ^D10 ;DECIMAL PRINT RADIX
|
|
571 030263 000000 000040 RADLSP: 40 ;DECIMAL PRINT LEADING CHAR
|
|
572 030264 000000 000012 RADLSC: ^D10 ;DECIMAL PRINT LEADING CHAR COUNT
|
|
573
|
|
574 S^;*********************************************************************^
|
|
575 ;*USER MODE OUTPUT FILE INFORMATION
|
|
576 S^;*********************************************************************^
|
|
577
|
|
578 030265 $OBUF: BLOCK 3 ;LOGICAL FILE OUTPUT BUFFER HEADER
|
|
579 030270 60 62 51 56 64 00 $OUTNM: SIXBIT /PRINT/ ;FILE NAME
|
|
580 030271 60 56 64 00 00 00 $OUTEX: SIXBIT /PNT/ ;FILE NAME EXTENSION
|
|
581 030272 BLOCK 2
|
|
582
|
|
583 S^;*********************************************************************^
|
|
584 ;*DISK UPDATE MODE FILE INFORMATION
|
|
585 S^;*********************************************************************^
|
|
586
|
|
587 030274 $IBUF: BLOCK 3
|
|
588 030277 60 62 51 56 64 00 $INNM: SIXBIT /PRINT/
|
|
589 030300 60 56 64 00 00 00 $INEXT: SIXBIT /PNT/
|
|
590 030301 BLOCK 2
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6
|
|
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0026
|
|
|
|
591 S^;*********************************************************************^
|
|
592 ;*PUSHDOWN LIST CONTROL INFORMATION
|
|
593 S^;*********************************************************************^
|
|
594
|
|
595 030303 777577 030303 PLIST: PLIST-PLISTE,,PLIST
|
|
596 030304 PLISTS: BLOCK 200
|
|
597 030504 000000 000000 PLISTE: 0 ;END OF PUSHDOWN LIST
|
|
598
|
|
599 S^;*********************************************************************^
|
|
600 ;*POWER LINE CLOCK FREQUENCY FLAG
|
|
601 S^;*********************************************************************^
|
|
602
|
|
603 030505 000000 000000 CYCL60: 0 ;0 = 60, -1 = 50 CYCLE
|
|
604
|
|
605 S^;*********************************************************************^
|
|
606 ;*KL10 CACHE CONTROL FLAGS
|
|
607 S^;*********************************************************************^
|
|
608
|
|
609 030506 000000 000000 CSHFLG: 0 ;ALLOW CACHE IF 0
|
|
610 030507 000000 000000 CSHMEM: 0 ;CACHE MEMORY SEGMENTS IF 0
|
|
611
|
|
612 S^;*********************************************************************^
|
|
613 ;*NUMBER INPUT DIGIT FLAG
|
|
614 S^;*********************************************************************^
|
|
615
|
|
616 030510 000000 000000 TTNBRF: 0 ;-1 IF ANY DIGIT TYPED
|
|
617
|
|
618 S^;*********************************************************************^
|
|
619 ;*KL10 & KI10 "INHPAG" SWITCH PAGING PREVENTION
|
|
620 S^;*********************************************************************^
|
|
621
|
|
622 030511 000000 000000 PVPAGI: 0 ;IF NON-ZERO, OVERRIDE "INHPAG" SWITCH ACTION
|
|
623
|
|
624 S^;*********************************************************************^
|
|
625 ;*ERROR REPORTING ROUTINE ADDITIONAL USERS CONTROL INSTRUCTIONS
|
|
626 S^;*********************************************************************^
|
|
627
|
|
628 030512 000000 000000 %ERHI1: 0 ;IF NON-ZERO, XCT'D AT START OF %ERUUO
|
|
629 030513 000000 000000 %ERHI2: 0 ;IF NON-ZERO, XCT'D AT END OF %ERUUO
|
|
630 030514 000000 000000 %ERHI3: 0 ;IF NON-ZERO, XCT'D AFTER "PC" OF %ERUUO
|
|
631
|
|
632 S^;*********************************************************************^
|
|
633 ;*SPECIAL USERS UUO INTERCEPT INSTRUCTION
|
|
634 S^;*********************************************************************^
|
|
635
|
|
636 030515 000000 000000 $$UUO: 0 ;IF NON-ZERO, XCT'D AT START OF $UORTN
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7
|
|
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0027
|
|
|
|
637 S^;*********************************************************************^
|
|
638 ;*KL10 PROCESSOR TYPE FLAG, 0=P0, 1=BBD NEW, 2=BBD OLD
|
|
639 S^;*********************************************************************^
|
|
640
|
|
641 030516 000000 000000 KLTYP: 0
|
|
642
|
|
643 S^;*********************************************************************^
|
|
644 ;*SPECIAL USERS MUUO INTERCEPT INSTRUCTION
|
|
645 S^;*********************************************************************^
|
|
646
|
|
647 030517 000000 000000 $$MUUO: 0 ;IF NON-ZERO, XCT'D AT START OF MUUOER
|
|
648
|
|
649 S^;*********************************************************************^
|
|
650 ;*SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION
|
|
651 S^;*********************************************************************^
|
|
652
|
|
653 030520 000000 000000 $$OUTER:0 ;IF NON-ZERO, XCT'D AT END OF USER MODE ERROR
|
|
654
|
|
655 S^;*********************************************************************^
|
|
656 ;*"SWITCH" CALL USAGE CONTROL
|
|
657 S^;*********************************************************************^
|
|
658
|
|
659 030521 000000 000000 $$TOGGLE:0 ;IF NON-ZERO, USE C(CONSW) FOR SWITCHES
|
|
660
|
|
661 S^;*********************************************************************^
|
|
662 ;*SPECIAL USERS ALTMODE SWITCH CALL INTERCEPT INSTRUCTIONS
|
|
663 S^;*********************************************************************^
|
|
664
|
|
665 030522 000000 000000 $$TAX1: 0 ;IF NON-ZERO, XCT'D AT START OF ALTMODE SWITCH CALL
|
|
666 030523 000000 000000 $$TAX2: 0 ;IF NON-ZERO, XCT'D AT END OF ALTMODE SWITCH CALL
|
|
667
|
|
668 S^;*********************************************************************^
|
|
669 ;*SPECIAL FUTURE EXPANSION ROOM
|
|
670 ;*IF ANY FIXED AREA TAGS ARE ADDED, REDUCE THE SIZE OF
|
|
671 ;*THIS BLOCK STATEMENT ACCORDINGLY. THIS MUST BE DONE
|
|
672 ;*SO THAT PREVIOUS FIXED ASSIGNMENTS DO NOT CHANGE.
|
|
673 S^;*********************************************************************^
|
|
674
|
|
675 030524 BLOCK 53 ;HOPEFULLY THIS IS ENOUGH FOREVER
|
|
676
|
|
677 S^;*********************************************************************^
|
|
678 ;*END OF FIXED STORAGE
|
|
679 S^;*********************************************************************^
|
|
680
|
|
681 030577 $ENDFX=<PLISTE+100>&<777700>-1
|
|
682 030577 LOC $ENDFX
|
|
683 030577 000000 000000 ENDFIX: 0 ;END OF FIXED STORAGE
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION SEQ 0028
|
|
|
|
684 SUBTTL DIAGNOSTIC SECTION
|
|
685
|
|
686 030600 037 05 0 00 000002 EXIT: DROPDV ;CLOSE LOGICAL OUTPUT FILE
|
|
687 030601 000000 030600 EXIT
|
|
688
|
|
689 030602 PGMNAM: ASCIZ/
|
|
690 030602 015 012 120 104 120 PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) [DAKAL]
|
|
691 030603 055 061 060 040 040
|
|
692 030604 113 111 061 060 040
|
|
693 030605 102 101 123 111 103
|
|
694 030606 040 111 116 123 124
|
|
695 030607 122 125 103 124 111
|
|
696 030610 117 116 040 104 111
|
|
697 030611 101 107 116 117 123
|
|
698 030612 124 111 103 040 050
|
|
699 030613 061 062 051 040 133
|
|
700 030614 104 101 113 101 114
|
|
701 030615 135 015 012 000 000 /
|
|
702
|
|
703 030616 265 00 0 00 030011 START: PGMINT
|
|
704 030617 200 00 0 00 044613 MOVE [ASCIZ/AL/]
|
|
705 030620 202 00 0 00 044535 MOVEM TLET ;INITIALIZE TEST LETTER
|
|
706
|
|
707 030621 254 00 0 00 030622 STARTA: JRST F00 ;GO PERFORM DIAGNOSTIC
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0029
|
|
|
|
708 SUBTTL MAIN TESTING
|
|
709
|
|
710 003000 ADR=3000
|
|
711 000014 F00: AC=14
|
|
712 000012 E=<AC-2>&17
|
|
713 525252 525252 N1=525252525252
|
|
714 252525 252525 N2=252525252525
|
|
715 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 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
720 000044 WW=^D36
|
|
721 000000 XX=0
|
|
722
|
|
723 REPEAT ^D36,<
|
|
724 ADR=ADR+1
|
|
725 WW=WW-1
|
|
726 XX=XX+XX
|
|
727 IFE XX,<XX=1>
|
|
728
|
|
729 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
730 V1=N1
|
|
731 V2=N1*XX
|
|
732 IFL XX,<V3=N2+1>
|
|
733 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
734 MOP1 (\ADR,V1,0,XX,V3,V2)>
|
|
735
|
|
736 003001 ADR=ADR+1
|
|
737 000043 WW=WW-1
|
|
738 000000 XX=XX+XX
|
|
739 000001 IFE XX,<XX=1>
|
|
740
|
|
741 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
742 525252 525252 V1=N1
|
|
743 525252 525252 V2=N1*XX
|
|
744 IFL XX,<V3=N2+1>
|
|
745 777777 777777 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
746 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
747 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
748 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
749 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
750 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
751
|
|
752 525252 525252 F30010: AA1=V1 ;INITIAL C(AC)
|
|
753 030626 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
754 000000 AA2=0 ;INITIAL C(AC+1)
|
|
755 030627 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
756 000001 AEE=XX ;INITIAL C(E)
|
|
757 030630 200 12 0 00 044616 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
758 030631 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
759 777777 777777 AR1=V3 ;EXPECTED RESULT IN AC
|
|
760 030632 312 14 0 00 044617 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
761 030633 003 14 0 00 030011 ER3 AC,30011 ;HIGH PRODUCT FAILED
|
|
762 525252 525252 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-1
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0030
|
|
|
|
763 030634 312 15 0 00 044614 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
764 030635 004 15 0 00 030012 ER4 AC+1,30012 ;LOW PRODUCT FAILED
|
|
765 000001 AEE=XX ;INITIAL C(E)
|
|
766 030636 312 12 0 00 044616 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
767 030637 005 12 0 00 030013 ER5 E,30013 ;C(E) WAS CLOBBERED
|
|
768 030640 321 16 0 00 030626 JUMPL AC+2,F30010 ;LOOP ON ERROR SWITCH^
|
|
769
|
|
770 003002 ADR=ADR+1
|
|
771 000042 WW=WW-1
|
|
772 000002 XX=XX+XX
|
|
773 IFE XX,<XX=1>
|
|
774
|
|
775 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
776 525252 525252 V1=N1
|
|
777 652525 252524 V2=N1*XX
|
|
778 IFL XX,<V3=N2+1>
|
|
779 777777 777776 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
780 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
781 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
782 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
783 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
784 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
785
|
|
786 525252 525252 F30020: AA1=V1 ;INITIAL C(AC)
|
|
787 030641 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
788 000000 AA2=0 ;INITIAL C(AC+1)
|
|
789 030642 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
790 000002 AEE=XX ;INITIAL C(E)
|
|
791 030643 200 12 0 00 044620 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
792 030644 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
793 777777 777776 AR1=V3 ;EXPECTED RESULT IN AC
|
|
794 030645 312 14 0 00 044621 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
795 030646 003 14 0 00 030021 ER3 AC,30021 ;HIGH PRODUCT FAILED
|
|
796 652525 252524 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
797 030647 312 15 0 00 044622 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
798 030650 004 15 0 00 030022 ER4 AC+1,30022 ;LOW PRODUCT FAILED
|
|
799 000002 AEE=XX ;INITIAL C(E)
|
|
800 030651 312 12 0 00 044620 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
801 030652 005 12 0 00 030023 ER5 E,30023 ;C(E) WAS CLOBBERED
|
|
802 030653 321 16 0 00 030641 JUMPL AC+2,F30020 ;LOOP ON ERROR SWITCH^
|
|
803
|
|
804 003003 ADR=ADR+1
|
|
805 000041 WW=WW-1
|
|
806 000004 XX=XX+XX
|
|
807 IFE XX,<XX=1>
|
|
808
|
|
809 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
810 525252 525252 V1=N1
|
|
811 525252 525250 V2=N1*XX
|
|
812 IFL XX,<V3=N2+1>
|
|
813 777777 777775 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
814 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
815 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
816 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
817 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-2
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0031
|
|
|
|
818 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
819
|
|
820 525252 525252 F30030: AA1=V1 ;INITIAL C(AC)
|
|
821 030654 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
822 000000 AA2=0 ;INITIAL C(AC+1)
|
|
823 030655 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
824 000004 AEE=XX ;INITIAL C(E)
|
|
825 030656 200 12 0 00 044623 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
826 030657 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
827 777777 777775 AR1=V3 ;EXPECTED RESULT IN AC
|
|
828 030660 312 14 0 00 044624 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
829 030661 003 14 0 00 030031 ER3 AC,30031 ;HIGH PRODUCT FAILED
|
|
830 525252 525250 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
831 030662 312 15 0 00 044625 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
832 030663 004 15 0 00 030032 ER4 AC+1,30032 ;LOW PRODUCT FAILED
|
|
833 000004 AEE=XX ;INITIAL C(E)
|
|
834 030664 312 12 0 00 044623 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
835 030665 005 12 0 00 030033 ER5 E,30033 ;C(E) WAS CLOBBERED
|
|
836 030666 321 16 0 00 030654 JUMPL AC+2,F30030 ;LOOP ON ERROR SWITCH^
|
|
837
|
|
838 003004 ADR=ADR+1
|
|
839 000040 WW=WW-1
|
|
840 000010 XX=XX+XX
|
|
841 IFE XX,<XX=1>
|
|
842
|
|
843 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
844 525252 525252 V1=N1
|
|
845 652525 252520 V2=N1*XX
|
|
846 IFL XX,<V3=N2+1>
|
|
847 777777 777772 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
848 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
849 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
850 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
851 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
852 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
853
|
|
854 525252 525252 F30040: AA1=V1 ;INITIAL C(AC)
|
|
855 030667 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
856 000000 AA2=0 ;INITIAL C(AC+1)
|
|
857 030670 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
858 000010 AEE=XX ;INITIAL C(E)
|
|
859 030671 200 12 0 00 044626 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
860 030672 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
861 777777 777772 AR1=V3 ;EXPECTED RESULT IN AC
|
|
862 030673 312 14 0 00 044627 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
863 030674 003 14 0 00 030041 ER3 AC,30041 ;HIGH PRODUCT FAILED
|
|
864 652525 252520 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
865 030675 312 15 0 00 044630 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
866 030676 004 15 0 00 030042 ER4 AC+1,30042 ;LOW PRODUCT FAILED
|
|
867 000010 AEE=XX ;INITIAL C(E)
|
|
868 030677 312 12 0 00 044626 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
869 030700 005 12 0 00 030043 ER5 E,30043 ;C(E) WAS CLOBBERED
|
|
870 030701 321 16 0 00 030667 JUMPL AC+2,F30040 ;LOOP ON ERROR SWITCH^
|
|
871
|
|
872 003005 ADR=ADR+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-3
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0032
|
|
|
|
873 000037 WW=WW-1
|
|
874 000020 XX=XX+XX
|
|
875 IFE XX,<XX=1>
|
|
876
|
|
877 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
878 525252 525252 V1=N1
|
|
879 525252 525240 V2=N1*XX
|
|
880 IFL XX,<V3=N2+1>
|
|
881 777777 777765 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
882 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
883 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
884 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
885 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
886 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
887
|
|
888 525252 525252 F30050: AA1=V1 ;INITIAL C(AC)
|
|
889 030702 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
890 000000 AA2=0 ;INITIAL C(AC+1)
|
|
891 030703 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
892 000020 AEE=XX ;INITIAL C(E)
|
|
893 030704 200 12 0 00 044631 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
894 030705 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
895 777777 777765 AR1=V3 ;EXPECTED RESULT IN AC
|
|
896 030706 312 14 0 00 044632 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
897 030707 003 14 0 00 030051 ER3 AC,30051 ;HIGH PRODUCT FAILED
|
|
898 525252 525240 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
899 030710 312 15 0 00 044633 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
900 030711 004 15 0 00 030052 ER4 AC+1,30052 ;LOW PRODUCT FAILED
|
|
901 000020 AEE=XX ;INITIAL C(E)
|
|
902 030712 312 12 0 00 044631 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
903 030713 005 12 0 00 030053 ER5 E,30053 ;C(E) WAS CLOBBERED
|
|
904 030714 321 16 0 00 030702 JUMPL AC+2,F30050 ;LOOP ON ERROR SWITCH^
|
|
905
|
|
906 003006 ADR=ADR+1
|
|
907 000036 WW=WW-1
|
|
908 000040 XX=XX+XX
|
|
909 IFE XX,<XX=1>
|
|
910
|
|
911 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
912 525252 525252 V1=N1
|
|
913 652525 252500 V2=N1*XX
|
|
914 IFL XX,<V3=N2+1>
|
|
915 777777 777752 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
916 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
917 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
918 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
919 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
920 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
921
|
|
922 525252 525252 F30060: AA1=V1 ;INITIAL C(AC)
|
|
923 030715 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
924 000000 AA2=0 ;INITIAL C(AC+1)
|
|
925 030716 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
926 000040 AEE=XX ;INITIAL C(E)
|
|
927 030717 200 12 0 00 044634 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-4
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0033
|
|
|
|
928 030720 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
929 777777 777752 AR1=V3 ;EXPECTED RESULT IN AC
|
|
930 030721 312 14 0 00 044635 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
931 030722 003 14 0 00 030061 ER3 AC,30061 ;HIGH PRODUCT FAILED
|
|
932 652525 252500 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
933 030723 312 15 0 00 044636 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
934 030724 004 15 0 00 030062 ER4 AC+1,30062 ;LOW PRODUCT FAILED
|
|
935 000040 AEE=XX ;INITIAL C(E)
|
|
936 030725 312 12 0 00 044634 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
937 030726 005 12 0 00 030063 ER5 E,30063 ;C(E) WAS CLOBBERED
|
|
938 030727 321 16 0 00 030715 JUMPL AC+2,F30060 ;LOOP ON ERROR SWITCH^
|
|
939
|
|
940 003007 ADR=ADR+1
|
|
941 000035 WW=WW-1
|
|
942 000100 XX=XX+XX
|
|
943 IFE XX,<XX=1>
|
|
944
|
|
945 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
946 525252 525252 V1=N1
|
|
947 525252 525200 V2=N1*XX
|
|
948 IFL XX,<V3=N2+1>
|
|
949 777777 777725 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
950 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
951 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
952 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
953 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
954 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
955
|
|
956 525252 525252 F30070: AA1=V1 ;INITIAL C(AC)
|
|
957 030730 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
958 000000 AA2=0 ;INITIAL C(AC+1)
|
|
959 030731 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
960 000100 AEE=XX ;INITIAL C(E)
|
|
961 030732 200 12 0 00 044637 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
962 030733 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
963 777777 777725 AR1=V3 ;EXPECTED RESULT IN AC
|
|
964 030734 312 14 0 00 044640 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
965 030735 003 14 0 00 030071 ER3 AC,30071 ;HIGH PRODUCT FAILED
|
|
966 525252 525200 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
967 030736 312 15 0 00 044641 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
968 030737 004 15 0 00 030072 ER4 AC+1,30072 ;LOW PRODUCT FAILED
|
|
969 000100 AEE=XX ;INITIAL C(E)
|
|
970 030740 312 12 0 00 044637 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
971 030741 005 12 0 00 030073 ER5 E,30073 ;C(E) WAS CLOBBERED
|
|
972 030742 321 16 0 00 030730 JUMPL AC+2,F30070 ;LOOP ON ERROR SWITCH^
|
|
973
|
|
974 003010 ADR=ADR+1
|
|
975 000034 WW=WW-1
|
|
976 000200 XX=XX+XX
|
|
977 IFE XX,<XX=1>
|
|
978
|
|
979 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
980 525252 525252 V1=N1
|
|
981 652525 252400 V2=N1*XX
|
|
982 IFL XX,<V3=N2+1>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-5
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0034
|
|
|
|
983 777777 777652 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
984 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
985 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
986 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
987 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
988 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
989
|
|
990 525252 525252 F30100: AA1=V1 ;INITIAL C(AC)
|
|
991 030743 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
992 000000 AA2=0 ;INITIAL C(AC+1)
|
|
993 030744 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
994 000200 AEE=XX ;INITIAL C(E)
|
|
995 030745 200 12 0 00 044642 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
996 030746 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
997 777777 777652 AR1=V3 ;EXPECTED RESULT IN AC
|
|
998 030747 312 14 0 00 044643 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
999 030750 003 14 0 00 030101 ER3 AC,30101 ;HIGH PRODUCT FAILED
|
|
1000 652525 252400 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1001 030751 312 15 0 00 044644 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1002 030752 004 15 0 00 030102 ER4 AC+1,30102 ;LOW PRODUCT FAILED
|
|
1003 000200 AEE=XX ;INITIAL C(E)
|
|
1004 030753 312 12 0 00 044642 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1005 030754 005 12 0 00 030103 ER5 E,30103 ;C(E) WAS CLOBBERED
|
|
1006 030755 321 16 0 00 030743 JUMPL AC+2,F30100 ;LOOP ON ERROR SWITCH^
|
|
1007
|
|
1008 003011 ADR=ADR+1
|
|
1009 000033 WW=WW-1
|
|
1010 000400 XX=XX+XX
|
|
1011 IFE XX,<XX=1>
|
|
1012
|
|
1013 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1014 525252 525252 V1=N1
|
|
1015 525252 525000 V2=N1*XX
|
|
1016 IFL XX,<V3=N2+1>
|
|
1017 777777 777525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1018 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1019 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1020 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1021 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1022 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1023
|
|
1024 525252 525252 F30110: AA1=V1 ;INITIAL C(AC)
|
|
1025 030756 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1026 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1027 030757 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1028 000400 AEE=XX ;INITIAL C(E)
|
|
1029 030760 200 12 0 00 044645 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1030 030761 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1031 777777 777525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1032 030762 312 14 0 00 044646 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1033 030763 003 14 0 00 030111 ER3 AC,30111 ;HIGH PRODUCT FAILED
|
|
1034 525252 525000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1035 030764 312 15 0 00 044647 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1036 030765 004 15 0 00 030112 ER4 AC+1,30112 ;LOW PRODUCT FAILED
|
|
1037 000400 AEE=XX ;INITIAL C(E)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-6
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0035
|
|
|
|
1038 030766 312 12 0 00 044645 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1039 030767 005 12 0 00 030113 ER5 E,30113 ;C(E) WAS CLOBBERED
|
|
1040 030770 321 16 0 00 030756 JUMPL AC+2,F30110 ;LOOP ON ERROR SWITCH^
|
|
1041
|
|
1042 003012 ADR=ADR+1
|
|
1043 000032 WW=WW-1
|
|
1044 001000 XX=XX+XX
|
|
1045 IFE XX,<XX=1>
|
|
1046
|
|
1047 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1048 525252 525252 V1=N1
|
|
1049 652525 252000 V2=N1*XX
|
|
1050 IFL XX,<V3=N2+1>
|
|
1051 777777 777252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1052 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1053 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1054 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1055 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1056 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1057
|
|
1058 525252 525252 F30120: AA1=V1 ;INITIAL C(AC)
|
|
1059 030771 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1060 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1061 030772 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1062 001000 AEE=XX ;INITIAL C(E)
|
|
1063 030773 200 12 0 00 044650 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1064 030774 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1065 777777 777252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1066 030775 312 14 0 00 044651 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1067 030776 003 14 0 00 030121 ER3 AC,30121 ;HIGH PRODUCT FAILED
|
|
1068 652525 252000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1069 030777 312 15 0 00 044652 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1070 031000 004 15 0 00 030122 ER4 AC+1,30122 ;LOW PRODUCT FAILED
|
|
1071 001000 AEE=XX ;INITIAL C(E)
|
|
1072 031001 312 12 0 00 044650 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1073 031002 005 12 0 00 030123 ER5 E,30123 ;C(E) WAS CLOBBERED
|
|
1074 031003 321 16 0 00 030771 JUMPL AC+2,F30120 ;LOOP ON ERROR SWITCH^
|
|
1075
|
|
1076 003013 ADR=ADR+1
|
|
1077 000031 WW=WW-1
|
|
1078 002000 XX=XX+XX
|
|
1079 IFE XX,<XX=1>
|
|
1080
|
|
1081 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1082 525252 525252 V1=N1
|
|
1083 525252 524000 V2=N1*XX
|
|
1084 IFL XX,<V3=N2+1>
|
|
1085 777777 776525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1086 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1087 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1088 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1089 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1090 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1091
|
|
1092 525252 525252 F30130: AA1=V1 ;INITIAL C(AC)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-7
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0036
|
|
|
|
1093 031004 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1094 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1095 031005 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1096 002000 AEE=XX ;INITIAL C(E)
|
|
1097 031006 200 12 0 00 044653 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1098 031007 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1099 777777 776525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1100 031010 312 14 0 00 044654 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1101 031011 003 14 0 00 030131 ER3 AC,30131 ;HIGH PRODUCT FAILED
|
|
1102 525252 524000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1103 031012 312 15 0 00 044655 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1104 031013 004 15 0 00 030132 ER4 AC+1,30132 ;LOW PRODUCT FAILED
|
|
1105 002000 AEE=XX ;INITIAL C(E)
|
|
1106 031014 312 12 0 00 044653 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1107 031015 005 12 0 00 030133 ER5 E,30133 ;C(E) WAS CLOBBERED
|
|
1108 031016 321 16 0 00 031004 JUMPL AC+2,F30130 ;LOOP ON ERROR SWITCH^
|
|
1109
|
|
1110 003014 ADR=ADR+1
|
|
1111 000030 WW=WW-1
|
|
1112 004000 XX=XX+XX
|
|
1113 IFE XX,<XX=1>
|
|
1114
|
|
1115 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1116 525252 525252 V1=N1
|
|
1117 652525 250000 V2=N1*XX
|
|
1118 IFL XX,<V3=N2+1>
|
|
1119 777777 775252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1120 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1121 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1122 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1123 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1124 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1125
|
|
1126 525252 525252 F30140: AA1=V1 ;INITIAL C(AC)
|
|
1127 031017 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1128 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1129 031020 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1130 004000 AEE=XX ;INITIAL C(E)
|
|
1131 031021 200 12 0 00 044656 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1132 031022 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1133 777777 775252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1134 031023 312 14 0 00 044657 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1135 031024 003 14 0 00 030141 ER3 AC,30141 ;HIGH PRODUCT FAILED
|
|
1136 652525 250000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1137 031025 312 15 0 00 044660 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1138 031026 004 15 0 00 030142 ER4 AC+1,30142 ;LOW PRODUCT FAILED
|
|
1139 004000 AEE=XX ;INITIAL C(E)
|
|
1140 031027 312 12 0 00 044656 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1141 031030 005 12 0 00 030143 ER5 E,30143 ;C(E) WAS CLOBBERED
|
|
1142 031031 321 16 0 00 031017 JUMPL AC+2,F30140 ;LOOP ON ERROR SWITCH^
|
|
1143
|
|
1144 003015 ADR=ADR+1
|
|
1145 000027 WW=WW-1
|
|
1146 010000 XX=XX+XX
|
|
1147 IFE XX,<XX=1>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-8
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0037
|
|
|
|
1148
|
|
1149 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1150 525252 525252 V1=N1
|
|
1151 525252 520000 V2=N1*XX
|
|
1152 IFL XX,<V3=N2+1>
|
|
1153 777777 772525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1154 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1155 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1156 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1157 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1158 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1159
|
|
1160 525252 525252 F30150: AA1=V1 ;INITIAL C(AC)
|
|
1161 031032 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1162 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1163 031033 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1164 010000 AEE=XX ;INITIAL C(E)
|
|
1165 031034 200 12 0 00 044661 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1166 031035 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1167 777777 772525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1168 031036 312 14 0 00 044662 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1169 031037 003 14 0 00 030151 ER3 AC,30151 ;HIGH PRODUCT FAILED
|
|
1170 525252 520000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1171 031040 312 15 0 00 044663 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1172 031041 004 15 0 00 030152 ER4 AC+1,30152 ;LOW PRODUCT FAILED
|
|
1173 010000 AEE=XX ;INITIAL C(E)
|
|
1174 031042 312 12 0 00 044661 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1175 031043 005 12 0 00 030153 ER5 E,30153 ;C(E) WAS CLOBBERED
|
|
1176 031044 321 16 0 00 031032 JUMPL AC+2,F30150 ;LOOP ON ERROR SWITCH^
|
|
1177
|
|
1178 003016 ADR=ADR+1
|
|
1179 000026 WW=WW-1
|
|
1180 020000 XX=XX+XX
|
|
1181 IFE XX,<XX=1>
|
|
1182
|
|
1183 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1184 525252 525252 V1=N1
|
|
1185 652525 240000 V2=N1*XX
|
|
1186 IFL XX,<V3=N2+1>
|
|
1187 777777 765252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1188 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1189 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1190 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1191 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1192 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1193
|
|
1194 525252 525252 F30160: AA1=V1 ;INITIAL C(AC)
|
|
1195 031045 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1196 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1197 031046 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1198 020000 AEE=XX ;INITIAL C(E)
|
|
1199 031047 200 12 0 00 044664 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1200 031050 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1201 777777 765252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1202 031051 312 14 0 00 044665 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-9
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0038
|
|
|
|
1203 031052 003 14 0 00 030161 ER3 AC,30161 ;HIGH PRODUCT FAILED
|
|
1204 652525 240000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1205 031053 312 15 0 00 044666 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1206 031054 004 15 0 00 030162 ER4 AC+1,30162 ;LOW PRODUCT FAILED
|
|
1207 020000 AEE=XX ;INITIAL C(E)
|
|
1208 031055 312 12 0 00 044664 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1209 031056 005 12 0 00 030163 ER5 E,30163 ;C(E) WAS CLOBBERED
|
|
1210 031057 321 16 0 00 031045 JUMPL AC+2,F30160 ;LOOP ON ERROR SWITCH^
|
|
1211
|
|
1212 003017 ADR=ADR+1
|
|
1213 000025 WW=WW-1
|
|
1214 040000 XX=XX+XX
|
|
1215 IFE XX,<XX=1>
|
|
1216
|
|
1217 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1218 525252 525252 V1=N1
|
|
1219 525252 500000 V2=N1*XX
|
|
1220 IFL XX,<V3=N2+1>
|
|
1221 777777 752525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1222 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1223 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1224 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1225 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1226 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1227
|
|
1228 525252 525252 F30170: AA1=V1 ;INITIAL C(AC)
|
|
1229 031060 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1230 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1231 031061 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1232 040000 AEE=XX ;INITIAL C(E)
|
|
1233 031062 200 12 0 00 044667 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1234 031063 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1235 777777 752525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1236 031064 312 14 0 00 044670 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1237 031065 003 14 0 00 030171 ER3 AC,30171 ;HIGH PRODUCT FAILED
|
|
1238 525252 500000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1239 031066 312 15 0 00 044671 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1240 031067 004 15 0 00 030172 ER4 AC+1,30172 ;LOW PRODUCT FAILED
|
|
1241 040000 AEE=XX ;INITIAL C(E)
|
|
1242 031070 312 12 0 00 044667 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1243 031071 005 12 0 00 030173 ER5 E,30173 ;C(E) WAS CLOBBERED
|
|
1244 031072 321 16 0 00 031060 JUMPL AC+2,F30170 ;LOOP ON ERROR SWITCH^
|
|
1245
|
|
1246 003020 ADR=ADR+1
|
|
1247 000024 WW=WW-1
|
|
1248 100000 XX=XX+XX
|
|
1249 IFE XX,<XX=1>
|
|
1250
|
|
1251 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1252 525252 525252 V1=N1
|
|
1253 652525 200000 V2=N1*XX
|
|
1254 IFL XX,<V3=N2+1>
|
|
1255 777777 725252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1256 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1257 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-10
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0039
|
|
|
|
1258 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1259 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1260 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1261
|
|
1262 525252 525252 F30200: AA1=V1 ;INITIAL C(AC)
|
|
1263 031073 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1264 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1265 031074 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1266 100000 AEE=XX ;INITIAL C(E)
|
|
1267 031075 200 12 0 00 044672 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1268 031076 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1269 777777 725252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1270 031077 312 14 0 00 044673 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1271 031100 003 14 0 00 030201 ER3 AC,30201 ;HIGH PRODUCT FAILED
|
|
1272 652525 200000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1273 031101 312 15 0 00 044674 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1274 031102 004 15 0 00 030202 ER4 AC+1,30202 ;LOW PRODUCT FAILED
|
|
1275 100000 AEE=XX ;INITIAL C(E)
|
|
1276 031103 312 12 0 00 044672 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1277 031104 005 12 0 00 030203 ER5 E,30203 ;C(E) WAS CLOBBERED
|
|
1278 031105 321 16 0 00 031073 JUMPL AC+2,F30200 ;LOOP ON ERROR SWITCH^
|
|
1279
|
|
1280 003021 ADR=ADR+1
|
|
1281 000023 WW=WW-1
|
|
1282 200000 XX=XX+XX
|
|
1283 IFE XX,<XX=1>
|
|
1284
|
|
1285 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1286 525252 525252 V1=N1
|
|
1287 525252 400000 V2=N1*XX
|
|
1288 IFL XX,<V3=N2+1>
|
|
1289 777777 652525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1290 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1291 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1292 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1293 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1294 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1295
|
|
1296 525252 525252 F30210: AA1=V1 ;INITIAL C(AC)
|
|
1297 031106 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1298 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1299 031107 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1300 200000 AEE=XX ;INITIAL C(E)
|
|
1301 031110 200 12 0 00 044675 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1302 031111 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1303 777777 652525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1304 031112 312 14 0 00 044676 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1305 031113 003 14 0 00 030211 ER3 AC,30211 ;HIGH PRODUCT FAILED
|
|
1306 525252 400000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1307 031114 312 15 0 00 044677 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1308 031115 004 15 0 00 030212 ER4 AC+1,30212 ;LOW PRODUCT FAILED
|
|
1309 200000 AEE=XX ;INITIAL C(E)
|
|
1310 031116 312 12 0 00 044675 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1311 031117 005 12 0 00 030213 ER5 E,30213 ;C(E) WAS CLOBBERED
|
|
1312 031120 321 16 0 00 031106 JUMPL AC+2,F30210 ;LOOP ON ERROR SWITCH^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-11
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0040
|
|
|
|
1313
|
|
1314 003022 ADR=ADR+1
|
|
1315 000022 WW=WW-1
|
|
1316 400000 XX=XX+XX
|
|
1317 IFE XX,<XX=1>
|
|
1318
|
|
1319 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1320 525252 525252 V1=N1
|
|
1321 652525 000000 V2=N1*XX
|
|
1322 IFL XX,<V3=N2+1>
|
|
1323 777777 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1324 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1325 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1326 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1327 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1328 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1329
|
|
1330 525252 525252 F30220: AA1=V1 ;INITIAL C(AC)
|
|
1331 031121 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1332 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1333 031122 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1334 400000 AEE=XX ;INITIAL C(E)
|
|
1335 031123 200 12 0 00 044700 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1336 031124 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1337 777777 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1338 031125 312 14 0 00 044701 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1339 031126 003 14 0 00 030221 ER3 AC,30221 ;HIGH PRODUCT FAILED
|
|
1340 652525 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1341 031127 312 15 0 00 044702 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1342 031130 004 15 0 00 030222 ER4 AC+1,30222 ;LOW PRODUCT FAILED
|
|
1343 400000 AEE=XX ;INITIAL C(E)
|
|
1344 031131 312 12 0 00 044700 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1345 031132 005 12 0 00 030223 ER5 E,30223 ;C(E) WAS CLOBBERED
|
|
1346 031133 321 16 0 00 031121 JUMPL AC+2,F30220 ;LOOP ON ERROR SWITCH^
|
|
1347
|
|
1348 003023 ADR=ADR+1
|
|
1349 000021 WW=WW-1
|
|
1350 000001 000000 XX=XX+XX
|
|
1351 IFE XX,<XX=1>
|
|
1352
|
|
1353 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1354 525252 525252 V1=N1
|
|
1355 525252 000000 V2=N1*XX
|
|
1356 IFL XX,<V3=N2+1>
|
|
1357 777777 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1358 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1359 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1360 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1361 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1362 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1363
|
|
1364 525252 525252 F30230: AA1=V1 ;INITIAL C(AC)
|
|
1365 031134 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1366 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1367 031135 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-12
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0041
|
|
|
|
1368 000001 000000 AEE=XX ;INITIAL C(E)
|
|
1369 031136 200 12 0 00 044703 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1370 031137 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1371 777777 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1372 031140 312 14 0 00 044704 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1373 031141 003 14 0 00 030231 ER3 AC,30231 ;HIGH PRODUCT FAILED
|
|
1374 525252 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1375 031142 312 15 0 00 044705 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1376 031143 004 15 0 00 030232 ER4 AC+1,30232 ;LOW PRODUCT FAILED
|
|
1377 000001 000000 AEE=XX ;INITIAL C(E)
|
|
1378 031144 312 12 0 00 044703 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1379 031145 005 12 0 00 030233 ER5 E,30233 ;C(E) WAS CLOBBERED
|
|
1380 031146 321 16 0 00 031134 JUMPL AC+2,F30230 ;LOOP ON ERROR SWITCH^
|
|
1381
|
|
1382 003024 ADR=ADR+1
|
|
1383 000020 WW=WW-1
|
|
1384 000002 000000 XX=XX+XX
|
|
1385 IFE XX,<XX=1>
|
|
1386
|
|
1387 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1388 525252 525252 V1=N1
|
|
1389 652524 000000 V2=N1*XX
|
|
1390 IFL XX,<V3=N2+1>
|
|
1391 777776 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1392 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1393 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1394 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1395 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1396 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1397
|
|
1398 525252 525252 F30240: AA1=V1 ;INITIAL C(AC)
|
|
1399 031147 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1400 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1401 031150 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1402 000002 000000 AEE=XX ;INITIAL C(E)
|
|
1403 031151 200 12 0 00 044706 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1404 031152 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1405 777776 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1406 031153 312 14 0 00 044707 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1407 031154 003 14 0 00 030241 ER3 AC,30241 ;HIGH PRODUCT FAILED
|
|
1408 652524 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1409 031155 312 15 0 00 044710 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1410 031156 004 15 0 00 030242 ER4 AC+1,30242 ;LOW PRODUCT FAILED
|
|
1411 000002 000000 AEE=XX ;INITIAL C(E)
|
|
1412 031157 312 12 0 00 044706 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1413 031160 005 12 0 00 030243 ER5 E,30243 ;C(E) WAS CLOBBERED
|
|
1414 031161 321 16 0 00 031147 JUMPL AC+2,F30240 ;LOOP ON ERROR SWITCH^
|
|
1415
|
|
1416 003025 ADR=ADR+1
|
|
1417 000017 WW=WW-1
|
|
1418 000004 000000 XX=XX+XX
|
|
1419 IFE XX,<XX=1>
|
|
1420
|
|
1421 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1422 525252 525252 V1=N1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-13
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0042
|
|
|
|
1423 525250 000000 V2=N1*XX
|
|
1424 IFL XX,<V3=N2+1>
|
|
1425 777775 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1426 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1427 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1428 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1429 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1430 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1431
|
|
1432 525252 525252 F30250: AA1=V1 ;INITIAL C(AC)
|
|
1433 031162 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1434 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1435 031163 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1436 000004 000000 AEE=XX ;INITIAL C(E)
|
|
1437 031164 200 12 0 00 044711 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1438 031165 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1439 777775 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1440 031166 312 14 0 00 044712 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1441 031167 003 14 0 00 030251 ER3 AC,30251 ;HIGH PRODUCT FAILED
|
|
1442 525250 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1443 031170 312 15 0 00 044713 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1444 031171 004 15 0 00 030252 ER4 AC+1,30252 ;LOW PRODUCT FAILED
|
|
1445 000004 000000 AEE=XX ;INITIAL C(E)
|
|
1446 031172 312 12 0 00 044711 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1447 031173 005 12 0 00 030253 ER5 E,30253 ;C(E) WAS CLOBBERED
|
|
1448 031174 321 16 0 00 031162 JUMPL AC+2,F30250 ;LOOP ON ERROR SWITCH^
|
|
1449
|
|
1450 003026 ADR=ADR+1
|
|
1451 000016 WW=WW-1
|
|
1452 000010 000000 XX=XX+XX
|
|
1453 IFE XX,<XX=1>
|
|
1454
|
|
1455 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1456 525252 525252 V1=N1
|
|
1457 652520 000000 V2=N1*XX
|
|
1458 IFL XX,<V3=N2+1>
|
|
1459 777772 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1460 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1461 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1462 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1463 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1464 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1465
|
|
1466 525252 525252 F30260: AA1=V1 ;INITIAL C(AC)
|
|
1467 031175 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1468 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1469 031176 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1470 000010 000000 AEE=XX ;INITIAL C(E)
|
|
1471 031177 200 12 0 00 044714 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1472 031200 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1473 777772 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1474 031201 312 14 0 00 044715 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1475 031202 003 14 0 00 030261 ER3 AC,30261 ;HIGH PRODUCT FAILED
|
|
1476 652520 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1477 031203 312 15 0 00 044716 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-14
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0043
|
|
|
|
1478 031204 004 15 0 00 030262 ER4 AC+1,30262 ;LOW PRODUCT FAILED
|
|
1479 000010 000000 AEE=XX ;INITIAL C(E)
|
|
1480 031205 312 12 0 00 044714 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1481 031206 005 12 0 00 030263 ER5 E,30263 ;C(E) WAS CLOBBERED
|
|
1482 031207 321 16 0 00 031175 JUMPL AC+2,F30260 ;LOOP ON ERROR SWITCH^
|
|
1483
|
|
1484 003027 ADR=ADR+1
|
|
1485 000015 WW=WW-1
|
|
1486 000020 000000 XX=XX+XX
|
|
1487 IFE XX,<XX=1>
|
|
1488
|
|
1489 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1490 525252 525252 V1=N1
|
|
1491 525240 000000 V2=N1*XX
|
|
1492 IFL XX,<V3=N2+1>
|
|
1493 777765 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1494 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1495 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1496 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1497 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1498 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1499
|
|
1500 525252 525252 F30270: AA1=V1 ;INITIAL C(AC)
|
|
1501 031210 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1502 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1503 031211 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1504 000020 000000 AEE=XX ;INITIAL C(E)
|
|
1505 031212 200 12 0 00 044717 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1506 031213 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1507 777765 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1508 031214 312 14 0 00 044720 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1509 031215 003 14 0 00 030271 ER3 AC,30271 ;HIGH PRODUCT FAILED
|
|
1510 525240 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1511 031216 312 15 0 00 044721 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1512 031217 004 15 0 00 030272 ER4 AC+1,30272 ;LOW PRODUCT FAILED
|
|
1513 000020 000000 AEE=XX ;INITIAL C(E)
|
|
1514 031220 312 12 0 00 044717 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1515 031221 005 12 0 00 030273 ER5 E,30273 ;C(E) WAS CLOBBERED
|
|
1516 031222 321 16 0 00 031210 JUMPL AC+2,F30270 ;LOOP ON ERROR SWITCH^
|
|
1517
|
|
1518 003030 ADR=ADR+1
|
|
1519 000014 WW=WW-1
|
|
1520 000040 000000 XX=XX+XX
|
|
1521 IFE XX,<XX=1>
|
|
1522
|
|
1523 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1524 525252 525252 V1=N1
|
|
1525 652500 000000 V2=N1*XX
|
|
1526 IFL XX,<V3=N2+1>
|
|
1527 777752 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1528 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1529 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1530 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1531 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1532 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-15
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0044
|
|
|
|
1533
|
|
1534 525252 525252 F30300: AA1=V1 ;INITIAL C(AC)
|
|
1535 031223 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1536 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1537 031224 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1538 000040 000000 AEE=XX ;INITIAL C(E)
|
|
1539 031225 200 12 0 00 044722 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1540 031226 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1541 777752 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1542 031227 312 14 0 00 044723 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1543 031230 003 14 0 00 030301 ER3 AC,30301 ;HIGH PRODUCT FAILED
|
|
1544 652500 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1545 031231 312 15 0 00 044724 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1546 031232 004 15 0 00 030302 ER4 AC+1,30302 ;LOW PRODUCT FAILED
|
|
1547 000040 000000 AEE=XX ;INITIAL C(E)
|
|
1548 031233 312 12 0 00 044722 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1549 031234 005 12 0 00 030303 ER5 E,30303 ;C(E) WAS CLOBBERED
|
|
1550 031235 321 16 0 00 031223 JUMPL AC+2,F30300 ;LOOP ON ERROR SWITCH^
|
|
1551
|
|
1552 003031 ADR=ADR+1
|
|
1553 000013 WW=WW-1
|
|
1554 000100 000000 XX=XX+XX
|
|
1555 IFE XX,<XX=1>
|
|
1556
|
|
1557 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1558 525252 525252 V1=N1
|
|
1559 525200 000000 V2=N1*XX
|
|
1560 IFL XX,<V3=N2+1>
|
|
1561 777725 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1562 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1563 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1564 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1565 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1566 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1567
|
|
1568 525252 525252 F30310: AA1=V1 ;INITIAL C(AC)
|
|
1569 031236 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1570 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1571 031237 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1572 000100 000000 AEE=XX ;INITIAL C(E)
|
|
1573 031240 200 12 0 00 044725 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1574 031241 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1575 777725 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1576 031242 312 14 0 00 044726 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1577 031243 003 14 0 00 030311 ER3 AC,30311 ;HIGH PRODUCT FAILED
|
|
1578 525200 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1579 031244 312 15 0 00 044727 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1580 031245 004 15 0 00 030312 ER4 AC+1,30312 ;LOW PRODUCT FAILED
|
|
1581 000100 000000 AEE=XX ;INITIAL C(E)
|
|
1582 031246 312 12 0 00 044725 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1583 031247 005 12 0 00 030313 ER5 E,30313 ;C(E) WAS CLOBBERED
|
|
1584 031250 321 16 0 00 031236 JUMPL AC+2,F30310 ;LOOP ON ERROR SWITCH^
|
|
1585
|
|
1586 003032 ADR=ADR+1
|
|
1587 000012 WW=WW-1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-16
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0045
|
|
|
|
1588 000200 000000 XX=XX+XX
|
|
1589 IFE XX,<XX=1>
|
|
1590
|
|
1591 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1592 525252 525252 V1=N1
|
|
1593 652400 000000 V2=N1*XX
|
|
1594 IFL XX,<V3=N2+1>
|
|
1595 777652 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1596 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1597 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1598 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1599 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1600 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1601
|
|
1602 525252 525252 F30320: AA1=V1 ;INITIAL C(AC)
|
|
1603 031251 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1604 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1605 031252 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1606 000200 000000 AEE=XX ;INITIAL C(E)
|
|
1607 031253 200 12 0 00 044730 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1608 031254 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1609 777652 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1610 031255 312 14 0 00 044731 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1611 031256 003 14 0 00 030321 ER3 AC,30321 ;HIGH PRODUCT FAILED
|
|
1612 652400 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1613 031257 312 15 0 00 044732 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1614 031260 004 15 0 00 030322 ER4 AC+1,30322 ;LOW PRODUCT FAILED
|
|
1615 000200 000000 AEE=XX ;INITIAL C(E)
|
|
1616 031261 312 12 0 00 044730 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1617 031262 005 12 0 00 030323 ER5 E,30323 ;C(E) WAS CLOBBERED
|
|
1618 031263 321 16 0 00 031251 JUMPL AC+2,F30320 ;LOOP ON ERROR SWITCH^
|
|
1619
|
|
1620 003033 ADR=ADR+1
|
|
1621 000011 WW=WW-1
|
|
1622 000400 000000 XX=XX+XX
|
|
1623 IFE XX,<XX=1>
|
|
1624
|
|
1625 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1626 525252 525252 V1=N1
|
|
1627 525000 000000 V2=N1*XX
|
|
1628 IFL XX,<V3=N2+1>
|
|
1629 777525 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1630 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1631 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1632 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1633 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1634 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1635
|
|
1636 525252 525252 F30330: AA1=V1 ;INITIAL C(AC)
|
|
1637 031264 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1638 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1639 031265 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1640 000400 000000 AEE=XX ;INITIAL C(E)
|
|
1641 031266 200 12 0 00 044733 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1642 031267 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-17
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0046
|
|
|
|
1643 777525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1644 031270 312 14 0 00 044734 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1645 031271 003 14 0 00 030331 ER3 AC,30331 ;HIGH PRODUCT FAILED
|
|
1646 525000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1647 031272 312 15 0 00 044735 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1648 031273 004 15 0 00 030332 ER4 AC+1,30332 ;LOW PRODUCT FAILED
|
|
1649 000400 000000 AEE=XX ;INITIAL C(E)
|
|
1650 031274 312 12 0 00 044733 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1651 031275 005 12 0 00 030333 ER5 E,30333 ;C(E) WAS CLOBBERED
|
|
1652 031276 321 16 0 00 031264 JUMPL AC+2,F30330 ;LOOP ON ERROR SWITCH^
|
|
1653
|
|
1654 003034 ADR=ADR+1
|
|
1655 000010 WW=WW-1
|
|
1656 001000 000000 XX=XX+XX
|
|
1657 IFE XX,<XX=1>
|
|
1658
|
|
1659 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1660 525252 525252 V1=N1
|
|
1661 652000 000000 V2=N1*XX
|
|
1662 IFL XX,<V3=N2+1>
|
|
1663 777252 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1664 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1665 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1666 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1667 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1668 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1669
|
|
1670 525252 525252 F30340: AA1=V1 ;INITIAL C(AC)
|
|
1671 031277 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1672 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1673 031300 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1674 001000 000000 AEE=XX ;INITIAL C(E)
|
|
1675 031301 200 12 0 00 044736 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1676 031302 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1677 777252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1678 031303 312 14 0 00 044737 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1679 031304 003 14 0 00 030341 ER3 AC,30341 ;HIGH PRODUCT FAILED
|
|
1680 652000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1681 031305 312 15 0 00 044740 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1682 031306 004 15 0 00 030342 ER4 AC+1,30342 ;LOW PRODUCT FAILED
|
|
1683 001000 000000 AEE=XX ;INITIAL C(E)
|
|
1684 031307 312 12 0 00 044736 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1685 031310 005 12 0 00 030343 ER5 E,30343 ;C(E) WAS CLOBBERED
|
|
1686 031311 321 16 0 00 031277 JUMPL AC+2,F30340 ;LOOP ON ERROR SWITCH^
|
|
1687
|
|
1688 003035 ADR=ADR+1
|
|
1689 000007 WW=WW-1
|
|
1690 002000 000000 XX=XX+XX
|
|
1691 IFE XX,<XX=1>
|
|
1692
|
|
1693 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1694 525252 525252 V1=N1
|
|
1695 524000 000000 V2=N1*XX
|
|
1696 IFL XX,<V3=N2+1>
|
|
1697 776525 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-18
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0047
|
|
|
|
1698 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1699 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1700 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1701 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1702 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1703
|
|
1704 525252 525252 F30350: AA1=V1 ;INITIAL C(AC)
|
|
1705 031312 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1706 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1707 031313 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1708 002000 000000 AEE=XX ;INITIAL C(E)
|
|
1709 031314 200 12 0 00 044741 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1710 031315 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1711 776525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1712 031316 312 14 0 00 044742 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1713 031317 003 14 0 00 030351 ER3 AC,30351 ;HIGH PRODUCT FAILED
|
|
1714 524000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1715 031320 312 15 0 00 044743 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1716 031321 004 15 0 00 030352 ER4 AC+1,30352 ;LOW PRODUCT FAILED
|
|
1717 002000 000000 AEE=XX ;INITIAL C(E)
|
|
1718 031322 312 12 0 00 044741 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1719 031323 005 12 0 00 030353 ER5 E,30353 ;C(E) WAS CLOBBERED
|
|
1720 031324 321 16 0 00 031312 JUMPL AC+2,F30350 ;LOOP ON ERROR SWITCH^
|
|
1721
|
|
1722 003036 ADR=ADR+1
|
|
1723 000006 WW=WW-1
|
|
1724 004000 000000 XX=XX+XX
|
|
1725 IFE XX,<XX=1>
|
|
1726
|
|
1727 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1728 525252 525252 V1=N1
|
|
1729 650000 000000 V2=N1*XX
|
|
1730 IFL XX,<V3=N2+1>
|
|
1731 775252 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1732 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1733 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1734 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1735 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1736 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1737
|
|
1738 525252 525252 F30360: AA1=V1 ;INITIAL C(AC)
|
|
1739 031325 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1740 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1741 031326 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1742 004000 000000 AEE=XX ;INITIAL C(E)
|
|
1743 031327 200 12 0 00 044744 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1744 031330 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1745 775252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1746 031331 312 14 0 00 044745 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1747 031332 003 14 0 00 030361 ER3 AC,30361 ;HIGH PRODUCT FAILED
|
|
1748 650000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1749 031333 312 15 0 00 044746 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1750 031334 004 15 0 00 030362 ER4 AC+1,30362 ;LOW PRODUCT FAILED
|
|
1751 004000 000000 AEE=XX ;INITIAL C(E)
|
|
1752 031335 312 12 0 00 044744 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-19
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0048
|
|
|
|
1753 031336 005 12 0 00 030363 ER5 E,30363 ;C(E) WAS CLOBBERED
|
|
1754 031337 321 16 0 00 031325 JUMPL AC+2,F30360 ;LOOP ON ERROR SWITCH^
|
|
1755
|
|
1756 003037 ADR=ADR+1
|
|
1757 000005 WW=WW-1
|
|
1758 010000 000000 XX=XX+XX
|
|
1759 IFE XX,<XX=1>
|
|
1760
|
|
1761 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1762 525252 525252 V1=N1
|
|
1763 520000 000000 V2=N1*XX
|
|
1764 IFL XX,<V3=N2+1>
|
|
1765 772525 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1766 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1767 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1768 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1769 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1770 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1771
|
|
1772 525252 525252 F30370: AA1=V1 ;INITIAL C(AC)
|
|
1773 031340 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1774 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1775 031341 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1776 010000 000000 AEE=XX ;INITIAL C(E)
|
|
1777 031342 200 12 0 00 044747 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1778 031343 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1779 772525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1780 031344 312 14 0 00 044750 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1781 031345 003 14 0 00 030371 ER3 AC,30371 ;HIGH PRODUCT FAILED
|
|
1782 520000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1783 031346 312 15 0 00 044751 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1784 031347 004 15 0 00 030372 ER4 AC+1,30372 ;LOW PRODUCT FAILED
|
|
1785 010000 000000 AEE=XX ;INITIAL C(E)
|
|
1786 031350 312 12 0 00 044747 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1787 031351 005 12 0 00 030373 ER5 E,30373 ;C(E) WAS CLOBBERED
|
|
1788 031352 321 16 0 00 031340 JUMPL AC+2,F30370 ;LOOP ON ERROR SWITCH^
|
|
1789
|
|
1790 003040 ADR=ADR+1
|
|
1791 000004 WW=WW-1
|
|
1792 020000 000000 XX=XX+XX
|
|
1793 IFE XX,<XX=1>
|
|
1794
|
|
1795 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1796 525252 525252 V1=N1
|
|
1797 640000 000000 V2=N1*XX
|
|
1798 IFL XX,<V3=N2+1>
|
|
1799 765252 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1800 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1801 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1802 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1803 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1804 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1805
|
|
1806 525252 525252 F30400: AA1=V1 ;INITIAL C(AC)
|
|
1807 031353 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-20
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0049
|
|
|
|
1808 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1809 031354 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1810 020000 000000 AEE=XX ;INITIAL C(E)
|
|
1811 031355 200 12 0 00 044752 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1812 031356 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1813 765252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1814 031357 312 14 0 00 044753 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1815 031360 003 14 0 00 030401 ER3 AC,30401 ;HIGH PRODUCT FAILED
|
|
1816 640000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1817 031361 312 15 0 00 044754 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1818 031362 004 15 0 00 030402 ER4 AC+1,30402 ;LOW PRODUCT FAILED
|
|
1819 020000 000000 AEE=XX ;INITIAL C(E)
|
|
1820 031363 312 12 0 00 044752 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1821 031364 005 12 0 00 030403 ER5 E,30403 ;C(E) WAS CLOBBERED
|
|
1822 031365 321 16 0 00 031353 JUMPL AC+2,F30400 ;LOOP ON ERROR SWITCH^
|
|
1823
|
|
1824 003041 ADR=ADR+1
|
|
1825 000003 WW=WW-1
|
|
1826 040000 000000 XX=XX+XX
|
|
1827 IFE XX,<XX=1>
|
|
1828
|
|
1829 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1830 525252 525252 V1=N1
|
|
1831 500000 000000 V2=N1*XX
|
|
1832 IFL XX,<V3=N2+1>
|
|
1833 752525 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1834 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1835 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1836 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1837 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1838 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1839
|
|
1840 525252 525252 F30410: AA1=V1 ;INITIAL C(AC)
|
|
1841 031366 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1842 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1843 031367 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1844 040000 000000 AEE=XX ;INITIAL C(E)
|
|
1845 031370 200 12 0 00 044755 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1846 031371 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1847 752525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1848 031372 312 14 0 00 044756 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1849 031373 003 14 0 00 030411 ER3 AC,30411 ;HIGH PRODUCT FAILED
|
|
1850 500000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1851 031374 312 15 0 00 044757 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1852 031375 004 15 0 00 030412 ER4 AC+1,30412 ;LOW PRODUCT FAILED
|
|
1853 040000 000000 AEE=XX ;INITIAL C(E)
|
|
1854 031376 312 12 0 00 044755 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1855 031377 005 12 0 00 030413 ER5 E,30413 ;C(E) WAS CLOBBERED
|
|
1856 031400 321 16 0 00 031366 JUMPL AC+2,F30410 ;LOOP ON ERROR SWITCH^
|
|
1857
|
|
1858 003042 ADR=ADR+1
|
|
1859 000002 WW=WW-1
|
|
1860 100000 000000 XX=XX+XX
|
|
1861 IFE XX,<XX=1>
|
|
1862
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-21
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0050
|
|
|
|
1863 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1864 525252 525252 V1=N1
|
|
1865 600000 000000 V2=N1*XX
|
|
1866 IFL XX,<V3=N2+1>
|
|
1867 725252 525252 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1868 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1869 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1870 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1871 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1872 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1873
|
|
1874 525252 525252 F30420: AA1=V1 ;INITIAL C(AC)
|
|
1875 031401 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1876 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1877 031402 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1878 100000 000000 AEE=XX ;INITIAL C(E)
|
|
1879 031403 200 12 0 00 044760 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1880 031404 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1881 725252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1882 031405 312 14 0 00 044761 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1883 031406 003 14 0 00 030421 ER3 AC,30421 ;HIGH PRODUCT FAILED
|
|
1884 600000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1885 031407 312 15 0 00 044762 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1886 031410 004 15 0 00 030422 ER4 AC+1,30422 ;LOW PRODUCT FAILED
|
|
1887 100000 000000 AEE=XX ;INITIAL C(E)
|
|
1888 031411 312 12 0 00 044760 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1889 031412 005 12 0 00 030423 ER5 E,30423 ;C(E) WAS CLOBBERED
|
|
1890 031413 321 16 0 00 031401 JUMPL AC+2,F30420 ;LOOP ON ERROR SWITCH^
|
|
1891
|
|
1892 003043 ADR=ADR+1
|
|
1893 000001 WW=WW-1
|
|
1894 200000 000000 XX=XX+XX
|
|
1895 IFE XX,<XX=1>
|
|
1896
|
|
1897 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1898 525252 525252 V1=N1
|
|
1899 400000 000000 V2=N1*XX
|
|
1900 IFL XX,<V3=N2+1>
|
|
1901 652525 252525 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1902 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1903 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1904 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1905 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1906 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1907
|
|
1908 525252 525252 F30430: AA1=V1 ;INITIAL C(AC)
|
|
1909 031414 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1910 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1911 031415 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1912 200000 000000 AEE=XX ;INITIAL C(E)
|
|
1913 031416 200 12 0 00 044763 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1914 031417 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1915 652525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1916 031420 312 14 0 00 044764 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1917 031421 003 14 0 00 030431 ER3 AC,30431 ;HIGH PRODUCT FAILED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2-22
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0051
|
|
|
|
1918 400000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1919 031422 312 15 0 00 044765 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1920 031423 004 15 0 00 030432 ER4 AC+1,30432 ;LOW PRODUCT FAILED
|
|
1921 200000 000000 AEE=XX ;INITIAL C(E)
|
|
1922 031424 312 12 0 00 044763 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1923 031425 005 12 0 00 030433 ER5 E,30433 ;C(E) WAS CLOBBERED
|
|
1924 031426 321 16 0 00 031414 JUMPL AC+2,F30430 ;LOOP ON ERROR SWITCH^
|
|
1925
|
|
1926 003044 ADR=ADR+1
|
|
1927 000000 WW=WW-1
|
|
1928 400000 000000 XX=XX+XX
|
|
1929 IFE XX,<XX=1>
|
|
1930
|
|
1931 ;MULTIPLY A FLOATING 1 BY 1010...101010
|
|
1932 525252 525252 V1=N1
|
|
1933 000000 V2=N1*XX
|
|
1934 252525 252526 IFL XX,<V3=N2+1>
|
|
1935 IFG XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
|
|
1936 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
1937 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
1938 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1939 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
1940 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1941
|
|
1942 525252 525252 F30440: AA1=V1 ;INITIAL C(AC)
|
|
1943 031427 200 14 0 00 044614 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
1944 000000 AA2=0 ;INITIAL C(AC+1)
|
|
1945 031430 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
1946 400000 000000 AEE=XX ;INITIAL C(E)
|
|
1947 031431 200 12 0 00 044765 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
1948 031432 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
1949 252525 252526 AR1=V3 ;EXPECTED RESULT IN AC
|
|
1950 031433 312 14 0 00 044766 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
1951 031434 003 14 0 00 030441 ER3 AC,30441 ;HIGH PRODUCT FAILED
|
|
1952 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
1953 031435 312 15 0 00 044615 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
1954 031436 004 15 0 00 030442 ER4 AC+1,30442 ;LOW PRODUCT FAILED
|
|
1955 400000 000000 AEE=XX ;INITIAL C(E)
|
|
1956 031437 312 12 0 00 044765 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
1957 031440 005 12 0 00 030443 ER5 E,30443 ;C(E) WAS CLOBBERED
|
|
1958 031441 321 16 0 00 031427 JUMPL AC+2,F30440 ;LOOP ON ERROR SWITCH^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0052
|
|
|
|
1959 000014 AC=14
|
|
1960 000012 E=<AC-2>&17
|
|
1961 SAVEAC (1,1)^
|
|
1962 031442 201 16 0 00 031442 MOVEI AC+2,. ;SAVE TEST PC
|
|
1963 031443 202 16 0 00 030051 MOVEM AC+2,TESTPC
|
|
1964 031444 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
1965 031445 202 16 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
1966
|
|
1967 000044 WW=^D36
|
|
1968
|
|
1969 000000 XX=0
|
|
1970
|
|
1971 REPEAT ^D35,< ;LAST CASE DIFFERENT
|
|
1972 ADR=ADR+1
|
|
1973 WW=WW-1
|
|
1974 XX=XX+XX
|
|
1975 IFE XX,<XX=1>
|
|
1976
|
|
1977 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
1978 V1=N2
|
|
1979 V2=N2*XX
|
|
1980 IFG XX,<V3=<N2_<-WW>>>
|
|
1981 IFL XX,<V3=N1+1>
|
|
1982 MOP1 (\ADR,XX,0,V1,V3,V2)>
|
|
1983 ;LAST CASE DIFFERENT
|
|
1984 003045 ADR=ADR+1
|
|
1985 000043 WW=WW-1
|
|
1986 000000 XX=XX+XX
|
|
1987 000001 IFE XX,<XX=1>
|
|
1988
|
|
1989 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
1990 252525 252525 V1=N2
|
|
1991 252525 252525 V2=N2*XX
|
|
1992 000000 IFG XX,<V3=<N2_<-WW>>>
|
|
1993 IFL XX,<V3=N1+1>
|
|
1994 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
1995 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
1996 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
1997 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
1998 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
1999
|
|
2000 000001 F30450: AA1=XX ;INITIAL C(AC)
|
|
2001 031446 200 14 0 00 044616 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2002 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2003 031447 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2004 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2005 031450 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2006 031451 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2007 000000 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2008 031452 312 14 0 00 044615 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2009 031453 003 14 0 00 030451 ER3 AC,30451 ;HIGH PRODUCT FAILED
|
|
2010 252525 252525 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2011 031454 312 15 0 00 044767 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2012 031455 004 15 0 00 030452 ER4 AC+1,30452 ;LOW PRODUCT FAILED
|
|
2013 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-1
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0053
|
|
|
|
2014 031456 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2015 031457 005 12 0 00 030453 ER5 E,30453 ;C(E) WAS CLOBBERED
|
|
2016 031460 321 16 0 00 031446 JUMPL AC+2,F30450 ;LOOP ON ERROR SWITCH^
|
|
2017 ;LAST CASE DIFFERENT
|
|
2018 003046 ADR=ADR+1
|
|
2019 000042 WW=WW-1
|
|
2020 000002 XX=XX+XX
|
|
2021 IFE XX,<XX=1>
|
|
2022
|
|
2023 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2024 252525 252525 V1=N2
|
|
2025 125252 525252 V2=N2*XX
|
|
2026 000001 IFG XX,<V3=<N2_<-WW>>>
|
|
2027 IFL XX,<V3=N1+1>
|
|
2028 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2029 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2030 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2031 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2032 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2033
|
|
2034 000002 F30460: AA1=XX ;INITIAL C(AC)
|
|
2035 031461 200 14 0 00 044620 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2036 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2037 031462 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2038 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2039 031463 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2040 031464 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2041 000001 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2042 031465 312 14 0 00 044616 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2043 031466 003 14 0 00 030461 ER3 AC,30461 ;HIGH PRODUCT FAILED
|
|
2044 125252 525252 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2045 031467 312 15 0 00 044770 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2046 031470 004 15 0 00 030462 ER4 AC+1,30462 ;LOW PRODUCT FAILED
|
|
2047 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2048 031471 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2049 031472 005 12 0 00 030463 ER5 E,30463 ;C(E) WAS CLOBBERED
|
|
2050 031473 321 16 0 00 031461 JUMPL AC+2,F30460 ;LOOP ON ERROR SWITCH^
|
|
2051 ;LAST CASE DIFFERENT
|
|
2052 003047 ADR=ADR+1
|
|
2053 000041 WW=WW-1
|
|
2054 000004 XX=XX+XX
|
|
2055 IFE XX,<XX=1>
|
|
2056
|
|
2057 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2058 252525 252525 V1=N2
|
|
2059 252525 252524 V2=N2*XX
|
|
2060 000002 IFG XX,<V3=<N2_<-WW>>>
|
|
2061 IFL XX,<V3=N1+1>
|
|
2062 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2063 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2064 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2065 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2066 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2067
|
|
2068 000004 F30470: AA1=XX ;INITIAL C(AC)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-2
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0054
|
|
|
|
2069 031474 200 14 0 00 044623 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2070 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2071 031475 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2072 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2073 031476 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2074 031477 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2075 000002 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2076 031500 312 14 0 00 044620 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2077 031501 003 14 0 00 030471 ER3 AC,30471 ;HIGH PRODUCT FAILED
|
|
2078 252525 252524 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2079 031502 312 15 0 00 044771 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2080 031503 004 15 0 00 030472 ER4 AC+1,30472 ;LOW PRODUCT FAILED
|
|
2081 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2082 031504 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2083 031505 005 12 0 00 030473 ER5 E,30473 ;C(E) WAS CLOBBERED
|
|
2084 031506 321 16 0 00 031474 JUMPL AC+2,F30470 ;LOOP ON ERROR SWITCH^
|
|
2085 ;LAST CASE DIFFERENT
|
|
2086 003050 ADR=ADR+1
|
|
2087 000040 WW=WW-1
|
|
2088 000010 XX=XX+XX
|
|
2089 IFE XX,<XX=1>
|
|
2090
|
|
2091 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2092 252525 252525 V1=N2
|
|
2093 125252 525250 V2=N2*XX
|
|
2094 000005 IFG XX,<V3=<N2_<-WW>>>
|
|
2095 IFL XX,<V3=N1+1>
|
|
2096 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2097 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2098 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2099 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2100 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2101
|
|
2102 000010 F30500: AA1=XX ;INITIAL C(AC)
|
|
2103 031507 200 14 0 00 044626 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2104 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2105 031510 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2106 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2107 031511 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2108 031512 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2109 000005 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2110 031513 312 14 0 00 044772 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2111 031514 003 14 0 00 030501 ER3 AC,30501 ;HIGH PRODUCT FAILED
|
|
2112 125252 525250 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2113 031515 312 15 0 00 044773 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2114 031516 004 15 0 00 030502 ER4 AC+1,30502 ;LOW PRODUCT FAILED
|
|
2115 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2116 031517 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2117 031520 005 12 0 00 030503 ER5 E,30503 ;C(E) WAS CLOBBERED
|
|
2118 031521 321 16 0 00 031507 JUMPL AC+2,F30500 ;LOOP ON ERROR SWITCH^
|
|
2119 ;LAST CASE DIFFERENT
|
|
2120 003051 ADR=ADR+1
|
|
2121 000037 WW=WW-1
|
|
2122 000020 XX=XX+XX
|
|
2123 IFE XX,<XX=1>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-3
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0055
|
|
|
|
2124
|
|
2125 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2126 252525 252525 V1=N2
|
|
2127 252525 252520 V2=N2*XX
|
|
2128 000012 IFG XX,<V3=<N2_<-WW>>>
|
|
2129 IFL XX,<V3=N1+1>
|
|
2130 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2131 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2132 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2133 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2134 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2135
|
|
2136 000020 F30510: AA1=XX ;INITIAL C(AC)
|
|
2137 031522 200 14 0 00 044631 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2138 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2139 031523 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2140 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2141 031524 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2142 031525 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2143 000012 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2144 031526 312 14 0 00 044774 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2145 031527 003 14 0 00 030511 ER3 AC,30511 ;HIGH PRODUCT FAILED
|
|
2146 252525 252520 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2147 031530 312 15 0 00 044775 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2148 031531 004 15 0 00 030512 ER4 AC+1,30512 ;LOW PRODUCT FAILED
|
|
2149 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2150 031532 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2151 031533 005 12 0 00 030513 ER5 E,30513 ;C(E) WAS CLOBBERED
|
|
2152 031534 321 16 0 00 031522 JUMPL AC+2,F30510 ;LOOP ON ERROR SWITCH^
|
|
2153 ;LAST CASE DIFFERENT
|
|
2154 003052 ADR=ADR+1
|
|
2155 000036 WW=WW-1
|
|
2156 000040 XX=XX+XX
|
|
2157 IFE XX,<XX=1>
|
|
2158
|
|
2159 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2160 252525 252525 V1=N2
|
|
2161 125252 525240 V2=N2*XX
|
|
2162 000025 IFG XX,<V3=<N2_<-WW>>>
|
|
2163 IFL XX,<V3=N1+1>
|
|
2164 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2165 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2166 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2167 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2168 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2169
|
|
2170 000040 F30520: AA1=XX ;INITIAL C(AC)
|
|
2171 031535 200 14 0 00 044634 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2172 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2173 031536 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2174 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2175 031537 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2176 031540 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2177 000025 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2178 031541 312 14 0 00 044776 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-4
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0056
|
|
|
|
2179 031542 003 14 0 00 030521 ER3 AC,30521 ;HIGH PRODUCT FAILED
|
|
2180 125252 525240 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2181 031543 312 15 0 00 044777 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2182 031544 004 15 0 00 030522 ER4 AC+1,30522 ;LOW PRODUCT FAILED
|
|
2183 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2184 031545 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2185 031546 005 12 0 00 030523 ER5 E,30523 ;C(E) WAS CLOBBERED
|
|
2186 031547 321 16 0 00 031535 JUMPL AC+2,F30520 ;LOOP ON ERROR SWITCH^
|
|
2187 ;LAST CASE DIFFERENT
|
|
2188 003053 ADR=ADR+1
|
|
2189 000035 WW=WW-1
|
|
2190 000100 XX=XX+XX
|
|
2191 IFE XX,<XX=1>
|
|
2192
|
|
2193 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2194 252525 252525 V1=N2
|
|
2195 252525 252500 V2=N2*XX
|
|
2196 000052 IFG XX,<V3=<N2_<-WW>>>
|
|
2197 IFL XX,<V3=N1+1>
|
|
2198 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2199 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2200 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2201 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2202 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2203
|
|
2204 000100 F30530: AA1=XX ;INITIAL C(AC)
|
|
2205 031550 200 14 0 00 044637 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2206 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2207 031551 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2208 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2209 031552 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2210 031553 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2211 000052 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2212 031554 312 14 0 00 045000 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2213 031555 003 14 0 00 030531 ER3 AC,30531 ;HIGH PRODUCT FAILED
|
|
2214 252525 252500 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2215 031556 312 15 0 00 045001 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2216 031557 004 15 0 00 030532 ER4 AC+1,30532 ;LOW PRODUCT FAILED
|
|
2217 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2218 031560 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2219 031561 005 12 0 00 030533 ER5 E,30533 ;C(E) WAS CLOBBERED
|
|
2220 031562 321 16 0 00 031550 JUMPL AC+2,F30530 ;LOOP ON ERROR SWITCH^
|
|
2221 ;LAST CASE DIFFERENT
|
|
2222 003054 ADR=ADR+1
|
|
2223 000034 WW=WW-1
|
|
2224 000200 XX=XX+XX
|
|
2225 IFE XX,<XX=1>
|
|
2226
|
|
2227 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2228 252525 252525 V1=N2
|
|
2229 125252 525200 V2=N2*XX
|
|
2230 000125 IFG XX,<V3=<N2_<-WW>>>
|
|
2231 IFL XX,<V3=N1+1>
|
|
2232 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2233 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-5
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0057
|
|
|
|
2234 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2235 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2236 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2237
|
|
2238 000200 F30540: AA1=XX ;INITIAL C(AC)
|
|
2239 031563 200 14 0 00 044642 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2240 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2241 031564 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2242 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2243 031565 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2244 031566 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2245 000125 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2246 031567 312 14 0 00 045002 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2247 031570 003 14 0 00 030541 ER3 AC,30541 ;HIGH PRODUCT FAILED
|
|
2248 125252 525200 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2249 031571 312 15 0 00 045003 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2250 031572 004 15 0 00 030542 ER4 AC+1,30542 ;LOW PRODUCT FAILED
|
|
2251 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2252 031573 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2253 031574 005 12 0 00 030543 ER5 E,30543 ;C(E) WAS CLOBBERED
|
|
2254 031575 321 16 0 00 031563 JUMPL AC+2,F30540 ;LOOP ON ERROR SWITCH^
|
|
2255 ;LAST CASE DIFFERENT
|
|
2256 003055 ADR=ADR+1
|
|
2257 000033 WW=WW-1
|
|
2258 000400 XX=XX+XX
|
|
2259 IFE XX,<XX=1>
|
|
2260
|
|
2261 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2262 252525 252525 V1=N2
|
|
2263 252525 252400 V2=N2*XX
|
|
2264 000252 IFG XX,<V3=<N2_<-WW>>>
|
|
2265 IFL XX,<V3=N1+1>
|
|
2266 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2267 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2268 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2269 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2270 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2271
|
|
2272 000400 F30550: AA1=XX ;INITIAL C(AC)
|
|
2273 031576 200 14 0 00 044645 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2274 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2275 031577 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2276 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2277 031600 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2278 031601 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2279 000252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2280 031602 312 14 0 00 045004 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2281 031603 003 14 0 00 030551 ER3 AC,30551 ;HIGH PRODUCT FAILED
|
|
2282 252525 252400 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2283 031604 312 15 0 00 045005 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2284 031605 004 15 0 00 030552 ER4 AC+1,30552 ;LOW PRODUCT FAILED
|
|
2285 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2286 031606 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2287 031607 005 12 0 00 030553 ER5 E,30553 ;C(E) WAS CLOBBERED
|
|
2288 031610 321 16 0 00 031576 JUMPL AC+2,F30550 ;LOOP ON ERROR SWITCH^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-6
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0058
|
|
|
|
2289 ;LAST CASE DIFFERENT
|
|
2290 003056 ADR=ADR+1
|
|
2291 000032 WW=WW-1
|
|
2292 001000 XX=XX+XX
|
|
2293 IFE XX,<XX=1>
|
|
2294
|
|
2295 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2296 252525 252525 V1=N2
|
|
2297 125252 525000 V2=N2*XX
|
|
2298 000525 IFG XX,<V3=<N2_<-WW>>>
|
|
2299 IFL XX,<V3=N1+1>
|
|
2300 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2301 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2302 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2303 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2304 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2305
|
|
2306 001000 F30560: AA1=XX ;INITIAL C(AC)
|
|
2307 031611 200 14 0 00 044650 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2308 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2309 031612 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2310 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2311 031613 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2312 031614 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2313 000525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2314 031615 312 14 0 00 045006 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2315 031616 003 14 0 00 030561 ER3 AC,30561 ;HIGH PRODUCT FAILED
|
|
2316 125252 525000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2317 031617 312 15 0 00 045007 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2318 031620 004 15 0 00 030562 ER4 AC+1,30562 ;LOW PRODUCT FAILED
|
|
2319 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2320 031621 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2321 031622 005 12 0 00 030563 ER5 E,30563 ;C(E) WAS CLOBBERED
|
|
2322 031623 321 16 0 00 031611 JUMPL AC+2,F30560 ;LOOP ON ERROR SWITCH^
|
|
2323 ;LAST CASE DIFFERENT
|
|
2324 003057 ADR=ADR+1
|
|
2325 000031 WW=WW-1
|
|
2326 002000 XX=XX+XX
|
|
2327 IFE XX,<XX=1>
|
|
2328
|
|
2329 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2330 252525 252525 V1=N2
|
|
2331 252525 252000 V2=N2*XX
|
|
2332 001252 IFG XX,<V3=<N2_<-WW>>>
|
|
2333 IFL XX,<V3=N1+1>
|
|
2334 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2335 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2336 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2337 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2338 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2339
|
|
2340 002000 F30570: AA1=XX ;INITIAL C(AC)
|
|
2341 031624 200 14 0 00 044653 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2342 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2343 031625 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-7
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0059
|
|
|
|
2344 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2345 031626 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2346 031627 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2347 001252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2348 031630 312 14 0 00 045010 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2349 031631 003 14 0 00 030571 ER3 AC,30571 ;HIGH PRODUCT FAILED
|
|
2350 252525 252000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2351 031632 312 15 0 00 045011 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2352 031633 004 15 0 00 030572 ER4 AC+1,30572 ;LOW PRODUCT FAILED
|
|
2353 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2354 031634 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2355 031635 005 12 0 00 030573 ER5 E,30573 ;C(E) WAS CLOBBERED
|
|
2356 031636 321 16 0 00 031624 JUMPL AC+2,F30570 ;LOOP ON ERROR SWITCH^
|
|
2357 ;LAST CASE DIFFERENT
|
|
2358 003060 ADR=ADR+1
|
|
2359 000030 WW=WW-1
|
|
2360 004000 XX=XX+XX
|
|
2361 IFE XX,<XX=1>
|
|
2362
|
|
2363 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2364 252525 252525 V1=N2
|
|
2365 125252 524000 V2=N2*XX
|
|
2366 002525 IFG XX,<V3=<N2_<-WW>>>
|
|
2367 IFL XX,<V3=N1+1>
|
|
2368 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2369 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2370 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2371 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2372 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2373
|
|
2374 004000 F30600: AA1=XX ;INITIAL C(AC)
|
|
2375 031637 200 14 0 00 044656 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2376 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2377 031640 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2378 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2379 031641 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2380 031642 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2381 002525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2382 031643 312 14 0 00 045012 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2383 031644 003 14 0 00 030601 ER3 AC,30601 ;HIGH PRODUCT FAILED
|
|
2384 125252 524000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2385 031645 312 15 0 00 045013 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2386 031646 004 15 0 00 030602 ER4 AC+1,30602 ;LOW PRODUCT FAILED
|
|
2387 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2388 031647 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2389 031650 005 12 0 00 030603 ER5 E,30603 ;C(E) WAS CLOBBERED
|
|
2390 031651 321 16 0 00 031637 JUMPL AC+2,F30600 ;LOOP ON ERROR SWITCH^
|
|
2391 ;LAST CASE DIFFERENT
|
|
2392 003061 ADR=ADR+1
|
|
2393 000027 WW=WW-1
|
|
2394 010000 XX=XX+XX
|
|
2395 IFE XX,<XX=1>
|
|
2396
|
|
2397 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2398 252525 252525 V1=N2
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-8
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0060
|
|
|
|
2399 252525 250000 V2=N2*XX
|
|
2400 005252 IFG XX,<V3=<N2_<-WW>>>
|
|
2401 IFL XX,<V3=N1+1>
|
|
2402 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2403 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2404 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2405 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2406 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2407
|
|
2408 010000 F30610: AA1=XX ;INITIAL C(AC)
|
|
2409 031652 200 14 0 00 044661 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2410 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2411 031653 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2412 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2413 031654 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2414 031655 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2415 005252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2416 031656 312 14 0 00 045014 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2417 031657 003 14 0 00 030611 ER3 AC,30611 ;HIGH PRODUCT FAILED
|
|
2418 252525 250000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2419 031660 312 15 0 00 045015 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2420 031661 004 15 0 00 030612 ER4 AC+1,30612 ;LOW PRODUCT FAILED
|
|
2421 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2422 031662 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2423 031663 005 12 0 00 030613 ER5 E,30613 ;C(E) WAS CLOBBERED
|
|
2424 031664 321 16 0 00 031652 JUMPL AC+2,F30610 ;LOOP ON ERROR SWITCH^
|
|
2425 ;LAST CASE DIFFERENT
|
|
2426 003062 ADR=ADR+1
|
|
2427 000026 WW=WW-1
|
|
2428 020000 XX=XX+XX
|
|
2429 IFE XX,<XX=1>
|
|
2430
|
|
2431 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2432 252525 252525 V1=N2
|
|
2433 125252 520000 V2=N2*XX
|
|
2434 012525 IFG XX,<V3=<N2_<-WW>>>
|
|
2435 IFL XX,<V3=N1+1>
|
|
2436 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2437 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2438 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2439 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2440 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2441
|
|
2442 020000 F30620: AA1=XX ;INITIAL C(AC)
|
|
2443 031665 200 14 0 00 044664 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2444 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2445 031666 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2446 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2447 031667 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2448 031670 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2449 012525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2450 031671 312 14 0 00 045016 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2451 031672 003 14 0 00 030621 ER3 AC,30621 ;HIGH PRODUCT FAILED
|
|
2452 125252 520000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2453 031673 312 15 0 00 045017 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-9
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0061
|
|
|
|
2454 031674 004 15 0 00 030622 ER4 AC+1,30622 ;LOW PRODUCT FAILED
|
|
2455 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2456 031675 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2457 031676 005 12 0 00 030623 ER5 E,30623 ;C(E) WAS CLOBBERED
|
|
2458 031677 321 16 0 00 031665 JUMPL AC+2,F30620 ;LOOP ON ERROR SWITCH^
|
|
2459 ;LAST CASE DIFFERENT
|
|
2460 003063 ADR=ADR+1
|
|
2461 000025 WW=WW-1
|
|
2462 040000 XX=XX+XX
|
|
2463 IFE XX,<XX=1>
|
|
2464
|
|
2465 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2466 252525 252525 V1=N2
|
|
2467 252525 240000 V2=N2*XX
|
|
2468 025252 IFG XX,<V3=<N2_<-WW>>>
|
|
2469 IFL XX,<V3=N1+1>
|
|
2470 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2471 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2472 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2473 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2474 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2475
|
|
2476 040000 F30630: AA1=XX ;INITIAL C(AC)
|
|
2477 031700 200 14 0 00 044667 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2478 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2479 031701 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2480 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2481 031702 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2482 031703 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2483 025252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2484 031704 312 14 0 00 045020 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2485 031705 003 14 0 00 030631 ER3 AC,30631 ;HIGH PRODUCT FAILED
|
|
2486 252525 240000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2487 031706 312 15 0 00 045021 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2488 031707 004 15 0 00 030632 ER4 AC+1,30632 ;LOW PRODUCT FAILED
|
|
2489 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2490 031710 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2491 031711 005 12 0 00 030633 ER5 E,30633 ;C(E) WAS CLOBBERED
|
|
2492 031712 321 16 0 00 031700 JUMPL AC+2,F30630 ;LOOP ON ERROR SWITCH^
|
|
2493 ;LAST CASE DIFFERENT
|
|
2494 003064 ADR=ADR+1
|
|
2495 000024 WW=WW-1
|
|
2496 100000 XX=XX+XX
|
|
2497 IFE XX,<XX=1>
|
|
2498
|
|
2499 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2500 252525 252525 V1=N2
|
|
2501 125252 500000 V2=N2*XX
|
|
2502 052525 IFG XX,<V3=<N2_<-WW>>>
|
|
2503 IFL XX,<V3=N1+1>
|
|
2504 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2505 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2506 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2507 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2508 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-10
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0062
|
|
|
|
2509
|
|
2510 100000 F30640: AA1=XX ;INITIAL C(AC)
|
|
2511 031713 200 14 0 00 044672 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2512 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2513 031714 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2514 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2515 031715 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2516 031716 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2517 052525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2518 031717 312 14 0 00 045022 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2519 031720 003 14 0 00 030641 ER3 AC,30641 ;HIGH PRODUCT FAILED
|
|
2520 125252 500000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2521 031721 312 15 0 00 045023 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2522 031722 004 15 0 00 030642 ER4 AC+1,30642 ;LOW PRODUCT FAILED
|
|
2523 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2524 031723 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2525 031724 005 12 0 00 030643 ER5 E,30643 ;C(E) WAS CLOBBERED
|
|
2526 031725 321 16 0 00 031713 JUMPL AC+2,F30640 ;LOOP ON ERROR SWITCH^
|
|
2527 ;LAST CASE DIFFERENT
|
|
2528 003065 ADR=ADR+1
|
|
2529 000023 WW=WW-1
|
|
2530 200000 XX=XX+XX
|
|
2531 IFE XX,<XX=1>
|
|
2532
|
|
2533 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2534 252525 252525 V1=N2
|
|
2535 252525 200000 V2=N2*XX
|
|
2536 125252 IFG XX,<V3=<N2_<-WW>>>
|
|
2537 IFL XX,<V3=N1+1>
|
|
2538 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2539 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2540 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2541 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2542 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2543
|
|
2544 200000 F30650: AA1=XX ;INITIAL C(AC)
|
|
2545 031726 200 14 0 00 044675 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2546 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2547 031727 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2548 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2549 031730 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2550 031731 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2551 125252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2552 031732 312 14 0 00 045024 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2553 031733 003 14 0 00 030651 ER3 AC,30651 ;HIGH PRODUCT FAILED
|
|
2554 252525 200000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2555 031734 312 15 0 00 045025 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2556 031735 004 15 0 00 030652 ER4 AC+1,30652 ;LOW PRODUCT FAILED
|
|
2557 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2558 031736 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2559 031737 005 12 0 00 030653 ER5 E,30653 ;C(E) WAS CLOBBERED
|
|
2560 031740 321 16 0 00 031726 JUMPL AC+2,F30650 ;LOOP ON ERROR SWITCH^
|
|
2561 ;LAST CASE DIFFERENT
|
|
2562 003066 ADR=ADR+1
|
|
2563 000022 WW=WW-1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-11
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0063
|
|
|
|
2564 400000 XX=XX+XX
|
|
2565 IFE XX,<XX=1>
|
|
2566
|
|
2567 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2568 252525 252525 V1=N2
|
|
2569 125252 400000 V2=N2*XX
|
|
2570 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
2571 IFL XX,<V3=N1+1>
|
|
2572 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2573 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2574 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2575 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2576 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2577
|
|
2578 400000 F30660: AA1=XX ;INITIAL C(AC)
|
|
2579 031741 200 14 0 00 044700 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2580 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2581 031742 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2582 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2583 031743 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2584 031744 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2585 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2586 031745 312 14 0 00 045026 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2587 031746 003 14 0 00 030661 ER3 AC,30661 ;HIGH PRODUCT FAILED
|
|
2588 125252 400000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2589 031747 312 15 0 00 045027 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2590 031750 004 15 0 00 030662 ER4 AC+1,30662 ;LOW PRODUCT FAILED
|
|
2591 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2592 031751 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2593 031752 005 12 0 00 030663 ER5 E,30663 ;C(E) WAS CLOBBERED
|
|
2594 031753 321 16 0 00 031741 JUMPL AC+2,F30660 ;LOOP ON ERROR SWITCH^
|
|
2595 ;LAST CASE DIFFERENT
|
|
2596 003067 ADR=ADR+1
|
|
2597 000021 WW=WW-1
|
|
2598 000001 000000 XX=XX+XX
|
|
2599 IFE XX,<XX=1>
|
|
2600
|
|
2601 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2602 252525 252525 V1=N2
|
|
2603 252525 000000 V2=N2*XX
|
|
2604 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
2605 IFL XX,<V3=N1+1>
|
|
2606 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2607 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2608 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2609 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2610 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2611
|
|
2612 000001 000000 F30670: AA1=XX ;INITIAL C(AC)
|
|
2613 031754 200 14 0 00 044703 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2614 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2615 031755 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2616 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2617 031756 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2618 031757 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-12
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0064
|
|
|
|
2619 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2620 031760 312 14 0 00 045030 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2621 031761 003 14 0 00 030671 ER3 AC,30671 ;HIGH PRODUCT FAILED
|
|
2622 252525 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2623 031762 312 15 0 00 045031 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2624 031763 004 15 0 00 030672 ER4 AC+1,30672 ;LOW PRODUCT FAILED
|
|
2625 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2626 031764 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2627 031765 005 12 0 00 030673 ER5 E,30673 ;C(E) WAS CLOBBERED
|
|
2628 031766 321 16 0 00 031754 JUMPL AC+2,F30670 ;LOOP ON ERROR SWITCH^
|
|
2629 ;LAST CASE DIFFERENT
|
|
2630 003070 ADR=ADR+1
|
|
2631 000020 WW=WW-1
|
|
2632 000002 000000 XX=XX+XX
|
|
2633 IFE XX,<XX=1>
|
|
2634
|
|
2635 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2636 252525 252525 V1=N2
|
|
2637 125252 000000 V2=N2*XX
|
|
2638 000001 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
2639 IFL XX,<V3=N1+1>
|
|
2640 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2641 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2642 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2643 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2644 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2645
|
|
2646 000002 000000 F30700: AA1=XX ;INITIAL C(AC)
|
|
2647 031767 200 14 0 00 044706 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2648 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2649 031770 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2650 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2651 031771 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2652 031772 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2653 000001 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2654 031773 312 14 0 00 045032 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2655 031774 003 14 0 00 030701 ER3 AC,30701 ;HIGH PRODUCT FAILED
|
|
2656 125252 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2657 031775 312 15 0 00 045033 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2658 031776 004 15 0 00 030702 ER4 AC+1,30702 ;LOW PRODUCT FAILED
|
|
2659 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2660 031777 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2661 032000 005 12 0 00 030703 ER5 E,30703 ;C(E) WAS CLOBBERED
|
|
2662 032001 321 16 0 00 031767 JUMPL AC+2,F30700 ;LOOP ON ERROR SWITCH^
|
|
2663 ;LAST CASE DIFFERENT
|
|
2664 003071 ADR=ADR+1
|
|
2665 000017 WW=WW-1
|
|
2666 000004 000000 XX=XX+XX
|
|
2667 IFE XX,<XX=1>
|
|
2668
|
|
2669 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2670 252525 252525 V1=N2
|
|
2671 252524 000000 V2=N2*XX
|
|
2672 000002 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
2673 IFL XX,<V3=N1+1>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-13
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0065
|
|
|
|
2674 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2675 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2676 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2677 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2678 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2679
|
|
2680 000004 000000 F30710: AA1=XX ;INITIAL C(AC)
|
|
2681 032002 200 14 0 00 044711 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2682 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2683 032003 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2684 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2685 032004 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2686 032005 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2687 000002 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2688 032006 312 14 0 00 045034 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2689 032007 003 14 0 00 030711 ER3 AC,30711 ;HIGH PRODUCT FAILED
|
|
2690 252524 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2691 032010 312 15 0 00 045035 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2692 032011 004 15 0 00 030712 ER4 AC+1,30712 ;LOW PRODUCT FAILED
|
|
2693 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2694 032012 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2695 032013 005 12 0 00 030713 ER5 E,30713 ;C(E) WAS CLOBBERED
|
|
2696 032014 321 16 0 00 032002 JUMPL AC+2,F30710 ;LOOP ON ERROR SWITCH^
|
|
2697 ;LAST CASE DIFFERENT
|
|
2698 003072 ADR=ADR+1
|
|
2699 000016 WW=WW-1
|
|
2700 000010 000000 XX=XX+XX
|
|
2701 IFE XX,<XX=1>
|
|
2702
|
|
2703 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2704 252525 252525 V1=N2
|
|
2705 125250 000000 V2=N2*XX
|
|
2706 000005 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
2707 IFL XX,<V3=N1+1>
|
|
2708 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2709 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2710 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2711 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2712 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2713
|
|
2714 000010 000000 F30720: AA1=XX ;INITIAL C(AC)
|
|
2715 032015 200 14 0 00 044714 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2716 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2717 032016 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2718 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2719 032017 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2720 032020 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2721 000005 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2722 032021 312 14 0 00 045036 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2723 032022 003 14 0 00 030721 ER3 AC,30721 ;HIGH PRODUCT FAILED
|
|
2724 125250 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2725 032023 312 15 0 00 045037 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2726 032024 004 15 0 00 030722 ER4 AC+1,30722 ;LOW PRODUCT FAILED
|
|
2727 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2728 032025 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-14
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0066
|
|
|
|
2729 032026 005 12 0 00 030723 ER5 E,30723 ;C(E) WAS CLOBBERED
|
|
2730 032027 321 16 0 00 032015 JUMPL AC+2,F30720 ;LOOP ON ERROR SWITCH^
|
|
2731 ;LAST CASE DIFFERENT
|
|
2732 003073 ADR=ADR+1
|
|
2733 000015 WW=WW-1
|
|
2734 000020 000000 XX=XX+XX
|
|
2735 IFE XX,<XX=1>
|
|
2736
|
|
2737 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2738 252525 252525 V1=N2
|
|
2739 252520 000000 V2=N2*XX
|
|
2740 000012 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
2741 IFL XX,<V3=N1+1>
|
|
2742 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2743 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2744 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2745 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2746 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2747
|
|
2748 000020 000000 F30730: AA1=XX ;INITIAL C(AC)
|
|
2749 032030 200 14 0 00 044717 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2750 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2751 032031 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2752 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2753 032032 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2754 032033 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2755 000012 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2756 032034 312 14 0 00 045040 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2757 032035 003 14 0 00 030731 ER3 AC,30731 ;HIGH PRODUCT FAILED
|
|
2758 252520 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2759 032036 312 15 0 00 045041 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2760 032037 004 15 0 00 030732 ER4 AC+1,30732 ;LOW PRODUCT FAILED
|
|
2761 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2762 032040 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2763 032041 005 12 0 00 030733 ER5 E,30733 ;C(E) WAS CLOBBERED
|
|
2764 032042 321 16 0 00 032030 JUMPL AC+2,F30730 ;LOOP ON ERROR SWITCH^
|
|
2765 ;LAST CASE DIFFERENT
|
|
2766 003074 ADR=ADR+1
|
|
2767 000014 WW=WW-1
|
|
2768 000040 000000 XX=XX+XX
|
|
2769 IFE XX,<XX=1>
|
|
2770
|
|
2771 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2772 252525 252525 V1=N2
|
|
2773 125240 000000 V2=N2*XX
|
|
2774 000025 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
2775 IFL XX,<V3=N1+1>
|
|
2776 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2777 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2778 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2779 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2780 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2781
|
|
2782 000040 000000 F30740: AA1=XX ;INITIAL C(AC)
|
|
2783 032043 200 14 0 00 044722 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-15
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0067
|
|
|
|
2784 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2785 032044 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2786 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2787 032045 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2788 032046 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2789 000025 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2790 032047 312 14 0 00 045042 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2791 032050 003 14 0 00 030741 ER3 AC,30741 ;HIGH PRODUCT FAILED
|
|
2792 125240 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2793 032051 312 15 0 00 045043 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2794 032052 004 15 0 00 030742 ER4 AC+1,30742 ;LOW PRODUCT FAILED
|
|
2795 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2796 032053 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2797 032054 005 12 0 00 030743 ER5 E,30743 ;C(E) WAS CLOBBERED
|
|
2798 032055 321 16 0 00 032043 JUMPL AC+2,F30740 ;LOOP ON ERROR SWITCH^
|
|
2799 ;LAST CASE DIFFERENT
|
|
2800 003075 ADR=ADR+1
|
|
2801 000013 WW=WW-1
|
|
2802 000100 000000 XX=XX+XX
|
|
2803 IFE XX,<XX=1>
|
|
2804
|
|
2805 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2806 252525 252525 V1=N2
|
|
2807 252500 000000 V2=N2*XX
|
|
2808 000052 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
2809 IFL XX,<V3=N1+1>
|
|
2810 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2811 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2812 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2813 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2814 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2815
|
|
2816 000100 000000 F30750: AA1=XX ;INITIAL C(AC)
|
|
2817 032056 200 14 0 00 044725 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2818 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2819 032057 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2820 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2821 032060 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2822 032061 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2823 000052 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2824 032062 312 14 0 00 045044 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2825 032063 003 14 0 00 030751 ER3 AC,30751 ;HIGH PRODUCT FAILED
|
|
2826 252500 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2827 032064 312 15 0 00 045045 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2828 032065 004 15 0 00 030752 ER4 AC+1,30752 ;LOW PRODUCT FAILED
|
|
2829 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2830 032066 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2831 032067 005 12 0 00 030753 ER5 E,30753 ;C(E) WAS CLOBBERED
|
|
2832 032070 321 16 0 00 032056 JUMPL AC+2,F30750 ;LOOP ON ERROR SWITCH^
|
|
2833 ;LAST CASE DIFFERENT
|
|
2834 003076 ADR=ADR+1
|
|
2835 000012 WW=WW-1
|
|
2836 000200 000000 XX=XX+XX
|
|
2837 IFE XX,<XX=1>
|
|
2838
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-16
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0068
|
|
|
|
2839 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2840 252525 252525 V1=N2
|
|
2841 125200 000000 V2=N2*XX
|
|
2842 000125 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
2843 IFL XX,<V3=N1+1>
|
|
2844 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2845 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2846 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2847 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2848 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2849
|
|
2850 000200 000000 F30760: AA1=XX ;INITIAL C(AC)
|
|
2851 032071 200 14 0 00 044730 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2852 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2853 032072 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2854 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2855 032073 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2856 032074 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2857 000125 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2858 032075 312 14 0 00 045046 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2859 032076 003 14 0 00 030761 ER3 AC,30761 ;HIGH PRODUCT FAILED
|
|
2860 125200 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2861 032077 312 15 0 00 045047 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2862 032100 004 15 0 00 030762 ER4 AC+1,30762 ;LOW PRODUCT FAILED
|
|
2863 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2864 032101 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2865 032102 005 12 0 00 030763 ER5 E,30763 ;C(E) WAS CLOBBERED
|
|
2866 032103 321 16 0 00 032071 JUMPL AC+2,F30760 ;LOOP ON ERROR SWITCH^
|
|
2867 ;LAST CASE DIFFERENT
|
|
2868 003077 ADR=ADR+1
|
|
2869 000011 WW=WW-1
|
|
2870 000400 000000 XX=XX+XX
|
|
2871 IFE XX,<XX=1>
|
|
2872
|
|
2873 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2874 252525 252525 V1=N2
|
|
2875 252400 000000 V2=N2*XX
|
|
2876 000252 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
2877 IFL XX,<V3=N1+1>
|
|
2878 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2879 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2880 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2881 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2882 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2883
|
|
2884 000400 000000 F30770: AA1=XX ;INITIAL C(AC)
|
|
2885 032104 200 14 0 00 044733 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2886 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2887 032105 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2888 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2889 032106 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2890 032107 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2891 000252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2892 032110 312 14 0 00 045050 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2893 032111 003 14 0 00 030771 ER3 AC,30771 ;HIGH PRODUCT FAILED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-17
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0069
|
|
|
|
2894 252400 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2895 032112 312 15 0 00 045051 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2896 032113 004 15 0 00 030772 ER4 AC+1,30772 ;LOW PRODUCT FAILED
|
|
2897 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2898 032114 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2899 032115 005 12 0 00 030773 ER5 E,30773 ;C(E) WAS CLOBBERED
|
|
2900 032116 321 16 0 00 032104 JUMPL AC+2,F30770 ;LOOP ON ERROR SWITCH^
|
|
2901 ;LAST CASE DIFFERENT
|
|
2902 003100 ADR=ADR+1
|
|
2903 000010 WW=WW-1
|
|
2904 001000 000000 XX=XX+XX
|
|
2905 IFE XX,<XX=1>
|
|
2906
|
|
2907 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2908 252525 252525 V1=N2
|
|
2909 125000 000000 V2=N2*XX
|
|
2910 000525 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
2911 IFL XX,<V3=N1+1>
|
|
2912 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2913 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2914 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2915 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2916 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2917
|
|
2918 001000 000000 F31000: AA1=XX ;INITIAL C(AC)
|
|
2919 032117 200 14 0 00 044736 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2920 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2921 032120 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2922 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2923 032121 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2924 032122 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2925 000525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2926 032123 312 14 0 00 045052 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2927 032124 003 14 0 00 031001 ER3 AC,31001 ;HIGH PRODUCT FAILED
|
|
2928 125000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2929 032125 312 15 0 00 045053 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2930 032126 004 15 0 00 031002 ER4 AC+1,31002 ;LOW PRODUCT FAILED
|
|
2931 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2932 032127 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2933 032130 005 12 0 00 031003 ER5 E,31003 ;C(E) WAS CLOBBERED
|
|
2934 032131 321 16 0 00 032117 JUMPL AC+2,F31000 ;LOOP ON ERROR SWITCH^
|
|
2935 ;LAST CASE DIFFERENT
|
|
2936 003101 ADR=ADR+1
|
|
2937 000007 WW=WW-1
|
|
2938 002000 000000 XX=XX+XX
|
|
2939 IFE XX,<XX=1>
|
|
2940
|
|
2941 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2942 252525 252525 V1=N2
|
|
2943 252000 000000 V2=N2*XX
|
|
2944 001252 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
2945 IFL XX,<V3=N1+1>
|
|
2946 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2947 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2948 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-18
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0070
|
|
|
|
2949 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2950 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2951
|
|
2952 002000 000000 F31010: AA1=XX ;INITIAL C(AC)
|
|
2953 032132 200 14 0 00 044741 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2954 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2955 032133 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2956 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2957 032134 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2958 032135 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2959 001252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2960 032136 312 14 0 00 045054 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2961 032137 003 14 0 00 031011 ER3 AC,31011 ;HIGH PRODUCT FAILED
|
|
2962 252000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2963 032140 312 15 0 00 045055 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2964 032141 004 15 0 00 031012 ER4 AC+1,31012 ;LOW PRODUCT FAILED
|
|
2965 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2966 032142 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
2967 032143 005 12 0 00 031013 ER5 E,31013 ;C(E) WAS CLOBBERED
|
|
2968 032144 321 16 0 00 032132 JUMPL AC+2,F31010 ;LOOP ON ERROR SWITCH^
|
|
2969 ;LAST CASE DIFFERENT
|
|
2970 003102 ADR=ADR+1
|
|
2971 000006 WW=WW-1
|
|
2972 004000 000000 XX=XX+XX
|
|
2973 IFE XX,<XX=1>
|
|
2974
|
|
2975 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
2976 252525 252525 V1=N2
|
|
2977 124000 000000 V2=N2*XX
|
|
2978 002525 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
2979 IFL XX,<V3=N1+1>
|
|
2980 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
2981 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
2982 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
2983 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
2984 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
2985
|
|
2986 004000 000000 F31020: AA1=XX ;INITIAL C(AC)
|
|
2987 032145 200 14 0 00 044744 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
2988 000000 AA2=0 ;INITIAL C(AC+1)
|
|
2989 032146 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
2990 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
2991 032147 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
2992 032150 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
2993 002525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
2994 032151 312 14 0 00 045056 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
2995 032152 003 14 0 00 031021 ER3 AC,31021 ;HIGH PRODUCT FAILED
|
|
2996 124000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
2997 032153 312 15 0 00 045057 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
2998 032154 004 15 0 00 031022 ER4 AC+1,31022 ;LOW PRODUCT FAILED
|
|
2999 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
3000 032155 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
3001 032156 005 12 0 00 031023 ER5 E,31023 ;C(E) WAS CLOBBERED
|
|
3002 032157 321 16 0 00 032145 JUMPL AC+2,F31020 ;LOOP ON ERROR SWITCH^
|
|
3003 ;LAST CASE DIFFERENT
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-19
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0071
|
|
|
|
3004 003103 ADR=ADR+1
|
|
3005 000005 WW=WW-1
|
|
3006 010000 000000 XX=XX+XX
|
|
3007 IFE XX,<XX=1>
|
|
3008
|
|
3009 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
3010 252525 252525 V1=N2
|
|
3011 250000 000000 V2=N2*XX
|
|
3012 005252 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
3013 IFL XX,<V3=N1+1>
|
|
3014 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
3015 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
3016 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3017 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
3018 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3019
|
|
3020 010000 000000 F31030: AA1=XX ;INITIAL C(AC)
|
|
3021 032160 200 14 0 00 044747 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3022 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3023 032161 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3024 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
3025 032162 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
3026 032163 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3027 005252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3028 032164 312 14 0 00 045060 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3029 032165 003 14 0 00 031031 ER3 AC,31031 ;HIGH PRODUCT FAILED
|
|
3030 250000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3031 032166 312 15 0 00 045061 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3032 032167 004 15 0 00 031032 ER4 AC+1,31032 ;LOW PRODUCT FAILED
|
|
3033 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
3034 032170 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
3035 032171 005 12 0 00 031033 ER5 E,31033 ;C(E) WAS CLOBBERED
|
|
3036 032172 321 16 0 00 032160 JUMPL AC+2,F31030 ;LOOP ON ERROR SWITCH^
|
|
3037 ;LAST CASE DIFFERENT
|
|
3038 003104 ADR=ADR+1
|
|
3039 000004 WW=WW-1
|
|
3040 020000 000000 XX=XX+XX
|
|
3041 IFE XX,<XX=1>
|
|
3042
|
|
3043 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
3044 252525 252525 V1=N2
|
|
3045 120000 000000 V2=N2*XX
|
|
3046 012525 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
3047 IFL XX,<V3=N1+1>
|
|
3048 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
3049 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
3050 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3051 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
3052 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3053
|
|
3054 020000 000000 F31040: AA1=XX ;INITIAL C(AC)
|
|
3055 032173 200 14 0 00 044752 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3056 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3057 032174 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3058 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-20
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0072
|
|
|
|
3059 032175 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
3060 032176 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3061 012525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3062 032177 312 14 0 00 045062 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3063 032200 003 14 0 00 031041 ER3 AC,31041 ;HIGH PRODUCT FAILED
|
|
3064 120000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3065 032201 312 15 0 00 045063 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3066 032202 004 15 0 00 031042 ER4 AC+1,31042 ;LOW PRODUCT FAILED
|
|
3067 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
3068 032203 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
3069 032204 005 12 0 00 031043 ER5 E,31043 ;C(E) WAS CLOBBERED
|
|
3070 032205 321 16 0 00 032173 JUMPL AC+2,F31040 ;LOOP ON ERROR SWITCH^
|
|
3071 ;LAST CASE DIFFERENT
|
|
3072 003105 ADR=ADR+1
|
|
3073 000003 WW=WW-1
|
|
3074 040000 000000 XX=XX+XX
|
|
3075 IFE XX,<XX=1>
|
|
3076
|
|
3077 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
3078 252525 252525 V1=N2
|
|
3079 240000 000000 V2=N2*XX
|
|
3080 025252 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
3081 IFL XX,<V3=N1+1>
|
|
3082 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
3083 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
3084 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3085 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
3086 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3087
|
|
3088 040000 000000 F31050: AA1=XX ;INITIAL C(AC)
|
|
3089 032206 200 14 0 00 044755 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3090 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3091 032207 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3092 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
3093 032210 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
3094 032211 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3095 025252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3096 032212 312 14 0 00 045064 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3097 032213 003 14 0 00 031051 ER3 AC,31051 ;HIGH PRODUCT FAILED
|
|
3098 240000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3099 032214 312 15 0 00 045065 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3100 032215 004 15 0 00 031052 ER4 AC+1,31052 ;LOW PRODUCT FAILED
|
|
3101 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
3102 032216 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
3103 032217 005 12 0 00 031053 ER5 E,31053 ;C(E) WAS CLOBBERED
|
|
3104 032220 321 16 0 00 032206 JUMPL AC+2,F31050 ;LOOP ON ERROR SWITCH^
|
|
3105 ;LAST CASE DIFFERENT
|
|
3106 003106 ADR=ADR+1
|
|
3107 000002 WW=WW-1
|
|
3108 100000 000000 XX=XX+XX
|
|
3109 IFE XX,<XX=1>
|
|
3110
|
|
3111 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
3112 252525 252525 V1=N2
|
|
3113 100000 000000 V2=N2*XX
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-21
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0073
|
|
|
|
3114 052525 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
3115 IFL XX,<V3=N1+1>
|
|
3116 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
3117 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
3118 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3119 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
3120 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3121
|
|
3122 100000 000000 F31060: AA1=XX ;INITIAL C(AC)
|
|
3123 032221 200 14 0 00 044760 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3124 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3125 032222 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3126 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
3127 032223 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
3128 032224 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3129 052525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3130 032225 312 14 0 00 045066 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3131 032226 003 14 0 00 031061 ER3 AC,31061 ;HIGH PRODUCT FAILED
|
|
3132 100000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3133 032227 312 15 0 00 044760 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3134 032230 004 15 0 00 031062 ER4 AC+1,31062 ;LOW PRODUCT FAILED
|
|
3135 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
3136 032231 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
3137 032232 005 12 0 00 031063 ER5 E,31063 ;C(E) WAS CLOBBERED
|
|
3138 032233 321 16 0 00 032221 JUMPL AC+2,F31060 ;LOOP ON ERROR SWITCH^
|
|
3139 ;LAST CASE DIFFERENT
|
|
3140 003107 ADR=ADR+1
|
|
3141 000001 WW=WW-1
|
|
3142 200000 000000 XX=XX+XX
|
|
3143 IFE XX,<XX=1>
|
|
3144
|
|
3145 ;MULTIPLY 0101...0101 BY A FLOATING 1
|
|
3146 252525 252525 V1=N2
|
|
3147 200000 000000 V2=N2*XX
|
|
3148 125252 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
3149 IFL XX,<V3=N1+1>
|
|
3150 MOP1 (\ADR,XX,0,V1,V3,V2)^
|
|
3151 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
3152 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3153 ;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
|
|
3154 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3155
|
|
3156 200000 000000 F31070: AA1=XX ;INITIAL C(AC)
|
|
3157 032234 200 14 0 00 044763 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3158 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3159 032235 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3160 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
3161 032236 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
3162 032237 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3163 125252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3164 032240 312 14 0 00 044770 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3165 032241 003 14 0 00 031071 ER3 AC,31071 ;HIGH PRODUCT FAILED
|
|
3166 200000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3167 032242 312 15 0 00 044763 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3168 032243 004 15 0 00 031072 ER4 AC+1,31072 ;LOW PRODUCT FAILED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3-22
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0074
|
|
|
|
3169 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
3170 032244 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
3171 032245 005 12 0 00 031073 ER5 E,31073 ;C(E) WAS CLOBBERED
|
|
3172 032246 321 16 0 00 032234 JUMPL AC+2,F31070 ;LOOP ON ERROR SWITCH^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 4
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0075
|
|
|
|
3173 003110 ADR=ADR+1
|
|
3174 ;MULTIPLY A 1010...1010 BY A 400000,,0
|
|
3175 400000 000000 XX=400000000000
|
|
3176 252525 252525 V1=252525252525
|
|
3177
|
|
3178 MOP1 (\ADR,XX,0,V1,V1,0)^
|
|
3179 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
3180 ;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3181 ;AND E AGAINST [V1], [0] AND [V1] RESPECTIVELY.
|
|
3182 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3183
|
|
3184 400000 000000 F31100: AA1=XX ;INITIAL C(AC)
|
|
3185 032247 200 14 0 00 044765 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
3186 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3187 032250 200 15 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3188 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
3189 032251 200 12 0 00 044767 MOVE E,[V1] ;PRELOAD E (MULTIPLICAND)
|
|
3190 032252 224 14 0 00 000012 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3191 252525 252525 AR1=V1 ;EXPECTED RESULT IN AC
|
|
3192 032253 312 14 0 00 044767 CAME AC,[V1] ;IS HIGH PRODUCT CORRECT?
|
|
3193 032254 003 14 0 00 031101 ER3 AC,31101 ;HIGH PRODUCT FAILED
|
|
3194 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
3195 032255 312 15 0 00 044615 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
3196 032256 004 15 0 00 031102 ER4 AC+1,31102 ;LOW PRODUCT FAILED
|
|
3197 252525 252525 AEE=V1 ;INITIAL C(E)
|
|
3198 032257 312 12 0 00 044767 CAME E,[V1] ;WAS C(E) CLOBBERED?
|
|
3199 032260 005 12 0 00 031103 ER5 E,31103 ;C(E) WAS CLOBBERED
|
|
3200 032261 321 16 0 00 032247 JUMPL AC+2,F31100 ;LOOP ON ERROR SWITCH^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0076
|
|
|
|
3201 000013 AC=13
|
|
3202 000011 E=<AC-2>&17
|
|
3203 SAVEAC (1,1)^
|
|
3204 032262 201 15 0 00 032262 MOVEI AC+2,. ;SAVE TEST PC
|
|
3205 032263 202 15 0 00 030051 MOVEM AC+2,TESTPC
|
|
3206 032264 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
3207 032265 202 15 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
3208 000044 WW=^D36
|
|
3209 000000 XX=0
|
|
3210
|
|
3211 REPEAT ^D36,<
|
|
3212 ADR=ADR+1
|
|
3213 WW=WW-1
|
|
3214 XX=XX+XX
|
|
3215 IFE XX,<XX=1>
|
|
3216
|
|
3217 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3218 V1=N2
|
|
3219 V2=N2*XX
|
|
3220 IFG XX,<V3=<N2_<-WW>>>
|
|
3221 IFL XX,<V3=N1+1>
|
|
3222 MOP1 (\ADR,V1,0,XX,V3,V2)>
|
|
3223
|
|
3224 003111 ADR=ADR+1
|
|
3225 000043 WW=WW-1
|
|
3226 000000 XX=XX+XX
|
|
3227 000001 IFE XX,<XX=1>
|
|
3228
|
|
3229 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3230 252525 252525 V1=N2
|
|
3231 252525 252525 V2=N2*XX
|
|
3232 000000 IFG XX,<V3=<N2_<-WW>>>
|
|
3233 IFL XX,<V3=N1+1>
|
|
3234 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3235 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3236 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3237 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3238 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3239
|
|
3240 252525 252525 F31110: AA1=V1 ;INITIAL C(AC)
|
|
3241 032266 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3242 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3243 032267 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3244 000001 AEE=XX ;INITIAL C(E)
|
|
3245 032270 200 11 0 00 044616 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3246 032271 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3247 000000 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3248 032272 312 13 0 00 044615 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3249 032273 003 13 0 00 031111 ER3 AC,31111 ;HIGH PRODUCT FAILED
|
|
3250 252525 252525 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3251 032274 312 14 0 00 044767 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3252 032275 004 14 0 00 031112 ER4 AC+1,31112 ;LOW PRODUCT FAILED
|
|
3253 000001 AEE=XX ;INITIAL C(E)
|
|
3254 032276 312 11 0 00 044616 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3255 032277 005 11 0 00 031113 ER5 E,31113 ;C(E) WAS CLOBBERED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-1
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0077
|
|
|
|
3256 032300 321 15 0 00 032266 JUMPL AC+2,F31110 ;LOOP ON ERROR SWITCH^
|
|
3257
|
|
3258 003112 ADR=ADR+1
|
|
3259 000042 WW=WW-1
|
|
3260 000002 XX=XX+XX
|
|
3261 IFE XX,<XX=1>
|
|
3262
|
|
3263 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3264 252525 252525 V1=N2
|
|
3265 125252 525252 V2=N2*XX
|
|
3266 000001 IFG XX,<V3=<N2_<-WW>>>
|
|
3267 IFL XX,<V3=N1+1>
|
|
3268 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3269 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3270 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3271 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3272 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3273
|
|
3274 252525 252525 F31120: AA1=V1 ;INITIAL C(AC)
|
|
3275 032301 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3276 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3277 032302 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3278 000002 AEE=XX ;INITIAL C(E)
|
|
3279 032303 200 11 0 00 044620 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3280 032304 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3281 000001 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3282 032305 312 13 0 00 044616 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3283 032306 003 13 0 00 031121 ER3 AC,31121 ;HIGH PRODUCT FAILED
|
|
3284 125252 525252 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3285 032307 312 14 0 00 044770 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3286 032310 004 14 0 00 031122 ER4 AC+1,31122 ;LOW PRODUCT FAILED
|
|
3287 000002 AEE=XX ;INITIAL C(E)
|
|
3288 032311 312 11 0 00 044620 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3289 032312 005 11 0 00 031123 ER5 E,31123 ;C(E) WAS CLOBBERED
|
|
3290 032313 321 15 0 00 032301 JUMPL AC+2,F31120 ;LOOP ON ERROR SWITCH^
|
|
3291
|
|
3292 003113 ADR=ADR+1
|
|
3293 000041 WW=WW-1
|
|
3294 000004 XX=XX+XX
|
|
3295 IFE XX,<XX=1>
|
|
3296
|
|
3297 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3298 252525 252525 V1=N2
|
|
3299 252525 252524 V2=N2*XX
|
|
3300 000002 IFG XX,<V3=<N2_<-WW>>>
|
|
3301 IFL XX,<V3=N1+1>
|
|
3302 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3303 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3304 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3305 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3306 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3307
|
|
3308 252525 252525 F31130: AA1=V1 ;INITIAL C(AC)
|
|
3309 032314 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3310 000000 AA2=0 ;INITIAL C(AC+1)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-2
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0078
|
|
|
|
3311 032315 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3312 000004 AEE=XX ;INITIAL C(E)
|
|
3313 032316 200 11 0 00 044623 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3314 032317 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3315 000002 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3316 032320 312 13 0 00 044620 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3317 032321 003 13 0 00 031131 ER3 AC,31131 ;HIGH PRODUCT FAILED
|
|
3318 252525 252524 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3319 032322 312 14 0 00 044771 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3320 032323 004 14 0 00 031132 ER4 AC+1,31132 ;LOW PRODUCT FAILED
|
|
3321 000004 AEE=XX ;INITIAL C(E)
|
|
3322 032324 312 11 0 00 044623 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3323 032325 005 11 0 00 031133 ER5 E,31133 ;C(E) WAS CLOBBERED
|
|
3324 032326 321 15 0 00 032314 JUMPL AC+2,F31130 ;LOOP ON ERROR SWITCH^
|
|
3325
|
|
3326 003114 ADR=ADR+1
|
|
3327 000040 WW=WW-1
|
|
3328 000010 XX=XX+XX
|
|
3329 IFE XX,<XX=1>
|
|
3330
|
|
3331 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3332 252525 252525 V1=N2
|
|
3333 125252 525250 V2=N2*XX
|
|
3334 000005 IFG XX,<V3=<N2_<-WW>>>
|
|
3335 IFL XX,<V3=N1+1>
|
|
3336 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3337 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3338 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3339 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3340 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3341
|
|
3342 252525 252525 F31140: AA1=V1 ;INITIAL C(AC)
|
|
3343 032327 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3344 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3345 032330 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3346 000010 AEE=XX ;INITIAL C(E)
|
|
3347 032331 200 11 0 00 044626 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3348 032332 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3349 000005 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3350 032333 312 13 0 00 044772 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3351 032334 003 13 0 00 031141 ER3 AC,31141 ;HIGH PRODUCT FAILED
|
|
3352 125252 525250 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3353 032335 312 14 0 00 044773 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3354 032336 004 14 0 00 031142 ER4 AC+1,31142 ;LOW PRODUCT FAILED
|
|
3355 000010 AEE=XX ;INITIAL C(E)
|
|
3356 032337 312 11 0 00 044626 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3357 032340 005 11 0 00 031143 ER5 E,31143 ;C(E) WAS CLOBBERED
|
|
3358 032341 321 15 0 00 032327 JUMPL AC+2,F31140 ;LOOP ON ERROR SWITCH^
|
|
3359
|
|
3360 003115 ADR=ADR+1
|
|
3361 000037 WW=WW-1
|
|
3362 000020 XX=XX+XX
|
|
3363 IFE XX,<XX=1>
|
|
3364
|
|
3365 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-3
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0079
|
|
|
|
3366 252525 252525 V1=N2
|
|
3367 252525 252520 V2=N2*XX
|
|
3368 000012 IFG XX,<V3=<N2_<-WW>>>
|
|
3369 IFL XX,<V3=N1+1>
|
|
3370 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3371 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3372 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3373 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3374 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3375
|
|
3376 252525 252525 F31150: AA1=V1 ;INITIAL C(AC)
|
|
3377 032342 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3378 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3379 032343 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3380 000020 AEE=XX ;INITIAL C(E)
|
|
3381 032344 200 11 0 00 044631 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3382 032345 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3383 000012 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3384 032346 312 13 0 00 044774 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3385 032347 003 13 0 00 031151 ER3 AC,31151 ;HIGH PRODUCT FAILED
|
|
3386 252525 252520 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3387 032350 312 14 0 00 044775 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3388 032351 004 14 0 00 031152 ER4 AC+1,31152 ;LOW PRODUCT FAILED
|
|
3389 000020 AEE=XX ;INITIAL C(E)
|
|
3390 032352 312 11 0 00 044631 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3391 032353 005 11 0 00 031153 ER5 E,31153 ;C(E) WAS CLOBBERED
|
|
3392 032354 321 15 0 00 032342 JUMPL AC+2,F31150 ;LOOP ON ERROR SWITCH^
|
|
3393
|
|
3394 003116 ADR=ADR+1
|
|
3395 000036 WW=WW-1
|
|
3396 000040 XX=XX+XX
|
|
3397 IFE XX,<XX=1>
|
|
3398
|
|
3399 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3400 252525 252525 V1=N2
|
|
3401 125252 525240 V2=N2*XX
|
|
3402 000025 IFG XX,<V3=<N2_<-WW>>>
|
|
3403 IFL XX,<V3=N1+1>
|
|
3404 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3405 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3406 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3407 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3408 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3409
|
|
3410 252525 252525 F31160: AA1=V1 ;INITIAL C(AC)
|
|
3411 032355 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3412 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3413 032356 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3414 000040 AEE=XX ;INITIAL C(E)
|
|
3415 032357 200 11 0 00 044634 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3416 032360 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3417 000025 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3418 032361 312 13 0 00 044776 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3419 032362 003 13 0 00 031161 ER3 AC,31161 ;HIGH PRODUCT FAILED
|
|
3420 125252 525240 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-4
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0080
|
|
|
|
3421 032363 312 14 0 00 044777 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3422 032364 004 14 0 00 031162 ER4 AC+1,31162 ;LOW PRODUCT FAILED
|
|
3423 000040 AEE=XX ;INITIAL C(E)
|
|
3424 032365 312 11 0 00 044634 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3425 032366 005 11 0 00 031163 ER5 E,31163 ;C(E) WAS CLOBBERED
|
|
3426 032367 321 15 0 00 032355 JUMPL AC+2,F31160 ;LOOP ON ERROR SWITCH^
|
|
3427
|
|
3428 003117 ADR=ADR+1
|
|
3429 000035 WW=WW-1
|
|
3430 000100 XX=XX+XX
|
|
3431 IFE XX,<XX=1>
|
|
3432
|
|
3433 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3434 252525 252525 V1=N2
|
|
3435 252525 252500 V2=N2*XX
|
|
3436 000052 IFG XX,<V3=<N2_<-WW>>>
|
|
3437 IFL XX,<V3=N1+1>
|
|
3438 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3439 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3440 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3441 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3442 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3443
|
|
3444 252525 252525 F31170: AA1=V1 ;INITIAL C(AC)
|
|
3445 032370 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3446 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3447 032371 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3448 000100 AEE=XX ;INITIAL C(E)
|
|
3449 032372 200 11 0 00 044637 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3450 032373 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3451 000052 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3452 032374 312 13 0 00 045000 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3453 032375 003 13 0 00 031171 ER3 AC,31171 ;HIGH PRODUCT FAILED
|
|
3454 252525 252500 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3455 032376 312 14 0 00 045001 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3456 032377 004 14 0 00 031172 ER4 AC+1,31172 ;LOW PRODUCT FAILED
|
|
3457 000100 AEE=XX ;INITIAL C(E)
|
|
3458 032400 312 11 0 00 044637 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3459 032401 005 11 0 00 031173 ER5 E,31173 ;C(E) WAS CLOBBERED
|
|
3460 032402 321 15 0 00 032370 JUMPL AC+2,F31170 ;LOOP ON ERROR SWITCH^
|
|
3461
|
|
3462 003120 ADR=ADR+1
|
|
3463 000034 WW=WW-1
|
|
3464 000200 XX=XX+XX
|
|
3465 IFE XX,<XX=1>
|
|
3466
|
|
3467 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3468 252525 252525 V1=N2
|
|
3469 125252 525200 V2=N2*XX
|
|
3470 000125 IFG XX,<V3=<N2_<-WW>>>
|
|
3471 IFL XX,<V3=N1+1>
|
|
3472 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3473 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3474 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3475 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-5
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0081
|
|
|
|
3476 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3477
|
|
3478 252525 252525 F31200: AA1=V1 ;INITIAL C(AC)
|
|
3479 032403 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3480 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3481 032404 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3482 000200 AEE=XX ;INITIAL C(E)
|
|
3483 032405 200 11 0 00 044642 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3484 032406 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3485 000125 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3486 032407 312 13 0 00 045002 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3487 032410 003 13 0 00 031201 ER3 AC,31201 ;HIGH PRODUCT FAILED
|
|
3488 125252 525200 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3489 032411 312 14 0 00 045003 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3490 032412 004 14 0 00 031202 ER4 AC+1,31202 ;LOW PRODUCT FAILED
|
|
3491 000200 AEE=XX ;INITIAL C(E)
|
|
3492 032413 312 11 0 00 044642 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3493 032414 005 11 0 00 031203 ER5 E,31203 ;C(E) WAS CLOBBERED
|
|
3494 032415 321 15 0 00 032403 JUMPL AC+2,F31200 ;LOOP ON ERROR SWITCH^
|
|
3495
|
|
3496 003121 ADR=ADR+1
|
|
3497 000033 WW=WW-1
|
|
3498 000400 XX=XX+XX
|
|
3499 IFE XX,<XX=1>
|
|
3500
|
|
3501 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3502 252525 252525 V1=N2
|
|
3503 252525 252400 V2=N2*XX
|
|
3504 000252 IFG XX,<V3=<N2_<-WW>>>
|
|
3505 IFL XX,<V3=N1+1>
|
|
3506 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3507 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3508 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3509 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3510 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3511
|
|
3512 252525 252525 F31210: AA1=V1 ;INITIAL C(AC)
|
|
3513 032416 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3514 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3515 032417 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3516 000400 AEE=XX ;INITIAL C(E)
|
|
3517 032420 200 11 0 00 044645 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3518 032421 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3519 000252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3520 032422 312 13 0 00 045004 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3521 032423 003 13 0 00 031211 ER3 AC,31211 ;HIGH PRODUCT FAILED
|
|
3522 252525 252400 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3523 032424 312 14 0 00 045005 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3524 032425 004 14 0 00 031212 ER4 AC+1,31212 ;LOW PRODUCT FAILED
|
|
3525 000400 AEE=XX ;INITIAL C(E)
|
|
3526 032426 312 11 0 00 044645 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3527 032427 005 11 0 00 031213 ER5 E,31213 ;C(E) WAS CLOBBERED
|
|
3528 032430 321 15 0 00 032416 JUMPL AC+2,F31210 ;LOOP ON ERROR SWITCH^
|
|
3529
|
|
3530 003122 ADR=ADR+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-6
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0082
|
|
|
|
3531 000032 WW=WW-1
|
|
3532 001000 XX=XX+XX
|
|
3533 IFE XX,<XX=1>
|
|
3534
|
|
3535 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3536 252525 252525 V1=N2
|
|
3537 125252 525000 V2=N2*XX
|
|
3538 000525 IFG XX,<V3=<N2_<-WW>>>
|
|
3539 IFL XX,<V3=N1+1>
|
|
3540 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3541 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3542 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3543 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3544 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3545
|
|
3546 252525 252525 F31220: AA1=V1 ;INITIAL C(AC)
|
|
3547 032431 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3548 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3549 032432 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3550 001000 AEE=XX ;INITIAL C(E)
|
|
3551 032433 200 11 0 00 044650 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3552 032434 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3553 000525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3554 032435 312 13 0 00 045006 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3555 032436 003 13 0 00 031221 ER3 AC,31221 ;HIGH PRODUCT FAILED
|
|
3556 125252 525000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3557 032437 312 14 0 00 045007 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3558 032440 004 14 0 00 031222 ER4 AC+1,31222 ;LOW PRODUCT FAILED
|
|
3559 001000 AEE=XX ;INITIAL C(E)
|
|
3560 032441 312 11 0 00 044650 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3561 032442 005 11 0 00 031223 ER5 E,31223 ;C(E) WAS CLOBBERED
|
|
3562 032443 321 15 0 00 032431 JUMPL AC+2,F31220 ;LOOP ON ERROR SWITCH^
|
|
3563
|
|
3564 003123 ADR=ADR+1
|
|
3565 000031 WW=WW-1
|
|
3566 002000 XX=XX+XX
|
|
3567 IFE XX,<XX=1>
|
|
3568
|
|
3569 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3570 252525 252525 V1=N2
|
|
3571 252525 252000 V2=N2*XX
|
|
3572 001252 IFG XX,<V3=<N2_<-WW>>>
|
|
3573 IFL XX,<V3=N1+1>
|
|
3574 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3575 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3576 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3577 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3578 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3579
|
|
3580 252525 252525 F31230: AA1=V1 ;INITIAL C(AC)
|
|
3581 032444 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3582 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3583 032445 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3584 002000 AEE=XX ;INITIAL C(E)
|
|
3585 032446 200 11 0 00 044653 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-7
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0083
|
|
|
|
3586 032447 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3587 001252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3588 032450 312 13 0 00 045010 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3589 032451 003 13 0 00 031231 ER3 AC,31231 ;HIGH PRODUCT FAILED
|
|
3590 252525 252000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3591 032452 312 14 0 00 045011 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3592 032453 004 14 0 00 031232 ER4 AC+1,31232 ;LOW PRODUCT FAILED
|
|
3593 002000 AEE=XX ;INITIAL C(E)
|
|
3594 032454 312 11 0 00 044653 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3595 032455 005 11 0 00 031233 ER5 E,31233 ;C(E) WAS CLOBBERED
|
|
3596 032456 321 15 0 00 032444 JUMPL AC+2,F31230 ;LOOP ON ERROR SWITCH^
|
|
3597
|
|
3598 003124 ADR=ADR+1
|
|
3599 000030 WW=WW-1
|
|
3600 004000 XX=XX+XX
|
|
3601 IFE XX,<XX=1>
|
|
3602
|
|
3603 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3604 252525 252525 V1=N2
|
|
3605 125252 524000 V2=N2*XX
|
|
3606 002525 IFG XX,<V3=<N2_<-WW>>>
|
|
3607 IFL XX,<V3=N1+1>
|
|
3608 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3609 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3610 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3611 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3612 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3613
|
|
3614 252525 252525 F31240: AA1=V1 ;INITIAL C(AC)
|
|
3615 032457 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3616 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3617 032460 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3618 004000 AEE=XX ;INITIAL C(E)
|
|
3619 032461 200 11 0 00 044656 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3620 032462 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3621 002525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3622 032463 312 13 0 00 045012 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3623 032464 003 13 0 00 031241 ER3 AC,31241 ;HIGH PRODUCT FAILED
|
|
3624 125252 524000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3625 032465 312 14 0 00 045013 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3626 032466 004 14 0 00 031242 ER4 AC+1,31242 ;LOW PRODUCT FAILED
|
|
3627 004000 AEE=XX ;INITIAL C(E)
|
|
3628 032467 312 11 0 00 044656 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3629 032470 005 11 0 00 031243 ER5 E,31243 ;C(E) WAS CLOBBERED
|
|
3630 032471 321 15 0 00 032457 JUMPL AC+2,F31240 ;LOOP ON ERROR SWITCH^
|
|
3631
|
|
3632 003125 ADR=ADR+1
|
|
3633 000027 WW=WW-1
|
|
3634 010000 XX=XX+XX
|
|
3635 IFE XX,<XX=1>
|
|
3636
|
|
3637 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3638 252525 252525 V1=N2
|
|
3639 252525 250000 V2=N2*XX
|
|
3640 005252 IFG XX,<V3=<N2_<-WW>>>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-8
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0084
|
|
|
|
3641 IFL XX,<V3=N1+1>
|
|
3642 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3643 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3644 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3645 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3646 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3647
|
|
3648 252525 252525 F31250: AA1=V1 ;INITIAL C(AC)
|
|
3649 032472 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3650 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3651 032473 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3652 010000 AEE=XX ;INITIAL C(E)
|
|
3653 032474 200 11 0 00 044661 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3654 032475 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3655 005252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3656 032476 312 13 0 00 045014 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3657 032477 003 13 0 00 031251 ER3 AC,31251 ;HIGH PRODUCT FAILED
|
|
3658 252525 250000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3659 032500 312 14 0 00 045015 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3660 032501 004 14 0 00 031252 ER4 AC+1,31252 ;LOW PRODUCT FAILED
|
|
3661 010000 AEE=XX ;INITIAL C(E)
|
|
3662 032502 312 11 0 00 044661 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3663 032503 005 11 0 00 031253 ER5 E,31253 ;C(E) WAS CLOBBERED
|
|
3664 032504 321 15 0 00 032472 JUMPL AC+2,F31250 ;LOOP ON ERROR SWITCH^
|
|
3665
|
|
3666 003126 ADR=ADR+1
|
|
3667 000026 WW=WW-1
|
|
3668 020000 XX=XX+XX
|
|
3669 IFE XX,<XX=1>
|
|
3670
|
|
3671 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3672 252525 252525 V1=N2
|
|
3673 125252 520000 V2=N2*XX
|
|
3674 012525 IFG XX,<V3=<N2_<-WW>>>
|
|
3675 IFL XX,<V3=N1+1>
|
|
3676 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3677 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3678 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3679 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3680 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3681
|
|
3682 252525 252525 F31260: AA1=V1 ;INITIAL C(AC)
|
|
3683 032505 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3684 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3685 032506 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3686 020000 AEE=XX ;INITIAL C(E)
|
|
3687 032507 200 11 0 00 044664 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3688 032510 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3689 012525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3690 032511 312 13 0 00 045016 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3691 032512 003 13 0 00 031261 ER3 AC,31261 ;HIGH PRODUCT FAILED
|
|
3692 125252 520000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3693 032513 312 14 0 00 045017 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3694 032514 004 14 0 00 031262 ER4 AC+1,31262 ;LOW PRODUCT FAILED
|
|
3695 020000 AEE=XX ;INITIAL C(E)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-9
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0085
|
|
|
|
3696 032515 312 11 0 00 044664 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3697 032516 005 11 0 00 031263 ER5 E,31263 ;C(E) WAS CLOBBERED
|
|
3698 032517 321 15 0 00 032505 JUMPL AC+2,F31260 ;LOOP ON ERROR SWITCH^
|
|
3699
|
|
3700 003127 ADR=ADR+1
|
|
3701 000025 WW=WW-1
|
|
3702 040000 XX=XX+XX
|
|
3703 IFE XX,<XX=1>
|
|
3704
|
|
3705 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3706 252525 252525 V1=N2
|
|
3707 252525 240000 V2=N2*XX
|
|
3708 025252 IFG XX,<V3=<N2_<-WW>>>
|
|
3709 IFL XX,<V3=N1+1>
|
|
3710 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3711 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3712 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3713 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3714 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3715
|
|
3716 252525 252525 F31270: AA1=V1 ;INITIAL C(AC)
|
|
3717 032520 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3718 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3719 032521 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3720 040000 AEE=XX ;INITIAL C(E)
|
|
3721 032522 200 11 0 00 044667 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3722 032523 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3723 025252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3724 032524 312 13 0 00 045020 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3725 032525 003 13 0 00 031271 ER3 AC,31271 ;HIGH PRODUCT FAILED
|
|
3726 252525 240000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3727 032526 312 14 0 00 045021 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3728 032527 004 14 0 00 031272 ER4 AC+1,31272 ;LOW PRODUCT FAILED
|
|
3729 040000 AEE=XX ;INITIAL C(E)
|
|
3730 032530 312 11 0 00 044667 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3731 032531 005 11 0 00 031273 ER5 E,31273 ;C(E) WAS CLOBBERED
|
|
3732 032532 321 15 0 00 032520 JUMPL AC+2,F31270 ;LOOP ON ERROR SWITCH^
|
|
3733
|
|
3734 003130 ADR=ADR+1
|
|
3735 000024 WW=WW-1
|
|
3736 100000 XX=XX+XX
|
|
3737 IFE XX,<XX=1>
|
|
3738
|
|
3739 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3740 252525 252525 V1=N2
|
|
3741 125252 500000 V2=N2*XX
|
|
3742 052525 IFG XX,<V3=<N2_<-WW>>>
|
|
3743 IFL XX,<V3=N1+1>
|
|
3744 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3745 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3746 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3747 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3748 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3749
|
|
3750 252525 252525 F31300: AA1=V1 ;INITIAL C(AC)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-10
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0086
|
|
|
|
3751 032533 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3752 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3753 032534 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3754 100000 AEE=XX ;INITIAL C(E)
|
|
3755 032535 200 11 0 00 044672 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3756 032536 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3757 052525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3758 032537 312 13 0 00 045022 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3759 032540 003 13 0 00 031301 ER3 AC,31301 ;HIGH PRODUCT FAILED
|
|
3760 125252 500000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3761 032541 312 14 0 00 045023 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3762 032542 004 14 0 00 031302 ER4 AC+1,31302 ;LOW PRODUCT FAILED
|
|
3763 100000 AEE=XX ;INITIAL C(E)
|
|
3764 032543 312 11 0 00 044672 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3765 032544 005 11 0 00 031303 ER5 E,31303 ;C(E) WAS CLOBBERED
|
|
3766 032545 321 15 0 00 032533 JUMPL AC+2,F31300 ;LOOP ON ERROR SWITCH^
|
|
3767
|
|
3768 003131 ADR=ADR+1
|
|
3769 000023 WW=WW-1
|
|
3770 200000 XX=XX+XX
|
|
3771 IFE XX,<XX=1>
|
|
3772
|
|
3773 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3774 252525 252525 V1=N2
|
|
3775 252525 200000 V2=N2*XX
|
|
3776 125252 IFG XX,<V3=<N2_<-WW>>>
|
|
3777 IFL XX,<V3=N1+1>
|
|
3778 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3779 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3780 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3781 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3782 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3783
|
|
3784 252525 252525 F31310: AA1=V1 ;INITIAL C(AC)
|
|
3785 032546 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3786 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3787 032547 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3788 200000 AEE=XX ;INITIAL C(E)
|
|
3789 032550 200 11 0 00 044675 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3790 032551 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3791 125252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3792 032552 312 13 0 00 045024 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3793 032553 003 13 0 00 031311 ER3 AC,31311 ;HIGH PRODUCT FAILED
|
|
3794 252525 200000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3795 032554 312 14 0 00 045025 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3796 032555 004 14 0 00 031312 ER4 AC+1,31312 ;LOW PRODUCT FAILED
|
|
3797 200000 AEE=XX ;INITIAL C(E)
|
|
3798 032556 312 11 0 00 044675 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3799 032557 005 11 0 00 031313 ER5 E,31313 ;C(E) WAS CLOBBERED
|
|
3800 032560 321 15 0 00 032546 JUMPL AC+2,F31310 ;LOOP ON ERROR SWITCH^
|
|
3801
|
|
3802 003132 ADR=ADR+1
|
|
3803 000022 WW=WW-1
|
|
3804 400000 XX=XX+XX
|
|
3805 IFE XX,<XX=1>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-11
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0087
|
|
|
|
3806
|
|
3807 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3808 252525 252525 V1=N2
|
|
3809 125252 400000 V2=N2*XX
|
|
3810 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
3811 IFL XX,<V3=N1+1>
|
|
3812 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3813 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3814 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3815 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3816 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3817
|
|
3818 252525 252525 F31320: AA1=V1 ;INITIAL C(AC)
|
|
3819 032561 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3820 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3821 032562 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3822 400000 AEE=XX ;INITIAL C(E)
|
|
3823 032563 200 11 0 00 044700 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3824 032564 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3825 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3826 032565 312 13 0 00 045026 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3827 032566 003 13 0 00 031321 ER3 AC,31321 ;HIGH PRODUCT FAILED
|
|
3828 125252 400000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3829 032567 312 14 0 00 045027 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3830 032570 004 14 0 00 031322 ER4 AC+1,31322 ;LOW PRODUCT FAILED
|
|
3831 400000 AEE=XX ;INITIAL C(E)
|
|
3832 032571 312 11 0 00 044700 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3833 032572 005 11 0 00 031323 ER5 E,31323 ;C(E) WAS CLOBBERED
|
|
3834 032573 321 15 0 00 032561 JUMPL AC+2,F31320 ;LOOP ON ERROR SWITCH^
|
|
3835
|
|
3836 003133 ADR=ADR+1
|
|
3837 000021 WW=WW-1
|
|
3838 000001 000000 XX=XX+XX
|
|
3839 IFE XX,<XX=1>
|
|
3840
|
|
3841 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3842 252525 252525 V1=N2
|
|
3843 252525 000000 V2=N2*XX
|
|
3844 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
3845 IFL XX,<V3=N1+1>
|
|
3846 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3847 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3848 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3849 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3850 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3851
|
|
3852 252525 252525 F31330: AA1=V1 ;INITIAL C(AC)
|
|
3853 032574 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3854 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3855 032575 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3856 000001 000000 AEE=XX ;INITIAL C(E)
|
|
3857 032576 200 11 0 00 044703 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3858 032577 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3859 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3860 032600 312 13 0 00 045030 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-12
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0088
|
|
|
|
3861 032601 003 13 0 00 031331 ER3 AC,31331 ;HIGH PRODUCT FAILED
|
|
3862 252525 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3863 032602 312 14 0 00 045031 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3864 032603 004 14 0 00 031332 ER4 AC+1,31332 ;LOW PRODUCT FAILED
|
|
3865 000001 000000 AEE=XX ;INITIAL C(E)
|
|
3866 032604 312 11 0 00 044703 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3867 032605 005 11 0 00 031333 ER5 E,31333 ;C(E) WAS CLOBBERED
|
|
3868 032606 321 15 0 00 032574 JUMPL AC+2,F31330 ;LOOP ON ERROR SWITCH^
|
|
3869
|
|
3870 003134 ADR=ADR+1
|
|
3871 000020 WW=WW-1
|
|
3872 000002 000000 XX=XX+XX
|
|
3873 IFE XX,<XX=1>
|
|
3874
|
|
3875 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3876 252525 252525 V1=N2
|
|
3877 125252 000000 V2=N2*XX
|
|
3878 000001 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
3879 IFL XX,<V3=N1+1>
|
|
3880 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3881 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3882 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3883 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3884 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3885
|
|
3886 252525 252525 F31340: AA1=V1 ;INITIAL C(AC)
|
|
3887 032607 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3888 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3889 032610 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3890 000002 000000 AEE=XX ;INITIAL C(E)
|
|
3891 032611 200 11 0 00 044706 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3892 032612 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3893 000001 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3894 032613 312 13 0 00 045032 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3895 032614 003 13 0 00 031341 ER3 AC,31341 ;HIGH PRODUCT FAILED
|
|
3896 125252 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3897 032615 312 14 0 00 045033 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3898 032616 004 14 0 00 031342 ER4 AC+1,31342 ;LOW PRODUCT FAILED
|
|
3899 000002 000000 AEE=XX ;INITIAL C(E)
|
|
3900 032617 312 11 0 00 044706 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3901 032620 005 11 0 00 031343 ER5 E,31343 ;C(E) WAS CLOBBERED
|
|
3902 032621 321 15 0 00 032607 JUMPL AC+2,F31340 ;LOOP ON ERROR SWITCH^
|
|
3903
|
|
3904 003135 ADR=ADR+1
|
|
3905 000017 WW=WW-1
|
|
3906 000004 000000 XX=XX+XX
|
|
3907 IFE XX,<XX=1>
|
|
3908
|
|
3909 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3910 252525 252525 V1=N2
|
|
3911 252524 000000 V2=N2*XX
|
|
3912 000002 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
3913 IFL XX,<V3=N1+1>
|
|
3914 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3915 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-13
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0089
|
|
|
|
3916 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3917 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3918 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3919
|
|
3920 252525 252525 F31350: AA1=V1 ;INITIAL C(AC)
|
|
3921 032622 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3922 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3923 032623 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3924 000004 000000 AEE=XX ;INITIAL C(E)
|
|
3925 032624 200 11 0 00 044711 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3926 032625 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3927 000002 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3928 032626 312 13 0 00 045034 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3929 032627 003 13 0 00 031351 ER3 AC,31351 ;HIGH PRODUCT FAILED
|
|
3930 252524 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3931 032630 312 14 0 00 045035 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3932 032631 004 14 0 00 031352 ER4 AC+1,31352 ;LOW PRODUCT FAILED
|
|
3933 000004 000000 AEE=XX ;INITIAL C(E)
|
|
3934 032632 312 11 0 00 044711 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3935 032633 005 11 0 00 031353 ER5 E,31353 ;C(E) WAS CLOBBERED
|
|
3936 032634 321 15 0 00 032622 JUMPL AC+2,F31350 ;LOOP ON ERROR SWITCH^
|
|
3937
|
|
3938 003136 ADR=ADR+1
|
|
3939 000016 WW=WW-1
|
|
3940 000010 000000 XX=XX+XX
|
|
3941 IFE XX,<XX=1>
|
|
3942
|
|
3943 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3944 252525 252525 V1=N2
|
|
3945 125250 000000 V2=N2*XX
|
|
3946 000005 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
3947 IFL XX,<V3=N1+1>
|
|
3948 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3949 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3950 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3951 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3952 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3953
|
|
3954 252525 252525 F31360: AA1=V1 ;INITIAL C(AC)
|
|
3955 032635 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3956 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3957 032636 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3958 000010 000000 AEE=XX ;INITIAL C(E)
|
|
3959 032637 200 11 0 00 044714 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3960 032640 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3961 000005 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3962 032641 312 13 0 00 045036 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3963 032642 003 13 0 00 031361 ER3 AC,31361 ;HIGH PRODUCT FAILED
|
|
3964 125250 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3965 032643 312 14 0 00 045037 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
3966 032644 004 14 0 00 031362 ER4 AC+1,31362 ;LOW PRODUCT FAILED
|
|
3967 000010 000000 AEE=XX ;INITIAL C(E)
|
|
3968 032645 312 11 0 00 044714 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
3969 032646 005 11 0 00 031363 ER5 E,31363 ;C(E) WAS CLOBBERED
|
|
3970 032647 321 15 0 00 032635 JUMPL AC+2,F31360 ;LOOP ON ERROR SWITCH^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-14
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0090
|
|
|
|
3971
|
|
3972 003137 ADR=ADR+1
|
|
3973 000015 WW=WW-1
|
|
3974 000020 000000 XX=XX+XX
|
|
3975 IFE XX,<XX=1>
|
|
3976
|
|
3977 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
3978 252525 252525 V1=N2
|
|
3979 252520 000000 V2=N2*XX
|
|
3980 000012 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
3981 IFL XX,<V3=N1+1>
|
|
3982 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
3983 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
3984 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
3985 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
3986 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
3987
|
|
3988 252525 252525 F31370: AA1=V1 ;INITIAL C(AC)
|
|
3989 032650 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
3990 000000 AA2=0 ;INITIAL C(AC+1)
|
|
3991 032651 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
3992 000020 000000 AEE=XX ;INITIAL C(E)
|
|
3993 032652 200 11 0 00 044717 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
3994 032653 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
3995 000012 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
3996 032654 312 13 0 00 045040 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
3997 032655 003 13 0 00 031371 ER3 AC,31371 ;HIGH PRODUCT FAILED
|
|
3998 252520 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
3999 032656 312 14 0 00 045041 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
4000 032657 004 14 0 00 031372 ER4 AC+1,31372 ;LOW PRODUCT FAILED
|
|
4001 000020 000000 AEE=XX ;INITIAL C(E)
|
|
4002 032660 312 11 0 00 044717 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4003 032661 005 11 0 00 031373 ER5 E,31373 ;C(E) WAS CLOBBERED
|
|
4004 032662 321 15 0 00 032650 JUMPL AC+2,F31370 ;LOOP ON ERROR SWITCH^
|
|
4005
|
|
4006 003140 ADR=ADR+1
|
|
4007 000014 WW=WW-1
|
|
4008 000040 000000 XX=XX+XX
|
|
4009 IFE XX,<XX=1>
|
|
4010
|
|
4011 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
4012 252525 252525 V1=N2
|
|
4013 125240 000000 V2=N2*XX
|
|
4014 000025 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
4015 IFL XX,<V3=N1+1>
|
|
4016 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
4017 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
4018 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4019 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
4020 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4021
|
|
4022 252525 252525 F31400: AA1=V1 ;INITIAL C(AC)
|
|
4023 032663 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
4024 000000 AA2=0 ;INITIAL C(AC+1)
|
|
4025 032664 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-15
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0091
|
|
|
|
4026 000040 000000 AEE=XX ;INITIAL C(E)
|
|
4027 032665 200 11 0 00 044722 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4028 032666 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4029 000025 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
4030 032667 312 13 0 00 045042 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
4031 032670 003 13 0 00 031401 ER3 AC,31401 ;HIGH PRODUCT FAILED
|
|
4032 125240 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
4033 032671 312 14 0 00 045043 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
4034 032672 004 14 0 00 031402 ER4 AC+1,31402 ;LOW PRODUCT FAILED
|
|
4035 000040 000000 AEE=XX ;INITIAL C(E)
|
|
4036 032673 312 11 0 00 044722 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4037 032674 005 11 0 00 031403 ER5 E,31403 ;C(E) WAS CLOBBERED
|
|
4038 032675 321 15 0 00 032663 JUMPL AC+2,F31400 ;LOOP ON ERROR SWITCH^
|
|
4039
|
|
4040 003141 ADR=ADR+1
|
|
4041 000013 WW=WW-1
|
|
4042 000100 000000 XX=XX+XX
|
|
4043 IFE XX,<XX=1>
|
|
4044
|
|
4045 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
4046 252525 252525 V1=N2
|
|
4047 252500 000000 V2=N2*XX
|
|
4048 000052 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
4049 IFL XX,<V3=N1+1>
|
|
4050 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
4051 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
4052 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4053 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
4054 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4055
|
|
4056 252525 252525 F31410: AA1=V1 ;INITIAL C(AC)
|
|
4057 032676 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
4058 000000 AA2=0 ;INITIAL C(AC+1)
|
|
4059 032677 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
4060 000100 000000 AEE=XX ;INITIAL C(E)
|
|
4061 032700 200 11 0 00 044725 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4062 032701 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4063 000052 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
4064 032702 312 13 0 00 045044 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
4065 032703 003 13 0 00 031411 ER3 AC,31411 ;HIGH PRODUCT FAILED
|
|
4066 252500 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
4067 032704 312 14 0 00 045045 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
4068 032705 004 14 0 00 031412 ER4 AC+1,31412 ;LOW PRODUCT FAILED
|
|
4069 000100 000000 AEE=XX ;INITIAL C(E)
|
|
4070 032706 312 11 0 00 044725 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4071 032707 005 11 0 00 031413 ER5 E,31413 ;C(E) WAS CLOBBERED
|
|
4072 032710 321 15 0 00 032676 JUMPL AC+2,F31410 ;LOOP ON ERROR SWITCH^
|
|
4073
|
|
4074 003142 ADR=ADR+1
|
|
4075 000012 WW=WW-1
|
|
4076 000200 000000 XX=XX+XX
|
|
4077 IFE XX,<XX=1>
|
|
4078
|
|
4079 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
4080 252525 252525 V1=N2
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-16
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0092
|
|
|
|
4081 125200 000000 V2=N2*XX
|
|
4082 000125 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
4083 IFL XX,<V3=N1+1>
|
|
4084 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
4085 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
4086 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4087 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
4088 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4089
|
|
4090 252525 252525 F31420: AA1=V1 ;INITIAL C(AC)
|
|
4091 032711 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
4092 000000 AA2=0 ;INITIAL C(AC+1)
|
|
4093 032712 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
4094 000200 000000 AEE=XX ;INITIAL C(E)
|
|
4095 032713 200 11 0 00 044730 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4096 032714 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4097 000125 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
4098 032715 312 13 0 00 045046 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
4099 032716 003 13 0 00 031421 ER3 AC,31421 ;HIGH PRODUCT FAILED
|
|
4100 125200 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
4101 032717 312 14 0 00 045047 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
4102 032720 004 14 0 00 031422 ER4 AC+1,31422 ;LOW PRODUCT FAILED
|
|
4103 000200 000000 AEE=XX ;INITIAL C(E)
|
|
4104 032721 312 11 0 00 044730 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4105 032722 005 11 0 00 031423 ER5 E,31423 ;C(E) WAS CLOBBERED
|
|
4106 032723 321 15 0 00 032711 JUMPL AC+2,F31420 ;LOOP ON ERROR SWITCH^
|
|
4107
|
|
4108 003143 ADR=ADR+1
|
|
4109 000011 WW=WW-1
|
|
4110 000400 000000 XX=XX+XX
|
|
4111 IFE XX,<XX=1>
|
|
4112
|
|
4113 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
4114 252525 252525 V1=N2
|
|
4115 252400 000000 V2=N2*XX
|
|
4116 000252 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
4117 IFL XX,<V3=N1+1>
|
|
4118 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
4119 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
4120 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4121 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
4122 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4123
|
|
4124 252525 252525 F31430: AA1=V1 ;INITIAL C(AC)
|
|
4125 032724 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
4126 000000 AA2=0 ;INITIAL C(AC+1)
|
|
4127 032725 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
4128 000400 000000 AEE=XX ;INITIAL C(E)
|
|
4129 032726 200 11 0 00 044733 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4130 032727 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4131 000252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
4132 032730 312 13 0 00 045050 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
4133 032731 003 13 0 00 031431 ER3 AC,31431 ;HIGH PRODUCT FAILED
|
|
4134 252400 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
4135 032732 312 14 0 00 045051 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-17
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0093
|
|
|
|
4136 032733 004 14 0 00 031432 ER4 AC+1,31432 ;LOW PRODUCT FAILED
|
|
4137 000400 000000 AEE=XX ;INITIAL C(E)
|
|
4138 032734 312 11 0 00 044733 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4139 032735 005 11 0 00 031433 ER5 E,31433 ;C(E) WAS CLOBBERED
|
|
4140 032736 321 15 0 00 032724 JUMPL AC+2,F31430 ;LOOP ON ERROR SWITCH^
|
|
4141
|
|
4142 003144 ADR=ADR+1
|
|
4143 000010 WW=WW-1
|
|
4144 001000 000000 XX=XX+XX
|
|
4145 IFE XX,<XX=1>
|
|
4146
|
|
4147 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
4148 252525 252525 V1=N2
|
|
4149 125000 000000 V2=N2*XX
|
|
4150 000525 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
4151 IFL XX,<V3=N1+1>
|
|
4152 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
4153 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
4154 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4155 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
4156 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4157
|
|
4158 252525 252525 F31440: AA1=V1 ;INITIAL C(AC)
|
|
4159 032737 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
4160 000000 AA2=0 ;INITIAL C(AC+1)
|
|
4161 032740 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
4162 001000 000000 AEE=XX ;INITIAL C(E)
|
|
4163 032741 200 11 0 00 044736 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4164 032742 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4165 000525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
4166 032743 312 13 0 00 045052 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
4167 032744 003 13 0 00 031441 ER3 AC,31441 ;HIGH PRODUCT FAILED
|
|
4168 125000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
4169 032745 312 14 0 00 045053 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
4170 032746 004 14 0 00 031442 ER4 AC+1,31442 ;LOW PRODUCT FAILED
|
|
4171 001000 000000 AEE=XX ;INITIAL C(E)
|
|
4172 032747 312 11 0 00 044736 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4173 032750 005 11 0 00 031443 ER5 E,31443 ;C(E) WAS CLOBBERED
|
|
4174 032751 321 15 0 00 032737 JUMPL AC+2,F31440 ;LOOP ON ERROR SWITCH^
|
|
4175
|
|
4176 003145 ADR=ADR+1
|
|
4177 000007 WW=WW-1
|
|
4178 002000 000000 XX=XX+XX
|
|
4179 IFE XX,<XX=1>
|
|
4180
|
|
4181 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
4182 252525 252525 V1=N2
|
|
4183 252000 000000 V2=N2*XX
|
|
4184 001252 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
4185 IFL XX,<V3=N1+1>
|
|
4186 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
4187 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
4188 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4189 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
4190 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-18
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0094
|
|
|
|
4191
|
|
4192 252525 252525 F31450: AA1=V1 ;INITIAL C(AC)
|
|
4193 032752 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
4194 000000 AA2=0 ;INITIAL C(AC+1)
|
|
4195 032753 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
4196 002000 000000 AEE=XX ;INITIAL C(E)
|
|
4197 032754 200 11 0 00 044741 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4198 032755 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4199 001252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
4200 032756 312 13 0 00 045054 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
4201 032757 003 13 0 00 031451 ER3 AC,31451 ;HIGH PRODUCT FAILED
|
|
4202 252000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
4203 032760 312 14 0 00 045055 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
4204 032761 004 14 0 00 031452 ER4 AC+1,31452 ;LOW PRODUCT FAILED
|
|
4205 002000 000000 AEE=XX ;INITIAL C(E)
|
|
4206 032762 312 11 0 00 044741 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4207 032763 005 11 0 00 031453 ER5 E,31453 ;C(E) WAS CLOBBERED
|
|
4208 032764 321 15 0 00 032752 JUMPL AC+2,F31450 ;LOOP ON ERROR SWITCH^
|
|
4209
|
|
4210 003146 ADR=ADR+1
|
|
4211 000006 WW=WW-1
|
|
4212 004000 000000 XX=XX+XX
|
|
4213 IFE XX,<XX=1>
|
|
4214
|
|
4215 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
4216 252525 252525 V1=N2
|
|
4217 124000 000000 V2=N2*XX
|
|
4218 002525 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
4219 IFL XX,<V3=N1+1>
|
|
4220 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
4221 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
4222 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4223 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
4224 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4225
|
|
4226 252525 252525 F31460: AA1=V1 ;INITIAL C(AC)
|
|
4227 032765 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
4228 000000 AA2=0 ;INITIAL C(AC+1)
|
|
4229 032766 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
4230 004000 000000 AEE=XX ;INITIAL C(E)
|
|
4231 032767 200 11 0 00 044744 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4232 032770 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4233 002525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
4234 032771 312 13 0 00 045056 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
4235 032772 003 13 0 00 031461 ER3 AC,31461 ;HIGH PRODUCT FAILED
|
|
4236 124000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
4237 032773 312 14 0 00 045057 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
4238 032774 004 14 0 00 031462 ER4 AC+1,31462 ;LOW PRODUCT FAILED
|
|
4239 004000 000000 AEE=XX ;INITIAL C(E)
|
|
4240 032775 312 11 0 00 044744 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4241 032776 005 11 0 00 031463 ER5 E,31463 ;C(E) WAS CLOBBERED
|
|
4242 032777 321 15 0 00 032765 JUMPL AC+2,F31460 ;LOOP ON ERROR SWITCH^
|
|
4243
|
|
4244 003147 ADR=ADR+1
|
|
4245 000005 WW=WW-1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-19
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0095
|
|
|
|
4246 010000 000000 XX=XX+XX
|
|
4247 IFE XX,<XX=1>
|
|
4248
|
|
4249 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
4250 252525 252525 V1=N2
|
|
4251 250000 000000 V2=N2*XX
|
|
4252 005252 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
4253 IFL XX,<V3=N1+1>
|
|
4254 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
4255 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
4256 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4257 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
4258 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4259
|
|
4260 252525 252525 F31470: AA1=V1 ;INITIAL C(AC)
|
|
4261 033000 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
4262 000000 AA2=0 ;INITIAL C(AC+1)
|
|
4263 033001 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
4264 010000 000000 AEE=XX ;INITIAL C(E)
|
|
4265 033002 200 11 0 00 044747 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4266 033003 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4267 005252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
4268 033004 312 13 0 00 045060 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
4269 033005 003 13 0 00 031471 ER3 AC,31471 ;HIGH PRODUCT FAILED
|
|
4270 250000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
4271 033006 312 14 0 00 045061 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
4272 033007 004 14 0 00 031472 ER4 AC+1,31472 ;LOW PRODUCT FAILED
|
|
4273 010000 000000 AEE=XX ;INITIAL C(E)
|
|
4274 033010 312 11 0 00 044747 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4275 033011 005 11 0 00 031473 ER5 E,31473 ;C(E) WAS CLOBBERED
|
|
4276 033012 321 15 0 00 033000 JUMPL AC+2,F31470 ;LOOP ON ERROR SWITCH^
|
|
4277
|
|
4278 003150 ADR=ADR+1
|
|
4279 000004 WW=WW-1
|
|
4280 020000 000000 XX=XX+XX
|
|
4281 IFE XX,<XX=1>
|
|
4282
|
|
4283 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
4284 252525 252525 V1=N2
|
|
4285 120000 000000 V2=N2*XX
|
|
4286 012525 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
4287 IFL XX,<V3=N1+1>
|
|
4288 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
4289 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
4290 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4291 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
4292 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4293
|
|
4294 252525 252525 F31500: AA1=V1 ;INITIAL C(AC)
|
|
4295 033013 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
4296 000000 AA2=0 ;INITIAL C(AC+1)
|
|
4297 033014 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
4298 020000 000000 AEE=XX ;INITIAL C(E)
|
|
4299 033015 200 11 0 00 044752 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4300 033016 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-20
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0096
|
|
|
|
4301 012525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
4302 033017 312 13 0 00 045062 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
4303 033020 003 13 0 00 031501 ER3 AC,31501 ;HIGH PRODUCT FAILED
|
|
4304 120000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
4305 033021 312 14 0 00 045063 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
4306 033022 004 14 0 00 031502 ER4 AC+1,31502 ;LOW PRODUCT FAILED
|
|
4307 020000 000000 AEE=XX ;INITIAL C(E)
|
|
4308 033023 312 11 0 00 044752 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4309 033024 005 11 0 00 031503 ER5 E,31503 ;C(E) WAS CLOBBERED
|
|
4310 033025 321 15 0 00 033013 JUMPL AC+2,F31500 ;LOOP ON ERROR SWITCH^
|
|
4311
|
|
4312 003151 ADR=ADR+1
|
|
4313 000003 WW=WW-1
|
|
4314 040000 000000 XX=XX+XX
|
|
4315 IFE XX,<XX=1>
|
|
4316
|
|
4317 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
4318 252525 252525 V1=N2
|
|
4319 240000 000000 V2=N2*XX
|
|
4320 025252 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
4321 IFL XX,<V3=N1+1>
|
|
4322 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
4323 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
4324 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4325 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
4326 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4327
|
|
4328 252525 252525 F31510: AA1=V1 ;INITIAL C(AC)
|
|
4329 033026 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
4330 000000 AA2=0 ;INITIAL C(AC+1)
|
|
4331 033027 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
4332 040000 000000 AEE=XX ;INITIAL C(E)
|
|
4333 033030 200 11 0 00 044755 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4334 033031 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4335 025252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
4336 033032 312 13 0 00 045064 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
4337 033033 003 13 0 00 031511 ER3 AC,31511 ;HIGH PRODUCT FAILED
|
|
4338 240000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
4339 033034 312 14 0 00 045065 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
4340 033035 004 14 0 00 031512 ER4 AC+1,31512 ;LOW PRODUCT FAILED
|
|
4341 040000 000000 AEE=XX ;INITIAL C(E)
|
|
4342 033036 312 11 0 00 044755 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4343 033037 005 11 0 00 031513 ER5 E,31513 ;C(E) WAS CLOBBERED
|
|
4344 033040 321 15 0 00 033026 JUMPL AC+2,F31510 ;LOOP ON ERROR SWITCH^
|
|
4345
|
|
4346 003152 ADR=ADR+1
|
|
4347 000002 WW=WW-1
|
|
4348 100000 000000 XX=XX+XX
|
|
4349 IFE XX,<XX=1>
|
|
4350
|
|
4351 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
4352 252525 252525 V1=N2
|
|
4353 100000 000000 V2=N2*XX
|
|
4354 052525 252525 IFG XX,<V3=<N2_<-WW>>>
|
|
4355 IFL XX,<V3=N1+1>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-21
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0097
|
|
|
|
4356 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
4357 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
4358 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4359 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
4360 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4361
|
|
4362 252525 252525 F31520: AA1=V1 ;INITIAL C(AC)
|
|
4363 033041 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
4364 000000 AA2=0 ;INITIAL C(AC+1)
|
|
4365 033042 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
4366 100000 000000 AEE=XX ;INITIAL C(E)
|
|
4367 033043 200 11 0 00 044760 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4368 033044 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4369 052525 252525 AR1=V3 ;EXPECTED RESULT IN AC
|
|
4370 033045 312 13 0 00 045066 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
4371 033046 003 13 0 00 031521 ER3 AC,31521 ;HIGH PRODUCT FAILED
|
|
4372 100000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
4373 033047 312 14 0 00 044760 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
4374 033050 004 14 0 00 031522 ER4 AC+1,31522 ;LOW PRODUCT FAILED
|
|
4375 100000 000000 AEE=XX ;INITIAL C(E)
|
|
4376 033051 312 11 0 00 044760 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4377 033052 005 11 0 00 031523 ER5 E,31523 ;C(E) WAS CLOBBERED
|
|
4378 033053 321 15 0 00 033041 JUMPL AC+2,F31520 ;LOOP ON ERROR SWITCH^
|
|
4379
|
|
4380 003153 ADR=ADR+1
|
|
4381 000001 WW=WW-1
|
|
4382 200000 000000 XX=XX+XX
|
|
4383 IFE XX,<XX=1>
|
|
4384
|
|
4385 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
4386 252525 252525 V1=N2
|
|
4387 200000 000000 V2=N2*XX
|
|
4388 125252 525252 IFG XX,<V3=<N2_<-WW>>>
|
|
4389 IFL XX,<V3=N1+1>
|
|
4390 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
4391 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
4392 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4393 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
4394 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4395
|
|
4396 252525 252525 F31530: AA1=V1 ;INITIAL C(AC)
|
|
4397 033054 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
4398 000000 AA2=0 ;INITIAL C(AC+1)
|
|
4399 033055 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
4400 200000 000000 AEE=XX ;INITIAL C(E)
|
|
4401 033056 200 11 0 00 044763 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4402 033057 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4403 125252 525252 AR1=V3 ;EXPECTED RESULT IN AC
|
|
4404 033060 312 13 0 00 044770 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
4405 033061 003 13 0 00 031531 ER3 AC,31531 ;HIGH PRODUCT FAILED
|
|
4406 200000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
4407 033062 312 14 0 00 044763 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
4408 033063 004 14 0 00 031532 ER4 AC+1,31532 ;LOW PRODUCT FAILED
|
|
4409 200000 000000 AEE=XX ;INITIAL C(E)
|
|
4410 033064 312 11 0 00 044763 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 5-22
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0098
|
|
|
|
4411 033065 005 11 0 00 031533 ER5 E,31533 ;C(E) WAS CLOBBERED
|
|
4412 033066 321 15 0 00 033054 JUMPL AC+2,F31530 ;LOOP ON ERROR SWITCH^
|
|
4413
|
|
4414 003154 ADR=ADR+1
|
|
4415 000000 WW=WW-1
|
|
4416 400000 000000 XX=XX+XX
|
|
4417 IFE XX,<XX=1>
|
|
4418
|
|
4419 ;MULTIPLY A FLOATING 1 BY 0101...0101
|
|
4420 252525 252525 V1=N2
|
|
4421 400000 000000 V2=N2*XX
|
|
4422 IFG XX,<V3=<N2_<-WW>>>
|
|
4423 525252 525253 IFL XX,<V3=N1+1>
|
|
4424 MOP1 (\ADR,V1,0,XX,V3,V2)^
|
|
4425 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
|
|
4426 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4427 ;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
|
|
4428 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4429
|
|
4430 252525 252525 F31540: AA1=V1 ;INITIAL C(AC)
|
|
4431 033067 200 13 0 00 044767 MOVE AC,[V1] ;PRELOAD AC (MULTIPLIER)
|
|
4432 000000 AA2=0 ;INITIAL C(AC+1)
|
|
4433 033070 200 14 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
4434 400000 000000 AEE=XX ;INITIAL C(E)
|
|
4435 033071 200 11 0 00 044765 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4436 033072 224 13 0 00 000011 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4437 525252 525253 AR1=V3 ;EXPECTED RESULT IN AC
|
|
4438 033073 312 13 0 00 045067 CAME AC,[V3] ;IS HIGH PRODUCT CORRECT?
|
|
4439 033074 003 13 0 00 031541 ER3 AC,31541 ;HIGH PRODUCT FAILED
|
|
4440 400000 000000 AR2=V2 ;EXPECTED RESULT IN AC+1
|
|
4441 033075 312 14 0 00 044765 CAME AC+1,[V2] ;IS LOW PRODUCT CORRECT?
|
|
4442 033076 004 14 0 00 031542 ER4 AC+1,31542 ;LOW PRODUCT FAILED
|
|
4443 400000 000000 AEE=XX ;INITIAL C(E)
|
|
4444 033077 312 11 0 00 044765 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4445 033100 005 11 0 00 031543 ER5 E,31543 ;C(E) WAS CLOBBERED
|
|
4446 033101 321 15 0 00 033067 JUMPL AC+2,F31540 ;LOOP ON ERROR SWITCH^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0099
|
|
|
|
4447 000012 AC=12
|
|
4448 000010 E=<AC-2>&17
|
|
4449 SAVEAC (1,1)^
|
|
4450 033102 201 14 0 00 033102 MOVEI AC+2,. ;SAVE TEST PC
|
|
4451 033103 202 14 0 00 030051 MOVEM AC+2,TESTPC
|
|
4452 033104 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
4453 033105 202 14 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
4454 000000 XX=0
|
|
4455
|
|
4456 REPEAT ^D36,<
|
|
4457 ADR=ADR+1
|
|
4458 XX=XX+XX
|
|
4459 IFE XX,<XX=1>
|
|
4460
|
|
4461 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4462 V1=XX*XX
|
|
4463 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4464 IFL XX,<V2=XX*XX>
|
|
4465 MOP1 (\ADR,XX,-1,XX,V2,V1)>
|
|
4466
|
|
4467 003155 ADR=ADR+1
|
|
4468 000000 XX=XX+XX
|
|
4469 000001 IFE XX,<XX=1>
|
|
4470
|
|
4471 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4472 000001 V1=XX*XX
|
|
4473 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4474 IFL XX,<V2=XX*XX>
|
|
4475 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
4476 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4477 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4478 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
4479 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4480
|
|
4481 000001 F31550: AA1=XX ;INITIAL C(AC)
|
|
4482 033106 200 12 0 00 044616 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4483 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4484 033107 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4485 000001 AEE=XX ;INITIAL C(E)
|
|
4486 033110 200 10 0 00 044616 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4487 033111 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4488 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4489 033112 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4490 033113 003 12 0 00 031551 ER3 AC,31551 ;HIGH PRODUCT FAILED
|
|
4491 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
4492 033114 312 13 0 00 044616 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
4493 033115 004 13 0 00 031552 ER4 AC+1,31552 ;LOW PRODUCT FAILED
|
|
4494 000001 AEE=XX ;INITIAL C(E)
|
|
4495 033116 312 10 0 00 044616 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4496 033117 005 10 0 00 031553 ER5 E,31553 ;C(E) WAS CLOBBERED
|
|
4497 033120 321 14 0 00 033106 JUMPL AC+2,F31550 ;LOOP ON ERROR SWITCH^
|
|
4498
|
|
4499 003156 ADR=ADR+1
|
|
4500 000002 XX=XX+XX
|
|
4501 IFE XX,<XX=1>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-1
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0100
|
|
|
|
4502
|
|
4503 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4504 000004 V1=XX*XX
|
|
4505 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4506 IFL XX,<V2=XX*XX>
|
|
4507 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
4508 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4509 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4510 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
4511 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4512
|
|
4513 000002 F31560: AA1=XX ;INITIAL C(AC)
|
|
4514 033121 200 12 0 00 044620 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4515 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4516 033122 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4517 000002 AEE=XX ;INITIAL C(E)
|
|
4518 033123 200 10 0 00 044620 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4519 033124 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4520 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4521 033125 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4522 033126 003 12 0 00 031561 ER3 AC,31561 ;HIGH PRODUCT FAILED
|
|
4523 000004 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
4524 033127 312 13 0 00 044623 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
4525 033130 004 13 0 00 031562 ER4 AC+1,31562 ;LOW PRODUCT FAILED
|
|
4526 000002 AEE=XX ;INITIAL C(E)
|
|
4527 033131 312 10 0 00 044620 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4528 033132 005 10 0 00 031563 ER5 E,31563 ;C(E) WAS CLOBBERED
|
|
4529 033133 321 14 0 00 033121 JUMPL AC+2,F31560 ;LOOP ON ERROR SWITCH^
|
|
4530
|
|
4531 003157 ADR=ADR+1
|
|
4532 000004 XX=XX+XX
|
|
4533 IFE XX,<XX=1>
|
|
4534
|
|
4535 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4536 000020 V1=XX*XX
|
|
4537 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4538 IFL XX,<V2=XX*XX>
|
|
4539 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
4540 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4541 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4542 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
4543 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4544
|
|
4545 000004 F31570: AA1=XX ;INITIAL C(AC)
|
|
4546 033134 200 12 0 00 044623 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4547 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4548 033135 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4549 000004 AEE=XX ;INITIAL C(E)
|
|
4550 033136 200 10 0 00 044623 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4551 033137 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4552 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4553 033140 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4554 033141 003 12 0 00 031571 ER3 AC,31571 ;HIGH PRODUCT FAILED
|
|
4555 000020 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
4556 033142 312 13 0 00 044631 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-2
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0101
|
|
|
|
4557 033143 004 13 0 00 031572 ER4 AC+1,31572 ;LOW PRODUCT FAILED
|
|
4558 000004 AEE=XX ;INITIAL C(E)
|
|
4559 033144 312 10 0 00 044623 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4560 033145 005 10 0 00 031573 ER5 E,31573 ;C(E) WAS CLOBBERED
|
|
4561 033146 321 14 0 00 033134 JUMPL AC+2,F31570 ;LOOP ON ERROR SWITCH^
|
|
4562
|
|
4563 003160 ADR=ADR+1
|
|
4564 000010 XX=XX+XX
|
|
4565 IFE XX,<XX=1>
|
|
4566
|
|
4567 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4568 000100 V1=XX*XX
|
|
4569 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4570 IFL XX,<V2=XX*XX>
|
|
4571 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
4572 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4573 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4574 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
4575 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4576
|
|
4577 000010 F31600: AA1=XX ;INITIAL C(AC)
|
|
4578 033147 200 12 0 00 044626 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4579 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4580 033150 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4581 000010 AEE=XX ;INITIAL C(E)
|
|
4582 033151 200 10 0 00 044626 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4583 033152 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4584 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4585 033153 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4586 033154 003 12 0 00 031601 ER3 AC,31601 ;HIGH PRODUCT FAILED
|
|
4587 000100 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
4588 033155 312 13 0 00 044637 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
4589 033156 004 13 0 00 031602 ER4 AC+1,31602 ;LOW PRODUCT FAILED
|
|
4590 000010 AEE=XX ;INITIAL C(E)
|
|
4591 033157 312 10 0 00 044626 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4592 033160 005 10 0 00 031603 ER5 E,31603 ;C(E) WAS CLOBBERED
|
|
4593 033161 321 14 0 00 033147 JUMPL AC+2,F31600 ;LOOP ON ERROR SWITCH^
|
|
4594
|
|
4595 003161 ADR=ADR+1
|
|
4596 000020 XX=XX+XX
|
|
4597 IFE XX,<XX=1>
|
|
4598
|
|
4599 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4600 000400 V1=XX*XX
|
|
4601 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4602 IFL XX,<V2=XX*XX>
|
|
4603 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
4604 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4605 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4606 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
4607 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4608
|
|
4609 000020 F31610: AA1=XX ;INITIAL C(AC)
|
|
4610 033162 200 12 0 00 044631 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4611 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-3
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0102
|
|
|
|
4612 033163 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4613 000020 AEE=XX ;INITIAL C(E)
|
|
4614 033164 200 10 0 00 044631 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4615 033165 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4616 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4617 033166 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4618 033167 003 12 0 00 031611 ER3 AC,31611 ;HIGH PRODUCT FAILED
|
|
4619 000400 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
4620 033170 312 13 0 00 044645 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
4621 033171 004 13 0 00 031612 ER4 AC+1,31612 ;LOW PRODUCT FAILED
|
|
4622 000020 AEE=XX ;INITIAL C(E)
|
|
4623 033172 312 10 0 00 044631 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4624 033173 005 10 0 00 031613 ER5 E,31613 ;C(E) WAS CLOBBERED
|
|
4625 033174 321 14 0 00 033162 JUMPL AC+2,F31610 ;LOOP ON ERROR SWITCH^
|
|
4626
|
|
4627 003162 ADR=ADR+1
|
|
4628 000040 XX=XX+XX
|
|
4629 IFE XX,<XX=1>
|
|
4630
|
|
4631 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4632 002000 V1=XX*XX
|
|
4633 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4634 IFL XX,<V2=XX*XX>
|
|
4635 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
4636 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4637 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4638 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
4639 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4640
|
|
4641 000040 F31620: AA1=XX ;INITIAL C(AC)
|
|
4642 033175 200 12 0 00 044634 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4643 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4644 033176 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4645 000040 AEE=XX ;INITIAL C(E)
|
|
4646 033177 200 10 0 00 044634 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4647 033200 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4648 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4649 033201 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4650 033202 003 12 0 00 031621 ER3 AC,31621 ;HIGH PRODUCT FAILED
|
|
4651 002000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
4652 033203 312 13 0 00 044653 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
4653 033204 004 13 0 00 031622 ER4 AC+1,31622 ;LOW PRODUCT FAILED
|
|
4654 000040 AEE=XX ;INITIAL C(E)
|
|
4655 033205 312 10 0 00 044634 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4656 033206 005 10 0 00 031623 ER5 E,31623 ;C(E) WAS CLOBBERED
|
|
4657 033207 321 14 0 00 033175 JUMPL AC+2,F31620 ;LOOP ON ERROR SWITCH^
|
|
4658
|
|
4659 003163 ADR=ADR+1
|
|
4660 000100 XX=XX+XX
|
|
4661 IFE XX,<XX=1>
|
|
4662
|
|
4663 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4664 010000 V1=XX*XX
|
|
4665 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4666 IFL XX,<V2=XX*XX>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-4
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0103
|
|
|
|
4667 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
4668 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4669 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4670 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
4671 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4672
|
|
4673 000100 F31630: AA1=XX ;INITIAL C(AC)
|
|
4674 033210 200 12 0 00 044637 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4675 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4676 033211 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4677 000100 AEE=XX ;INITIAL C(E)
|
|
4678 033212 200 10 0 00 044637 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4679 033213 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4680 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4681 033214 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4682 033215 003 12 0 00 031631 ER3 AC,31631 ;HIGH PRODUCT FAILED
|
|
4683 010000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
4684 033216 312 13 0 00 044661 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
4685 033217 004 13 0 00 031632 ER4 AC+1,31632 ;LOW PRODUCT FAILED
|
|
4686 000100 AEE=XX ;INITIAL C(E)
|
|
4687 033220 312 10 0 00 044637 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4688 033221 005 10 0 00 031633 ER5 E,31633 ;C(E) WAS CLOBBERED
|
|
4689 033222 321 14 0 00 033210 JUMPL AC+2,F31630 ;LOOP ON ERROR SWITCH^
|
|
4690
|
|
4691 003164 ADR=ADR+1
|
|
4692 000200 XX=XX+XX
|
|
4693 IFE XX,<XX=1>
|
|
4694
|
|
4695 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4696 040000 V1=XX*XX
|
|
4697 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4698 IFL XX,<V2=XX*XX>
|
|
4699 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
4700 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4701 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4702 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
4703 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4704
|
|
4705 000200 F31640: AA1=XX ;INITIAL C(AC)
|
|
4706 033223 200 12 0 00 044642 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4707 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4708 033224 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4709 000200 AEE=XX ;INITIAL C(E)
|
|
4710 033225 200 10 0 00 044642 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4711 033226 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4712 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4713 033227 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4714 033230 003 12 0 00 031641 ER3 AC,31641 ;HIGH PRODUCT FAILED
|
|
4715 040000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
4716 033231 312 13 0 00 044667 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
4717 033232 004 13 0 00 031642 ER4 AC+1,31642 ;LOW PRODUCT FAILED
|
|
4718 000200 AEE=XX ;INITIAL C(E)
|
|
4719 033233 312 10 0 00 044642 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4720 033234 005 10 0 00 031643 ER5 E,31643 ;C(E) WAS CLOBBERED
|
|
4721 033235 321 14 0 00 033223 JUMPL AC+2,F31640 ;LOOP ON ERROR SWITCH^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-5
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0104
|
|
|
|
4722
|
|
4723 003165 ADR=ADR+1
|
|
4724 000400 XX=XX+XX
|
|
4725 IFE XX,<XX=1>
|
|
4726
|
|
4727 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4728 200000 V1=XX*XX
|
|
4729 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4730 IFL XX,<V2=XX*XX>
|
|
4731 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
4732 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4733 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4734 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
4735 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4736
|
|
4737 000400 F31650: AA1=XX ;INITIAL C(AC)
|
|
4738 033236 200 12 0 00 044645 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4739 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4740 033237 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4741 000400 AEE=XX ;INITIAL C(E)
|
|
4742 033240 200 10 0 00 044645 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4743 033241 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4744 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4745 033242 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4746 033243 003 12 0 00 031651 ER3 AC,31651 ;HIGH PRODUCT FAILED
|
|
4747 200000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
4748 033244 312 13 0 00 044675 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
4749 033245 004 13 0 00 031652 ER4 AC+1,31652 ;LOW PRODUCT FAILED
|
|
4750 000400 AEE=XX ;INITIAL C(E)
|
|
4751 033246 312 10 0 00 044645 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4752 033247 005 10 0 00 031653 ER5 E,31653 ;C(E) WAS CLOBBERED
|
|
4753 033250 321 14 0 00 033236 JUMPL AC+2,F31650 ;LOOP ON ERROR SWITCH^
|
|
4754
|
|
4755 003166 ADR=ADR+1
|
|
4756 001000 XX=XX+XX
|
|
4757 IFE XX,<XX=1>
|
|
4758
|
|
4759 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4760 000001 000000 V1=XX*XX
|
|
4761 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4762 IFL XX,<V2=XX*XX>
|
|
4763 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
4764 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4765 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4766 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
4767 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4768
|
|
4769 001000 F31660: AA1=XX ;INITIAL C(AC)
|
|
4770 033251 200 12 0 00 044650 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4771 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4772 033252 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4773 001000 AEE=XX ;INITIAL C(E)
|
|
4774 033253 200 10 0 00 044650 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4775 033254 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4776 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-6
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0105
|
|
|
|
4777 033255 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4778 033256 003 12 0 00 031661 ER3 AC,31661 ;HIGH PRODUCT FAILED
|
|
4779 000001 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
4780 033257 312 13 0 00 044703 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
4781 033260 004 13 0 00 031662 ER4 AC+1,31662 ;LOW PRODUCT FAILED
|
|
4782 001000 AEE=XX ;INITIAL C(E)
|
|
4783 033261 312 10 0 00 044650 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4784 033262 005 10 0 00 031663 ER5 E,31663 ;C(E) WAS CLOBBERED
|
|
4785 033263 321 14 0 00 033251 JUMPL AC+2,F31660 ;LOOP ON ERROR SWITCH^
|
|
4786
|
|
4787 003167 ADR=ADR+1
|
|
4788 002000 XX=XX+XX
|
|
4789 IFE XX,<XX=1>
|
|
4790
|
|
4791 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4792 000004 000000 V1=XX*XX
|
|
4793 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4794 IFL XX,<V2=XX*XX>
|
|
4795 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
4796 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4797 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4798 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
4799 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4800
|
|
4801 002000 F31670: AA1=XX ;INITIAL C(AC)
|
|
4802 033264 200 12 0 00 044653 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4803 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4804 033265 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4805 002000 AEE=XX ;INITIAL C(E)
|
|
4806 033266 200 10 0 00 044653 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4807 033267 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4808 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4809 033270 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4810 033271 003 12 0 00 031671 ER3 AC,31671 ;HIGH PRODUCT FAILED
|
|
4811 000004 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
4812 033272 312 13 0 00 044711 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
4813 033273 004 13 0 00 031672 ER4 AC+1,31672 ;LOW PRODUCT FAILED
|
|
4814 002000 AEE=XX ;INITIAL C(E)
|
|
4815 033274 312 10 0 00 044653 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4816 033275 005 10 0 00 031673 ER5 E,31673 ;C(E) WAS CLOBBERED
|
|
4817 033276 321 14 0 00 033264 JUMPL AC+2,F31670 ;LOOP ON ERROR SWITCH^
|
|
4818
|
|
4819 003170 ADR=ADR+1
|
|
4820 004000 XX=XX+XX
|
|
4821 IFE XX,<XX=1>
|
|
4822
|
|
4823 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4824 000020 000000 V1=XX*XX
|
|
4825 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4826 IFL XX,<V2=XX*XX>
|
|
4827 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
4828 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4829 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4830 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
4831 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-7
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0106
|
|
|
|
4832
|
|
4833 004000 F31700: AA1=XX ;INITIAL C(AC)
|
|
4834 033277 200 12 0 00 044656 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4835 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4836 033300 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4837 004000 AEE=XX ;INITIAL C(E)
|
|
4838 033301 200 10 0 00 044656 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4839 033302 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4840 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4841 033303 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4842 033304 003 12 0 00 031701 ER3 AC,31701 ;HIGH PRODUCT FAILED
|
|
4843 000020 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
4844 033305 312 13 0 00 044717 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
4845 033306 004 13 0 00 031702 ER4 AC+1,31702 ;LOW PRODUCT FAILED
|
|
4846 004000 AEE=XX ;INITIAL C(E)
|
|
4847 033307 312 10 0 00 044656 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4848 033310 005 10 0 00 031703 ER5 E,31703 ;C(E) WAS CLOBBERED
|
|
4849 033311 321 14 0 00 033277 JUMPL AC+2,F31700 ;LOOP ON ERROR SWITCH^
|
|
4850
|
|
4851 003171 ADR=ADR+1
|
|
4852 010000 XX=XX+XX
|
|
4853 IFE XX,<XX=1>
|
|
4854
|
|
4855 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4856 000100 000000 V1=XX*XX
|
|
4857 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4858 IFL XX,<V2=XX*XX>
|
|
4859 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
4860 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4861 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4862 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
4863 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4864
|
|
4865 010000 F31710: AA1=XX ;INITIAL C(AC)
|
|
4866 033312 200 12 0 00 044661 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4867 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4868 033313 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4869 010000 AEE=XX ;INITIAL C(E)
|
|
4870 033314 200 10 0 00 044661 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4871 033315 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4872 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4873 033316 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4874 033317 003 12 0 00 031711 ER3 AC,31711 ;HIGH PRODUCT FAILED
|
|
4875 000100 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
4876 033320 312 13 0 00 044725 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
4877 033321 004 13 0 00 031712 ER4 AC+1,31712 ;LOW PRODUCT FAILED
|
|
4878 010000 AEE=XX ;INITIAL C(E)
|
|
4879 033322 312 10 0 00 044661 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4880 033323 005 10 0 00 031713 ER5 E,31713 ;C(E) WAS CLOBBERED
|
|
4881 033324 321 14 0 00 033312 JUMPL AC+2,F31710 ;LOOP ON ERROR SWITCH^
|
|
4882
|
|
4883 003172 ADR=ADR+1
|
|
4884 020000 XX=XX+XX
|
|
4885 IFE XX,<XX=1>
|
|
4886
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-8
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0107
|
|
|
|
4887 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4888 000400 000000 V1=XX*XX
|
|
4889 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4890 IFL XX,<V2=XX*XX>
|
|
4891 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
4892 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4893 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4894 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
4895 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4896
|
|
4897 020000 F31720: AA1=XX ;INITIAL C(AC)
|
|
4898 033325 200 12 0 00 044664 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4899 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4900 033326 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4901 020000 AEE=XX ;INITIAL C(E)
|
|
4902 033327 200 10 0 00 044664 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4903 033330 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4904 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4905 033331 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4906 033332 003 12 0 00 031721 ER3 AC,31721 ;HIGH PRODUCT FAILED
|
|
4907 000400 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
4908 033333 312 13 0 00 044733 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
4909 033334 004 13 0 00 031722 ER4 AC+1,31722 ;LOW PRODUCT FAILED
|
|
4910 020000 AEE=XX ;INITIAL C(E)
|
|
4911 033335 312 10 0 00 044664 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4912 033336 005 10 0 00 031723 ER5 E,31723 ;C(E) WAS CLOBBERED
|
|
4913 033337 321 14 0 00 033325 JUMPL AC+2,F31720 ;LOOP ON ERROR SWITCH^
|
|
4914
|
|
4915 003173 ADR=ADR+1
|
|
4916 040000 XX=XX+XX
|
|
4917 IFE XX,<XX=1>
|
|
4918
|
|
4919 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4920 002000 000000 V1=XX*XX
|
|
4921 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4922 IFL XX,<V2=XX*XX>
|
|
4923 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
4924 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4925 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4926 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
4927 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4928
|
|
4929 040000 F31730: AA1=XX ;INITIAL C(AC)
|
|
4930 033340 200 12 0 00 044667 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4931 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4932 033341 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4933 040000 AEE=XX ;INITIAL C(E)
|
|
4934 033342 200 10 0 00 044667 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4935 033343 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4936 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4937 033344 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4938 033345 003 12 0 00 031731 ER3 AC,31731 ;HIGH PRODUCT FAILED
|
|
4939 002000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
4940 033346 312 13 0 00 044741 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
4941 033347 004 13 0 00 031732 ER4 AC+1,31732 ;LOW PRODUCT FAILED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-9
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0108
|
|
|
|
4942 040000 AEE=XX ;INITIAL C(E)
|
|
4943 033350 312 10 0 00 044667 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4944 033351 005 10 0 00 031733 ER5 E,31733 ;C(E) WAS CLOBBERED
|
|
4945 033352 321 14 0 00 033340 JUMPL AC+2,F31730 ;LOOP ON ERROR SWITCH^
|
|
4946
|
|
4947 003174 ADR=ADR+1
|
|
4948 100000 XX=XX+XX
|
|
4949 IFE XX,<XX=1>
|
|
4950
|
|
4951 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4952 010000 000000 V1=XX*XX
|
|
4953 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4954 IFL XX,<V2=XX*XX>
|
|
4955 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
4956 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4957 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4958 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
4959 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4960
|
|
4961 100000 F31740: AA1=XX ;INITIAL C(AC)
|
|
4962 033353 200 12 0 00 044672 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4963 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4964 033354 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
4965 100000 AEE=XX ;INITIAL C(E)
|
|
4966 033355 200 10 0 00 044672 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4967 033356 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
4968 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
4969 033357 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
4970 033360 003 12 0 00 031741 ER3 AC,31741 ;HIGH PRODUCT FAILED
|
|
4971 010000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
4972 033361 312 13 0 00 044747 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
4973 033362 004 13 0 00 031742 ER4 AC+1,31742 ;LOW PRODUCT FAILED
|
|
4974 100000 AEE=XX ;INITIAL C(E)
|
|
4975 033363 312 10 0 00 044672 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
4976 033364 005 10 0 00 031743 ER5 E,31743 ;C(E) WAS CLOBBERED
|
|
4977 033365 321 14 0 00 033353 JUMPL AC+2,F31740 ;LOOP ON ERROR SWITCH^
|
|
4978
|
|
4979 003175 ADR=ADR+1
|
|
4980 200000 XX=XX+XX
|
|
4981 IFE XX,<XX=1>
|
|
4982
|
|
4983 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
4984 040000 000000 V1=XX*XX
|
|
4985 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
4986 IFL XX,<V2=XX*XX>
|
|
4987 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
4988 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
4989 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
4990 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
4991 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
4992
|
|
4993 200000 F31750: AA1=XX ;INITIAL C(AC)
|
|
4994 033366 200 12 0 00 044675 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
4995 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
4996 033367 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-10
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0109
|
|
|
|
4997 200000 AEE=XX ;INITIAL C(E)
|
|
4998 033370 200 10 0 00 044675 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
4999 033371 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5000 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5001 033372 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5002 033373 003 12 0 00 031751 ER3 AC,31751 ;HIGH PRODUCT FAILED
|
|
5003 040000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5004 033374 312 13 0 00 044755 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5005 033375 004 13 0 00 031752 ER4 AC+1,31752 ;LOW PRODUCT FAILED
|
|
5006 200000 AEE=XX ;INITIAL C(E)
|
|
5007 033376 312 10 0 00 044675 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5008 033377 005 10 0 00 031753 ER5 E,31753 ;C(E) WAS CLOBBERED
|
|
5009 033400 321 14 0 00 033366 JUMPL AC+2,F31750 ;LOOP ON ERROR SWITCH^
|
|
5010
|
|
5011 003176 ADR=ADR+1
|
|
5012 400000 XX=XX+XX
|
|
5013 IFE XX,<XX=1>
|
|
5014
|
|
5015 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5016 200000 000000 V1=XX*XX
|
|
5017 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5018 IFL XX,<V2=XX*XX>
|
|
5019 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5020 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5021 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5022 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5023 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5024
|
|
5025 400000 F31760: AA1=XX ;INITIAL C(AC)
|
|
5026 033401 200 12 0 00 044700 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5027 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5028 033402 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5029 400000 AEE=XX ;INITIAL C(E)
|
|
5030 033403 200 10 0 00 044700 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5031 033404 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5032 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5033 033405 312 12 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5034 033406 003 12 0 00 031761 ER3 AC,31761 ;HIGH PRODUCT FAILED
|
|
5035 200000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5036 033407 312 13 0 00 044763 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5037 033410 004 13 0 00 031762 ER4 AC+1,31762 ;LOW PRODUCT FAILED
|
|
5038 400000 AEE=XX ;INITIAL C(E)
|
|
5039 033411 312 10 0 00 044700 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5040 033412 005 10 0 00 031763 ER5 E,31763 ;C(E) WAS CLOBBERED
|
|
5041 033413 321 14 0 00 033401 JUMPL AC+2,F31760 ;LOOP ON ERROR SWITCH^
|
|
5042
|
|
5043 003177 ADR=ADR+1
|
|
5044 000001 000000 XX=XX+XX
|
|
5045 IFE XX,<XX=1>
|
|
5046
|
|
5047 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5048 000000 V1=XX*XX
|
|
5049 000002 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5050 IFL XX,<V2=XX*XX>
|
|
5051 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-11
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0110
|
|
|
|
5052 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5053 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5054 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5055 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5056
|
|
5057 000001 000000 F31770: AA1=XX ;INITIAL C(AC)
|
|
5058 033414 200 12 0 00 044703 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5059 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5060 033415 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5061 000001 000000 AEE=XX ;INITIAL C(E)
|
|
5062 033416 200 10 0 00 044703 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5063 033417 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5064 000002 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5065 033420 312 12 0 00 044620 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5066 033421 003 12 0 00 031771 ER3 AC,31771 ;HIGH PRODUCT FAILED
|
|
5067 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5068 033422 312 13 0 00 044615 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5069 033423 004 13 0 00 031772 ER4 AC+1,31772 ;LOW PRODUCT FAILED
|
|
5070 000001 000000 AEE=XX ;INITIAL C(E)
|
|
5071 033424 312 10 0 00 044703 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5072 033425 005 10 0 00 031773 ER5 E,31773 ;C(E) WAS CLOBBERED
|
|
5073 033426 321 14 0 00 033414 JUMPL AC+2,F31770 ;LOOP ON ERROR SWITCH^
|
|
5074
|
|
5075 003200 ADR=ADR+1
|
|
5076 000002 000000 XX=XX+XX
|
|
5077 IFE XX,<XX=1>
|
|
5078
|
|
5079 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5080 000000 V1=XX*XX
|
|
5081 000010 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5082 IFL XX,<V2=XX*XX>
|
|
5083 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5084 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5085 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5086 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5087 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5088
|
|
5089 000002 000000 F32000: AA1=XX ;INITIAL C(AC)
|
|
5090 033427 200 12 0 00 044706 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5091 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5092 033430 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5093 000002 000000 AEE=XX ;INITIAL C(E)
|
|
5094 033431 200 10 0 00 044706 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5095 033432 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5096 000010 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5097 033433 312 12 0 00 044626 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5098 033434 003 12 0 00 032001 ER3 AC,32001 ;HIGH PRODUCT FAILED
|
|
5099 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5100 033435 312 13 0 00 044615 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5101 033436 004 13 0 00 032002 ER4 AC+1,32002 ;LOW PRODUCT FAILED
|
|
5102 000002 000000 AEE=XX ;INITIAL C(E)
|
|
5103 033437 312 10 0 00 044706 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5104 033440 005 10 0 00 032003 ER5 E,32003 ;C(E) WAS CLOBBERED
|
|
5105 033441 321 14 0 00 033427 JUMPL AC+2,F32000 ;LOOP ON ERROR SWITCH^
|
|
5106
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-12
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0111
|
|
|
|
5107 003201 ADR=ADR+1
|
|
5108 000004 000000 XX=XX+XX
|
|
5109 IFE XX,<XX=1>
|
|
5110
|
|
5111 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5112 000000 V1=XX*XX
|
|
5113 000040 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5114 IFL XX,<V2=XX*XX>
|
|
5115 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5116 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5117 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5118 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5119 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5120
|
|
5121 000004 000000 F32010: AA1=XX ;INITIAL C(AC)
|
|
5122 033442 200 12 0 00 044711 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5123 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5124 033443 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5125 000004 000000 AEE=XX ;INITIAL C(E)
|
|
5126 033444 200 10 0 00 044711 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5127 033445 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5128 000040 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5129 033446 312 12 0 00 044634 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5130 033447 003 12 0 00 032011 ER3 AC,32011 ;HIGH PRODUCT FAILED
|
|
5131 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5132 033450 312 13 0 00 044615 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5133 033451 004 13 0 00 032012 ER4 AC+1,32012 ;LOW PRODUCT FAILED
|
|
5134 000004 000000 AEE=XX ;INITIAL C(E)
|
|
5135 033452 312 10 0 00 044711 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5136 033453 005 10 0 00 032013 ER5 E,32013 ;C(E) WAS CLOBBERED
|
|
5137 033454 321 14 0 00 033442 JUMPL AC+2,F32010 ;LOOP ON ERROR SWITCH^
|
|
5138
|
|
5139 003202 ADR=ADR+1
|
|
5140 000010 000000 XX=XX+XX
|
|
5141 IFE XX,<XX=1>
|
|
5142
|
|
5143 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5144 000000 V1=XX*XX
|
|
5145 000200 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5146 IFL XX,<V2=XX*XX>
|
|
5147 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5148 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5149 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5150 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5151 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5152
|
|
5153 000010 000000 F32020: AA1=XX ;INITIAL C(AC)
|
|
5154 033455 200 12 0 00 044714 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5155 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5156 033456 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5157 000010 000000 AEE=XX ;INITIAL C(E)
|
|
5158 033457 200 10 0 00 044714 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5159 033460 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5160 000200 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5161 033461 312 12 0 00 044642 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-13
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0112
|
|
|
|
5162 033462 003 12 0 00 032021 ER3 AC,32021 ;HIGH PRODUCT FAILED
|
|
5163 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5164 033463 312 13 0 00 044615 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5165 033464 004 13 0 00 032022 ER4 AC+1,32022 ;LOW PRODUCT FAILED
|
|
5166 000010 000000 AEE=XX ;INITIAL C(E)
|
|
5167 033465 312 10 0 00 044714 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5168 033466 005 10 0 00 032023 ER5 E,32023 ;C(E) WAS CLOBBERED
|
|
5169 033467 321 14 0 00 033455 JUMPL AC+2,F32020 ;LOOP ON ERROR SWITCH^
|
|
5170
|
|
5171 003203 ADR=ADR+1
|
|
5172 000020 000000 XX=XX+XX
|
|
5173 IFE XX,<XX=1>
|
|
5174
|
|
5175 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5176 000000 V1=XX*XX
|
|
5177 001000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5178 IFL XX,<V2=XX*XX>
|
|
5179 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5180 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5181 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5182 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5183 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5184
|
|
5185 000020 000000 F32030: AA1=XX ;INITIAL C(AC)
|
|
5186 033470 200 12 0 00 044717 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5187 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5188 033471 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5189 000020 000000 AEE=XX ;INITIAL C(E)
|
|
5190 033472 200 10 0 00 044717 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5191 033473 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5192 001000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5193 033474 312 12 0 00 044650 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5194 033475 003 12 0 00 032031 ER3 AC,32031 ;HIGH PRODUCT FAILED
|
|
5195 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5196 033476 312 13 0 00 044615 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5197 033477 004 13 0 00 032032 ER4 AC+1,32032 ;LOW PRODUCT FAILED
|
|
5198 000020 000000 AEE=XX ;INITIAL C(E)
|
|
5199 033500 312 10 0 00 044717 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5200 033501 005 10 0 00 032033 ER5 E,32033 ;C(E) WAS CLOBBERED
|
|
5201 033502 321 14 0 00 033470 JUMPL AC+2,F32030 ;LOOP ON ERROR SWITCH^
|
|
5202
|
|
5203 003204 ADR=ADR+1
|
|
5204 000040 000000 XX=XX+XX
|
|
5205 IFE XX,<XX=1>
|
|
5206
|
|
5207 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5208 000000 V1=XX*XX
|
|
5209 004000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5210 IFL XX,<V2=XX*XX>
|
|
5211 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5212 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5213 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5214 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5215 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5216
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-14
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0113
|
|
|
|
5217 000040 000000 F32040: AA1=XX ;INITIAL C(AC)
|
|
5218 033503 200 12 0 00 044722 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5219 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5220 033504 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5221 000040 000000 AEE=XX ;INITIAL C(E)
|
|
5222 033505 200 10 0 00 044722 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5223 033506 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5224 004000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5225 033507 312 12 0 00 044656 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5226 033510 003 12 0 00 032041 ER3 AC,32041 ;HIGH PRODUCT FAILED
|
|
5227 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5228 033511 312 13 0 00 044615 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5229 033512 004 13 0 00 032042 ER4 AC+1,32042 ;LOW PRODUCT FAILED
|
|
5230 000040 000000 AEE=XX ;INITIAL C(E)
|
|
5231 033513 312 10 0 00 044722 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5232 033514 005 10 0 00 032043 ER5 E,32043 ;C(E) WAS CLOBBERED
|
|
5233 033515 321 14 0 00 033503 JUMPL AC+2,F32040 ;LOOP ON ERROR SWITCH^
|
|
5234
|
|
5235 003205 ADR=ADR+1
|
|
5236 000100 000000 XX=XX+XX
|
|
5237 IFE XX,<XX=1>
|
|
5238
|
|
5239 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5240 000000 V1=XX*XX
|
|
5241 020000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5242 IFL XX,<V2=XX*XX>
|
|
5243 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5244 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5245 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5246 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5247 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5248
|
|
5249 000100 000000 F32050: AA1=XX ;INITIAL C(AC)
|
|
5250 033516 200 12 0 00 044725 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5251 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5252 033517 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5253 000100 000000 AEE=XX ;INITIAL C(E)
|
|
5254 033520 200 10 0 00 044725 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5255 033521 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5256 020000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5257 033522 312 12 0 00 044664 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5258 033523 003 12 0 00 032051 ER3 AC,32051 ;HIGH PRODUCT FAILED
|
|
5259 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5260 033524 312 13 0 00 044615 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5261 033525 004 13 0 00 032052 ER4 AC+1,32052 ;LOW PRODUCT FAILED
|
|
5262 000100 000000 AEE=XX ;INITIAL C(E)
|
|
5263 033526 312 10 0 00 044725 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5264 033527 005 10 0 00 032053 ER5 E,32053 ;C(E) WAS CLOBBERED
|
|
5265 033530 321 14 0 00 033516 JUMPL AC+2,F32050 ;LOOP ON ERROR SWITCH^
|
|
5266
|
|
5267 003206 ADR=ADR+1
|
|
5268 000200 000000 XX=XX+XX
|
|
5269 IFE XX,<XX=1>
|
|
5270
|
|
5271 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-15
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0114
|
|
|
|
5272 000000 V1=XX*XX
|
|
5273 100000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5274 IFL XX,<V2=XX*XX>
|
|
5275 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5276 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5277 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5278 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5279 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5280
|
|
5281 000200 000000 F32060: AA1=XX ;INITIAL C(AC)
|
|
5282 033531 200 12 0 00 044730 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5283 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5284 033532 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5285 000200 000000 AEE=XX ;INITIAL C(E)
|
|
5286 033533 200 10 0 00 044730 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5287 033534 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5288 100000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5289 033535 312 12 0 00 044672 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5290 033536 003 12 0 00 032061 ER3 AC,32061 ;HIGH PRODUCT FAILED
|
|
5291 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5292 033537 312 13 0 00 044615 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5293 033540 004 13 0 00 032062 ER4 AC+1,32062 ;LOW PRODUCT FAILED
|
|
5294 000200 000000 AEE=XX ;INITIAL C(E)
|
|
5295 033541 312 10 0 00 044730 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5296 033542 005 10 0 00 032063 ER5 E,32063 ;C(E) WAS CLOBBERED
|
|
5297 033543 321 14 0 00 033531 JUMPL AC+2,F32060 ;LOOP ON ERROR SWITCH^
|
|
5298
|
|
5299 003207 ADR=ADR+1
|
|
5300 000400 000000 XX=XX+XX
|
|
5301 IFE XX,<XX=1>
|
|
5302
|
|
5303 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5304 000000 V1=XX*XX
|
|
5305 400000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5306 IFL XX,<V2=XX*XX>
|
|
5307 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5308 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5309 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5310 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5311 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5312
|
|
5313 000400 000000 F32070: AA1=XX ;INITIAL C(AC)
|
|
5314 033544 200 12 0 00 044733 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5315 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5316 033545 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5317 000400 000000 AEE=XX ;INITIAL C(E)
|
|
5318 033546 200 10 0 00 044733 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5319 033547 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5320 400000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5321 033550 312 12 0 00 044700 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5322 033551 003 12 0 00 032071 ER3 AC,32071 ;HIGH PRODUCT FAILED
|
|
5323 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5324 033552 312 13 0 00 044615 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5325 033553 004 13 0 00 032072 ER4 AC+1,32072 ;LOW PRODUCT FAILED
|
|
5326 000400 000000 AEE=XX ;INITIAL C(E)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-16
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0115
|
|
|
|
5327 033554 312 10 0 00 044733 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5328 033555 005 10 0 00 032073 ER5 E,32073 ;C(E) WAS CLOBBERED
|
|
5329 033556 321 14 0 00 033544 JUMPL AC+2,F32070 ;LOOP ON ERROR SWITCH^
|
|
5330
|
|
5331 003210 ADR=ADR+1
|
|
5332 001000 000000 XX=XX+XX
|
|
5333 IFE XX,<XX=1>
|
|
5334
|
|
5335 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5336 000000 V1=XX*XX
|
|
5337 000002 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5338 IFL XX,<V2=XX*XX>
|
|
5339 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5340 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5341 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5342 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5343 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5344
|
|
5345 001000 000000 F32100: AA1=XX ;INITIAL C(AC)
|
|
5346 033557 200 12 0 00 044736 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5347 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5348 033560 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5349 001000 000000 AEE=XX ;INITIAL C(E)
|
|
5350 033561 200 10 0 00 044736 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5351 033562 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5352 000002 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5353 033563 312 12 0 00 044706 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5354 033564 003 12 0 00 032101 ER3 AC,32101 ;HIGH PRODUCT FAILED
|
|
5355 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5356 033565 312 13 0 00 044615 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5357 033566 004 13 0 00 032102 ER4 AC+1,32102 ;LOW PRODUCT FAILED
|
|
5358 001000 000000 AEE=XX ;INITIAL C(E)
|
|
5359 033567 312 10 0 00 044736 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5360 033570 005 10 0 00 032103 ER5 E,32103 ;C(E) WAS CLOBBERED
|
|
5361 033571 321 14 0 00 033557 JUMPL AC+2,F32100 ;LOOP ON ERROR SWITCH^
|
|
5362
|
|
5363 003211 ADR=ADR+1
|
|
5364 002000 000000 XX=XX+XX
|
|
5365 IFE XX,<XX=1>
|
|
5366
|
|
5367 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5368 000000 V1=XX*XX
|
|
5369 000010 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5370 IFL XX,<V2=XX*XX>
|
|
5371 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5372 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5373 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5374 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5375 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5376
|
|
5377 002000 000000 F32110: AA1=XX ;INITIAL C(AC)
|
|
5378 033572 200 12 0 00 044741 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5379 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5380 033573 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5381 002000 000000 AEE=XX ;INITIAL C(E)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-17
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0116
|
|
|
|
5382 033574 200 10 0 00 044741 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5383 033575 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5384 000010 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5385 033576 312 12 0 00 044714 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5386 033577 003 12 0 00 032111 ER3 AC,32111 ;HIGH PRODUCT FAILED
|
|
5387 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5388 033600 312 13 0 00 044615 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5389 033601 004 13 0 00 032112 ER4 AC+1,32112 ;LOW PRODUCT FAILED
|
|
5390 002000 000000 AEE=XX ;INITIAL C(E)
|
|
5391 033602 312 10 0 00 044741 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5392 033603 005 10 0 00 032113 ER5 E,32113 ;C(E) WAS CLOBBERED
|
|
5393 033604 321 14 0 00 033572 JUMPL AC+2,F32110 ;LOOP ON ERROR SWITCH^
|
|
5394
|
|
5395 003212 ADR=ADR+1
|
|
5396 004000 000000 XX=XX+XX
|
|
5397 IFE XX,<XX=1>
|
|
5398
|
|
5399 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5400 000000 V1=XX*XX
|
|
5401 000040 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5402 IFL XX,<V2=XX*XX>
|
|
5403 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5404 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5405 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5406 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5407 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5408
|
|
5409 004000 000000 F32120: AA1=XX ;INITIAL C(AC)
|
|
5410 033605 200 12 0 00 044744 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5411 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5412 033606 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5413 004000 000000 AEE=XX ;INITIAL C(E)
|
|
5414 033607 200 10 0 00 044744 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5415 033610 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5416 000040 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5417 033611 312 12 0 00 044722 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5418 033612 003 12 0 00 032121 ER3 AC,32121 ;HIGH PRODUCT FAILED
|
|
5419 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5420 033613 312 13 0 00 044615 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5421 033614 004 13 0 00 032122 ER4 AC+1,32122 ;LOW PRODUCT FAILED
|
|
5422 004000 000000 AEE=XX ;INITIAL C(E)
|
|
5423 033615 312 10 0 00 044744 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5424 033616 005 10 0 00 032123 ER5 E,32123 ;C(E) WAS CLOBBERED
|
|
5425 033617 321 14 0 00 033605 JUMPL AC+2,F32120 ;LOOP ON ERROR SWITCH^
|
|
5426
|
|
5427 003213 ADR=ADR+1
|
|
5428 010000 000000 XX=XX+XX
|
|
5429 IFE XX,<XX=1>
|
|
5430
|
|
5431 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5432 000000 V1=XX*XX
|
|
5433 000200 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5434 IFL XX,<V2=XX*XX>
|
|
5435 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5436 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-18
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0117
|
|
|
|
5437 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5438 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5439 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5440
|
|
5441 010000 000000 F32130: AA1=XX ;INITIAL C(AC)
|
|
5442 033620 200 12 0 00 044747 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5443 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5444 033621 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5445 010000 000000 AEE=XX ;INITIAL C(E)
|
|
5446 033622 200 10 0 00 044747 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5447 033623 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5448 000200 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5449 033624 312 12 0 00 044730 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5450 033625 003 12 0 00 032131 ER3 AC,32131 ;HIGH PRODUCT FAILED
|
|
5451 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5452 033626 312 13 0 00 044615 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5453 033627 004 13 0 00 032132 ER4 AC+1,32132 ;LOW PRODUCT FAILED
|
|
5454 010000 000000 AEE=XX ;INITIAL C(E)
|
|
5455 033630 312 10 0 00 044747 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5456 033631 005 10 0 00 032133 ER5 E,32133 ;C(E) WAS CLOBBERED
|
|
5457 033632 321 14 0 00 033620 JUMPL AC+2,F32130 ;LOOP ON ERROR SWITCH^
|
|
5458
|
|
5459 003214 ADR=ADR+1
|
|
5460 020000 000000 XX=XX+XX
|
|
5461 IFE XX,<XX=1>
|
|
5462
|
|
5463 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5464 000000 V1=XX*XX
|
|
5465 001000 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5466 IFL XX,<V2=XX*XX>
|
|
5467 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5468 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5469 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5470 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5471 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5472
|
|
5473 020000 000000 F32140: AA1=XX ;INITIAL C(AC)
|
|
5474 033633 200 12 0 00 044752 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5475 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5476 033634 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5477 020000 000000 AEE=XX ;INITIAL C(E)
|
|
5478 033635 200 10 0 00 044752 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5479 033636 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5480 001000 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5481 033637 312 12 0 00 044736 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5482 033640 003 12 0 00 032141 ER3 AC,32141 ;HIGH PRODUCT FAILED
|
|
5483 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5484 033641 312 13 0 00 044615 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5485 033642 004 13 0 00 032142 ER4 AC+1,32142 ;LOW PRODUCT FAILED
|
|
5486 020000 000000 AEE=XX ;INITIAL C(E)
|
|
5487 033643 312 10 0 00 044752 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5488 033644 005 10 0 00 032143 ER5 E,32143 ;C(E) WAS CLOBBERED
|
|
5489 033645 321 14 0 00 033633 JUMPL AC+2,F32140 ;LOOP ON ERROR SWITCH^
|
|
5490
|
|
5491 003215 ADR=ADR+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-19
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0118
|
|
|
|
5492 040000 000000 XX=XX+XX
|
|
5493 IFE XX,<XX=1>
|
|
5494
|
|
5495 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5496 000000 V1=XX*XX
|
|
5497 004000 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5498 IFL XX,<V2=XX*XX>
|
|
5499 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5500 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5501 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5502 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5503 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5504
|
|
5505 040000 000000 F32150: AA1=XX ;INITIAL C(AC)
|
|
5506 033646 200 12 0 00 044755 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5507 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5508 033647 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5509 040000 000000 AEE=XX ;INITIAL C(E)
|
|
5510 033650 200 10 0 00 044755 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5511 033651 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5512 004000 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5513 033652 312 12 0 00 044744 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5514 033653 003 12 0 00 032151 ER3 AC,32151 ;HIGH PRODUCT FAILED
|
|
5515 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5516 033654 312 13 0 00 044615 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5517 033655 004 13 0 00 032152 ER4 AC+1,32152 ;LOW PRODUCT FAILED
|
|
5518 040000 000000 AEE=XX ;INITIAL C(E)
|
|
5519 033656 312 10 0 00 044755 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5520 033657 005 10 0 00 032153 ER5 E,32153 ;C(E) WAS CLOBBERED
|
|
5521 033660 321 14 0 00 033646 JUMPL AC+2,F32150 ;LOOP ON ERROR SWITCH^
|
|
5522
|
|
5523 003216 ADR=ADR+1
|
|
5524 100000 000000 XX=XX+XX
|
|
5525 IFE XX,<XX=1>
|
|
5526
|
|
5527 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5528 000000 V1=XX*XX
|
|
5529 020000 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5530 IFL XX,<V2=XX*XX>
|
|
5531 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5532 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5533 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5534 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5535 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5536
|
|
5537 100000 000000 F32160: AA1=XX ;INITIAL C(AC)
|
|
5538 033661 200 12 0 00 044760 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5539 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5540 033662 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5541 100000 000000 AEE=XX ;INITIAL C(E)
|
|
5542 033663 200 10 0 00 044760 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5543 033664 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5544 020000 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5545 033665 312 12 0 00 044752 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5546 033666 003 12 0 00 032161 ER3 AC,32161 ;HIGH PRODUCT FAILED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-20
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0119
|
|
|
|
5547 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5548 033667 312 13 0 00 044615 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5549 033670 004 13 0 00 032162 ER4 AC+1,32162 ;LOW PRODUCT FAILED
|
|
5550 100000 000000 AEE=XX ;INITIAL C(E)
|
|
5551 033671 312 10 0 00 044760 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5552 033672 005 10 0 00 032163 ER5 E,32163 ;C(E) WAS CLOBBERED
|
|
5553 033673 321 14 0 00 033661 JUMPL AC+2,F32160 ;LOOP ON ERROR SWITCH^
|
|
5554
|
|
5555 003217 ADR=ADR+1
|
|
5556 200000 000000 XX=XX+XX
|
|
5557 IFE XX,<XX=1>
|
|
5558
|
|
5559 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5560 000000 V1=XX*XX
|
|
5561 100000 000000 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5562 IFL XX,<V2=XX*XX>
|
|
5563 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5564 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5565 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5566 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5567 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5568
|
|
5569 200000 000000 F32170: AA1=XX ;INITIAL C(AC)
|
|
5570 033674 200 12 0 00 044763 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5571 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5572 033675 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5573 200000 000000 AEE=XX ;INITIAL C(E)
|
|
5574 033676 200 10 0 00 044763 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5575 033677 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5576 100000 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5577 033700 312 12 0 00 044760 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5578 033701 003 12 0 00 032171 ER3 AC,32171 ;HIGH PRODUCT FAILED
|
|
5579 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5580 033702 312 13 0 00 044615 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5581 033703 004 13 0 00 032172 ER4 AC+1,32172 ;LOW PRODUCT FAILED
|
|
5582 200000 000000 AEE=XX ;INITIAL C(E)
|
|
5583 033704 312 10 0 00 044763 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5584 033705 005 10 0 00 032173 ER5 E,32173 ;C(E) WAS CLOBBERED
|
|
5585 033706 321 14 0 00 033674 JUMPL AC+2,F32170 ;LOOP ON ERROR SWITCH^
|
|
5586
|
|
5587 003220 ADR=ADR+1
|
|
5588 400000 000000 XX=XX+XX
|
|
5589 IFE XX,<XX=1>
|
|
5590
|
|
5591 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
|
|
5592 400000 000000 V1=XX*XX
|
|
5593 IFG XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
|
|
5594 400000 000000 IFL XX,<V2=XX*XX>
|
|
5595 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5596 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5597 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5598 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5599 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5600
|
|
5601 400000 000000 F32200: AA1=XX ;INITIAL C(AC)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 6-21
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0120
|
|
|
|
5602 033707 200 12 0 00 044765 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5603 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5604 033710 200 13 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5605 400000 000000 AEE=XX ;INITIAL C(E)
|
|
5606 033711 200 10 0 00 044765 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5607 033712 224 12 0 00 000010 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5608 400000 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5609 033713 312 12 0 00 044765 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5610 033714 003 12 0 00 032201 ER3 AC,32201 ;HIGH PRODUCT FAILED
|
|
5611 400000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5612 033715 312 13 0 00 044765 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5613 033716 004 13 0 00 032202 ER4 AC+1,32202 ;LOW PRODUCT FAILED
|
|
5614 400000 000000 AEE=XX ;INITIAL C(E)
|
|
5615 033717 312 10 0 00 044765 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5616 033720 005 10 0 00 032203 ER5 E,32203 ;C(E) WAS CLOBBERED
|
|
5617 033721 321 14 0 00 033707 JUMPL AC+2,F32200 ;LOOP ON ERROR SWITCH^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0121
|
|
|
|
5618 000011 AC=11
|
|
5619 000007 E=<AC-2>&17
|
|
5620 SAVEAC (1,1)^
|
|
5621 033722 201 13 0 00 033722 MOVEI AC+2,. ;SAVE TEST PC
|
|
5622 033723 202 13 0 00 030051 MOVEM AC+2,TESTPC
|
|
5623 033724 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
5624 033725 202 13 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
5625 000000 XX=0
|
|
5626
|
|
5627 REPEAT ^D36,<
|
|
5628 ADR=ADR+1
|
|
5629 XX=XX+XX+1
|
|
5630 IFE <XX-1>,<XX=-2>
|
|
5631
|
|
5632 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
5633 V1=XX*XX
|
|
5634 IFE <XX&1B1>,<V2A=1>
|
|
5635 IFN <XX&1B1>,<V2A=0>
|
|
5636 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
5637 IFG XX,<V2=XX-1>
|
|
5638 MOP1 (\ADR,XX,-1,XX,V2,V1)>
|
|
5639
|
|
5640 003221 ADR=ADR+1
|
|
5641 000001 XX=XX+XX+1
|
|
5642 777777 777776 IFE <XX-1>,<XX=-2>
|
|
5643
|
|
5644 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
5645 000004 V1=XX*XX
|
|
5646 IFE <XX&1B1>,<V2A=1>
|
|
5647 000000 IFN <XX&1B1>,<V2A=0>
|
|
5648 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
5649 IFG XX,<V2=XX-1>
|
|
5650 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5651 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5652 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5653 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5654 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5655
|
|
5656 777777 777776 F32210: AA1=XX ;INITIAL C(AC)
|
|
5657 033726 200 11 0 00 044621 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5658 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5659 033727 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5660 777777 777776 AEE=XX ;INITIAL C(E)
|
|
5661 033730 200 07 0 00 044621 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5662 033731 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5663 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5664 033732 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5665 033733 003 11 0 00 032211 ER3 AC,32211 ;HIGH PRODUCT FAILED
|
|
5666 000004 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5667 033734 312 12 0 00 044623 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5668 033735 004 12 0 00 032212 ER4 AC+1,32212 ;LOW PRODUCT FAILED
|
|
5669 777777 777776 AEE=XX ;INITIAL C(E)
|
|
5670 033736 312 07 0 00 044621 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5671 033737 005 07 0 00 032213 ER5 E,32213 ;C(E) WAS CLOBBERED
|
|
5672 033740 321 13 0 00 033726 JUMPL AC+2,F32210 ;LOOP ON ERROR SWITCH^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-1
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0122
|
|
|
|
5673
|
|
5674 003222 ADR=ADR+1
|
|
5675 777777 777775 XX=XX+XX+1
|
|
5676 IFE <XX-1>,<XX=-2>
|
|
5677
|
|
5678 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
5679 000011 V1=XX*XX
|
|
5680 IFE <XX&1B1>,<V2A=1>
|
|
5681 000000 IFN <XX&1B1>,<V2A=0>
|
|
5682 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
5683 IFG XX,<V2=XX-1>
|
|
5684 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5685 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5686 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5687 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5688 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5689
|
|
5690 777777 777775 F32220: AA1=XX ;INITIAL C(AC)
|
|
5691 033741 200 11 0 00 044624 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5692 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5693 033742 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5694 777777 777775 AEE=XX ;INITIAL C(E)
|
|
5695 033743 200 07 0 00 044624 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5696 033744 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5697 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5698 033745 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5699 033746 003 11 0 00 032221 ER3 AC,32221 ;HIGH PRODUCT FAILED
|
|
5700 000011 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5701 033747 312 12 0 00 045070 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5702 033750 004 12 0 00 032222 ER4 AC+1,32222 ;LOW PRODUCT FAILED
|
|
5703 777777 777775 AEE=XX ;INITIAL C(E)
|
|
5704 033751 312 07 0 00 044624 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5705 033752 005 07 0 00 032223 ER5 E,32223 ;C(E) WAS CLOBBERED
|
|
5706 033753 321 13 0 00 033741 JUMPL AC+2,F32220 ;LOOP ON ERROR SWITCH^
|
|
5707
|
|
5708 003223 ADR=ADR+1
|
|
5709 777777 777773 XX=XX+XX+1
|
|
5710 IFE <XX-1>,<XX=-2>
|
|
5711
|
|
5712 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
5713 000031 V1=XX*XX
|
|
5714 IFE <XX&1B1>,<V2A=1>
|
|
5715 000000 IFN <XX&1B1>,<V2A=0>
|
|
5716 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
5717 IFG XX,<V2=XX-1>
|
|
5718 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5719 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5720 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5721 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5722 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5723
|
|
5724 777777 777773 F32230: AA1=XX ;INITIAL C(AC)
|
|
5725 033754 200 11 0 00 045071 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5726 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5727 033755 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-2
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0123
|
|
|
|
5728 777777 777773 AEE=XX ;INITIAL C(E)
|
|
5729 033756 200 07 0 00 045071 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5730 033757 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5731 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5732 033760 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5733 033761 003 11 0 00 032231 ER3 AC,32231 ;HIGH PRODUCT FAILED
|
|
5734 000031 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5735 033762 312 12 0 00 045072 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5736 033763 004 12 0 00 032232 ER4 AC+1,32232 ;LOW PRODUCT FAILED
|
|
5737 777777 777773 AEE=XX ;INITIAL C(E)
|
|
5738 033764 312 07 0 00 045071 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5739 033765 005 07 0 00 032233 ER5 E,32233 ;C(E) WAS CLOBBERED
|
|
5740 033766 321 13 0 00 033754 JUMPL AC+2,F32230 ;LOOP ON ERROR SWITCH^
|
|
5741
|
|
5742 003224 ADR=ADR+1
|
|
5743 777777 777767 XX=XX+XX+1
|
|
5744 IFE <XX-1>,<XX=-2>
|
|
5745
|
|
5746 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
5747 000121 V1=XX*XX
|
|
5748 IFE <XX&1B1>,<V2A=1>
|
|
5749 000000 IFN <XX&1B1>,<V2A=0>
|
|
5750 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
5751 IFG XX,<V2=XX-1>
|
|
5752 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5753 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5754 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5755 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5756 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5757
|
|
5758 777777 777767 F32240: AA1=XX ;INITIAL C(AC)
|
|
5759 033767 200 11 0 00 045073 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5760 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5761 033770 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5762 777777 777767 AEE=XX ;INITIAL C(E)
|
|
5763 033771 200 07 0 00 045073 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5764 033772 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5765 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5766 033773 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5767 033774 003 11 0 00 032241 ER3 AC,32241 ;HIGH PRODUCT FAILED
|
|
5768 000121 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5769 033775 312 12 0 00 045074 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5770 033776 004 12 0 00 032242 ER4 AC+1,32242 ;LOW PRODUCT FAILED
|
|
5771 777777 777767 AEE=XX ;INITIAL C(E)
|
|
5772 033777 312 07 0 00 045073 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5773 034000 005 07 0 00 032243 ER5 E,32243 ;C(E) WAS CLOBBERED
|
|
5774 034001 321 13 0 00 033767 JUMPL AC+2,F32240 ;LOOP ON ERROR SWITCH^
|
|
5775
|
|
5776 003225 ADR=ADR+1
|
|
5777 777777 777757 XX=XX+XX+1
|
|
5778 IFE <XX-1>,<XX=-2>
|
|
5779
|
|
5780 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
5781 000441 V1=XX*XX
|
|
5782 IFE <XX&1B1>,<V2A=1>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-3
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0124
|
|
|
|
5783 000000 IFN <XX&1B1>,<V2A=0>
|
|
5784 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
5785 IFG XX,<V2=XX-1>
|
|
5786 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5787 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5788 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5789 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5790 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5791
|
|
5792 777777 777757 F32250: AA1=XX ;INITIAL C(AC)
|
|
5793 034002 200 11 0 00 045075 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5794 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5795 034003 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5796 777777 777757 AEE=XX ;INITIAL C(E)
|
|
5797 034004 200 07 0 00 045075 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5798 034005 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5799 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5800 034006 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5801 034007 003 11 0 00 032251 ER3 AC,32251 ;HIGH PRODUCT FAILED
|
|
5802 000441 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5803 034010 312 12 0 00 045076 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5804 034011 004 12 0 00 032252 ER4 AC+1,32252 ;LOW PRODUCT FAILED
|
|
5805 777777 777757 AEE=XX ;INITIAL C(E)
|
|
5806 034012 312 07 0 00 045075 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5807 034013 005 07 0 00 032253 ER5 E,32253 ;C(E) WAS CLOBBERED
|
|
5808 034014 321 13 0 00 034002 JUMPL AC+2,F32250 ;LOOP ON ERROR SWITCH^
|
|
5809
|
|
5810 003226 ADR=ADR+1
|
|
5811 777777 777737 XX=XX+XX+1
|
|
5812 IFE <XX-1>,<XX=-2>
|
|
5813
|
|
5814 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
5815 002101 V1=XX*XX
|
|
5816 IFE <XX&1B1>,<V2A=1>
|
|
5817 000000 IFN <XX&1B1>,<V2A=0>
|
|
5818 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
5819 IFG XX,<V2=XX-1>
|
|
5820 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5821 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5822 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5823 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5824 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5825
|
|
5826 777777 777737 F32260: AA1=XX ;INITIAL C(AC)
|
|
5827 034015 200 11 0 00 045077 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5828 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5829 034016 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5830 777777 777737 AEE=XX ;INITIAL C(E)
|
|
5831 034017 200 07 0 00 045077 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5832 034020 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5833 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5834 034021 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5835 034022 003 11 0 00 032261 ER3 AC,32261 ;HIGH PRODUCT FAILED
|
|
5836 002101 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5837 034023 312 12 0 00 045100 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-4
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0125
|
|
|
|
5838 034024 004 12 0 00 032262 ER4 AC+1,32262 ;LOW PRODUCT FAILED
|
|
5839 777777 777737 AEE=XX ;INITIAL C(E)
|
|
5840 034025 312 07 0 00 045077 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5841 034026 005 07 0 00 032263 ER5 E,32263 ;C(E) WAS CLOBBERED
|
|
5842 034027 321 13 0 00 034015 JUMPL AC+2,F32260 ;LOOP ON ERROR SWITCH^
|
|
5843
|
|
5844 003227 ADR=ADR+1
|
|
5845 777777 777677 XX=XX+XX+1
|
|
5846 IFE <XX-1>,<XX=-2>
|
|
5847
|
|
5848 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
5849 010201 V1=XX*XX
|
|
5850 IFE <XX&1B1>,<V2A=1>
|
|
5851 000000 IFN <XX&1B1>,<V2A=0>
|
|
5852 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
5853 IFG XX,<V2=XX-1>
|
|
5854 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5855 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5856 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5857 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5858 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5859
|
|
5860 777777 777677 F32270: AA1=XX ;INITIAL C(AC)
|
|
5861 034030 200 11 0 00 045101 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5862 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5863 034031 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5864 777777 777677 AEE=XX ;INITIAL C(E)
|
|
5865 034032 200 07 0 00 045101 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5866 034033 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5867 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5868 034034 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5869 034035 003 11 0 00 032271 ER3 AC,32271 ;HIGH PRODUCT FAILED
|
|
5870 010201 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5871 034036 312 12 0 00 045102 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5872 034037 004 12 0 00 032272 ER4 AC+1,32272 ;LOW PRODUCT FAILED
|
|
5873 777777 777677 AEE=XX ;INITIAL C(E)
|
|
5874 034040 312 07 0 00 045101 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5875 034041 005 07 0 00 032273 ER5 E,32273 ;C(E) WAS CLOBBERED
|
|
5876 034042 321 13 0 00 034030 JUMPL AC+2,F32270 ;LOOP ON ERROR SWITCH^
|
|
5877
|
|
5878 003230 ADR=ADR+1
|
|
5879 777777 777577 XX=XX+XX+1
|
|
5880 IFE <XX-1>,<XX=-2>
|
|
5881
|
|
5882 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
5883 040401 V1=XX*XX
|
|
5884 IFE <XX&1B1>,<V2A=1>
|
|
5885 000000 IFN <XX&1B1>,<V2A=0>
|
|
5886 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
5887 IFG XX,<V2=XX-1>
|
|
5888 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5889 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5890 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5891 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5892 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-5
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0126
|
|
|
|
5893
|
|
5894 777777 777577 F32300: AA1=XX ;INITIAL C(AC)
|
|
5895 034043 200 11 0 00 045103 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5896 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5897 034044 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5898 777777 777577 AEE=XX ;INITIAL C(E)
|
|
5899 034045 200 07 0 00 045103 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5900 034046 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5901 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5902 034047 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5903 034050 003 11 0 00 032301 ER3 AC,32301 ;HIGH PRODUCT FAILED
|
|
5904 040401 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5905 034051 312 12 0 00 045104 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5906 034052 004 12 0 00 032302 ER4 AC+1,32302 ;LOW PRODUCT FAILED
|
|
5907 777777 777577 AEE=XX ;INITIAL C(E)
|
|
5908 034053 312 07 0 00 045103 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5909 034054 005 07 0 00 032303 ER5 E,32303 ;C(E) WAS CLOBBERED
|
|
5910 034055 321 13 0 00 034043 JUMPL AC+2,F32300 ;LOOP ON ERROR SWITCH^
|
|
5911
|
|
5912 003231 ADR=ADR+1
|
|
5913 777777 777377 XX=XX+XX+1
|
|
5914 IFE <XX-1>,<XX=-2>
|
|
5915
|
|
5916 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
5917 201001 V1=XX*XX
|
|
5918 IFE <XX&1B1>,<V2A=1>
|
|
5919 000000 IFN <XX&1B1>,<V2A=0>
|
|
5920 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
5921 IFG XX,<V2=XX-1>
|
|
5922 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5923 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5924 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5925 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5926 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5927
|
|
5928 777777 777377 F32310: AA1=XX ;INITIAL C(AC)
|
|
5929 034056 200 11 0 00 045105 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5930 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5931 034057 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5932 777777 777377 AEE=XX ;INITIAL C(E)
|
|
5933 034060 200 07 0 00 045105 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5934 034061 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5935 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5936 034062 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5937 034063 003 11 0 00 032311 ER3 AC,32311 ;HIGH PRODUCT FAILED
|
|
5938 201001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5939 034064 312 12 0 00 045106 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5940 034065 004 12 0 00 032312 ER4 AC+1,32312 ;LOW PRODUCT FAILED
|
|
5941 777777 777377 AEE=XX ;INITIAL C(E)
|
|
5942 034066 312 07 0 00 045105 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5943 034067 005 07 0 00 032313 ER5 E,32313 ;C(E) WAS CLOBBERED
|
|
5944 034070 321 13 0 00 034056 JUMPL AC+2,F32310 ;LOOP ON ERROR SWITCH^
|
|
5945
|
|
5946 003232 ADR=ADR+1
|
|
5947 777777 776777 XX=XX+XX+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-6
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0127
|
|
|
|
5948 IFE <XX-1>,<XX=-2>
|
|
5949
|
|
5950 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
5951 000001 002001 V1=XX*XX
|
|
5952 IFE <XX&1B1>,<V2A=1>
|
|
5953 000000 IFN <XX&1B1>,<V2A=0>
|
|
5954 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
5955 IFG XX,<V2=XX-1>
|
|
5956 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5957 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5958 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5959 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5960 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5961
|
|
5962 777777 776777 F32320: AA1=XX ;INITIAL C(AC)
|
|
5963 034071 200 11 0 00 045107 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5964 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5965 034072 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
5966 777777 776777 AEE=XX ;INITIAL C(E)
|
|
5967 034073 200 07 0 00 045107 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
5968 034074 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
5969 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
5970 034075 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
5971 034076 003 11 0 00 032321 ER3 AC,32321 ;HIGH PRODUCT FAILED
|
|
5972 000001 002001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
5973 034077 312 12 0 00 045110 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
5974 034100 004 12 0 00 032322 ER4 AC+1,32322 ;LOW PRODUCT FAILED
|
|
5975 777777 776777 AEE=XX ;INITIAL C(E)
|
|
5976 034101 312 07 0 00 045107 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
5977 034102 005 07 0 00 032323 ER5 E,32323 ;C(E) WAS CLOBBERED
|
|
5978 034103 321 13 0 00 034071 JUMPL AC+2,F32320 ;LOOP ON ERROR SWITCH^
|
|
5979
|
|
5980 003233 ADR=ADR+1
|
|
5981 777777 775777 XX=XX+XX+1
|
|
5982 IFE <XX-1>,<XX=-2>
|
|
5983
|
|
5984 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
5985 000004 004001 V1=XX*XX
|
|
5986 IFE <XX&1B1>,<V2A=1>
|
|
5987 000000 IFN <XX&1B1>,<V2A=0>
|
|
5988 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
5989 IFG XX,<V2=XX-1>
|
|
5990 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
5991 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
5992 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
5993 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
5994 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
5995
|
|
5996 777777 775777 F32330: AA1=XX ;INITIAL C(AC)
|
|
5997 034104 200 11 0 00 045111 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
5998 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
5999 034105 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6000 777777 775777 AEE=XX ;INITIAL C(E)
|
|
6001 034106 200 07 0 00 045111 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6002 034107 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-7
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0128
|
|
|
|
6003 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6004 034110 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6005 034111 003 11 0 00 032331 ER3 AC,32331 ;HIGH PRODUCT FAILED
|
|
6006 000004 004001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6007 034112 312 12 0 00 045112 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6008 034113 004 12 0 00 032332 ER4 AC+1,32332 ;LOW PRODUCT FAILED
|
|
6009 777777 775777 AEE=XX ;INITIAL C(E)
|
|
6010 034114 312 07 0 00 045111 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6011 034115 005 07 0 00 032333 ER5 E,32333 ;C(E) WAS CLOBBERED
|
|
6012 034116 321 13 0 00 034104 JUMPL AC+2,F32330 ;LOOP ON ERROR SWITCH^
|
|
6013
|
|
6014 003234 ADR=ADR+1
|
|
6015 777777 773777 XX=XX+XX+1
|
|
6016 IFE <XX-1>,<XX=-2>
|
|
6017
|
|
6018 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6019 000020 010001 V1=XX*XX
|
|
6020 IFE <XX&1B1>,<V2A=1>
|
|
6021 000000 IFN <XX&1B1>,<V2A=0>
|
|
6022 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6023 IFG XX,<V2=XX-1>
|
|
6024 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6025 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6026 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6027 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6028 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6029
|
|
6030 777777 773777 F32340: AA1=XX ;INITIAL C(AC)
|
|
6031 034117 200 11 0 00 045113 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6032 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6033 034120 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6034 777777 773777 AEE=XX ;INITIAL C(E)
|
|
6035 034121 200 07 0 00 045113 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6036 034122 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6037 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6038 034123 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6039 034124 003 11 0 00 032341 ER3 AC,32341 ;HIGH PRODUCT FAILED
|
|
6040 000020 010001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6041 034125 312 12 0 00 045114 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6042 034126 004 12 0 00 032342 ER4 AC+1,32342 ;LOW PRODUCT FAILED
|
|
6043 777777 773777 AEE=XX ;INITIAL C(E)
|
|
6044 034127 312 07 0 00 045113 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6045 034130 005 07 0 00 032343 ER5 E,32343 ;C(E) WAS CLOBBERED
|
|
6046 034131 321 13 0 00 034117 JUMPL AC+2,F32340 ;LOOP ON ERROR SWITCH^
|
|
6047
|
|
6048 003235 ADR=ADR+1
|
|
6049 777777 767777 XX=XX+XX+1
|
|
6050 IFE <XX-1>,<XX=-2>
|
|
6051
|
|
6052 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6053 000100 020001 V1=XX*XX
|
|
6054 IFE <XX&1B1>,<V2A=1>
|
|
6055 000000 IFN <XX&1B1>,<V2A=0>
|
|
6056 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6057 IFG XX,<V2=XX-1>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-8
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0129
|
|
|
|
6058 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6059 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6060 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6061 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6062 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6063
|
|
6064 777777 767777 F32350: AA1=XX ;INITIAL C(AC)
|
|
6065 034132 200 11 0 00 045115 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6066 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6067 034133 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6068 777777 767777 AEE=XX ;INITIAL C(E)
|
|
6069 034134 200 07 0 00 045115 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6070 034135 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6071 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6072 034136 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6073 034137 003 11 0 00 032351 ER3 AC,32351 ;HIGH PRODUCT FAILED
|
|
6074 000100 020001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6075 034140 312 12 0 00 045116 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6076 034141 004 12 0 00 032352 ER4 AC+1,32352 ;LOW PRODUCT FAILED
|
|
6077 777777 767777 AEE=XX ;INITIAL C(E)
|
|
6078 034142 312 07 0 00 045115 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6079 034143 005 07 0 00 032353 ER5 E,32353 ;C(E) WAS CLOBBERED
|
|
6080 034144 321 13 0 00 034132 JUMPL AC+2,F32350 ;LOOP ON ERROR SWITCH^
|
|
6081
|
|
6082 003236 ADR=ADR+1
|
|
6083 777777 757777 XX=XX+XX+1
|
|
6084 IFE <XX-1>,<XX=-2>
|
|
6085
|
|
6086 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6087 000400 040001 V1=XX*XX
|
|
6088 IFE <XX&1B1>,<V2A=1>
|
|
6089 000000 IFN <XX&1B1>,<V2A=0>
|
|
6090 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6091 IFG XX,<V2=XX-1>
|
|
6092 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6093 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6094 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6095 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6096 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6097
|
|
6098 777777 757777 F32360: AA1=XX ;INITIAL C(AC)
|
|
6099 034145 200 11 0 00 045117 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6100 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6101 034146 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6102 777777 757777 AEE=XX ;INITIAL C(E)
|
|
6103 034147 200 07 0 00 045117 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6104 034150 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6105 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6106 034151 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6107 034152 003 11 0 00 032361 ER3 AC,32361 ;HIGH PRODUCT FAILED
|
|
6108 000400 040001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6109 034153 312 12 0 00 045120 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6110 034154 004 12 0 00 032362 ER4 AC+1,32362 ;LOW PRODUCT FAILED
|
|
6111 777777 757777 AEE=XX ;INITIAL C(E)
|
|
6112 034155 312 07 0 00 045117 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-9
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0130
|
|
|
|
6113 034156 005 07 0 00 032363 ER5 E,32363 ;C(E) WAS CLOBBERED
|
|
6114 034157 321 13 0 00 034145 JUMPL AC+2,F32360 ;LOOP ON ERROR SWITCH^
|
|
6115
|
|
6116 003237 ADR=ADR+1
|
|
6117 777777 737777 XX=XX+XX+1
|
|
6118 IFE <XX-1>,<XX=-2>
|
|
6119
|
|
6120 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6121 002000 100001 V1=XX*XX
|
|
6122 IFE <XX&1B1>,<V2A=1>
|
|
6123 000000 IFN <XX&1B1>,<V2A=0>
|
|
6124 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6125 IFG XX,<V2=XX-1>
|
|
6126 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6127 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6128 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6129 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6130 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6131
|
|
6132 777777 737777 F32370: AA1=XX ;INITIAL C(AC)
|
|
6133 034160 200 11 0 00 045121 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6134 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6135 034161 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6136 777777 737777 AEE=XX ;INITIAL C(E)
|
|
6137 034162 200 07 0 00 045121 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6138 034163 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6139 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6140 034164 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6141 034165 003 11 0 00 032371 ER3 AC,32371 ;HIGH PRODUCT FAILED
|
|
6142 002000 100001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6143 034166 312 12 0 00 045122 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6144 034167 004 12 0 00 032372 ER4 AC+1,32372 ;LOW PRODUCT FAILED
|
|
6145 777777 737777 AEE=XX ;INITIAL C(E)
|
|
6146 034170 312 07 0 00 045121 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6147 034171 005 07 0 00 032373 ER5 E,32373 ;C(E) WAS CLOBBERED
|
|
6148 034172 321 13 0 00 034160 JUMPL AC+2,F32370 ;LOOP ON ERROR SWITCH^
|
|
6149
|
|
6150 003240 ADR=ADR+1
|
|
6151 777777 677777 XX=XX+XX+1
|
|
6152 IFE <XX-1>,<XX=-2>
|
|
6153
|
|
6154 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6155 010000 200001 V1=XX*XX
|
|
6156 IFE <XX&1B1>,<V2A=1>
|
|
6157 000000 IFN <XX&1B1>,<V2A=0>
|
|
6158 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6159 IFG XX,<V2=XX-1>
|
|
6160 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6161 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6162 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6163 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6164 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6165
|
|
6166 777777 677777 F32400: AA1=XX ;INITIAL C(AC)
|
|
6167 034173 200 11 0 00 045123 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-10
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0131
|
|
|
|
6168 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6169 034174 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6170 777777 677777 AEE=XX ;INITIAL C(E)
|
|
6171 034175 200 07 0 00 045123 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6172 034176 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6173 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6174 034177 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6175 034200 003 11 0 00 032401 ER3 AC,32401 ;HIGH PRODUCT FAILED
|
|
6176 010000 200001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6177 034201 312 12 0 00 045124 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6178 034202 004 12 0 00 032402 ER4 AC+1,32402 ;LOW PRODUCT FAILED
|
|
6179 777777 677777 AEE=XX ;INITIAL C(E)
|
|
6180 034203 312 07 0 00 045123 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6181 034204 005 07 0 00 032403 ER5 E,32403 ;C(E) WAS CLOBBERED
|
|
6182 034205 321 13 0 00 034173 JUMPL AC+2,F32400 ;LOOP ON ERROR SWITCH^
|
|
6183
|
|
6184 003241 ADR=ADR+1
|
|
6185 777777 577777 XX=XX+XX+1
|
|
6186 IFE <XX-1>,<XX=-2>
|
|
6187
|
|
6188 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6189 040000 400001 V1=XX*XX
|
|
6190 IFE <XX&1B1>,<V2A=1>
|
|
6191 000000 IFN <XX&1B1>,<V2A=0>
|
|
6192 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6193 IFG XX,<V2=XX-1>
|
|
6194 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6195 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6196 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6197 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6198 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6199
|
|
6200 777777 577777 F32410: AA1=XX ;INITIAL C(AC)
|
|
6201 034206 200 11 0 00 045125 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6202 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6203 034207 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6204 777777 577777 AEE=XX ;INITIAL C(E)
|
|
6205 034210 200 07 0 00 045125 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6206 034211 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6207 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6208 034212 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6209 034213 003 11 0 00 032411 ER3 AC,32411 ;HIGH PRODUCT FAILED
|
|
6210 040000 400001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6211 034214 312 12 0 00 045126 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6212 034215 004 12 0 00 032412 ER4 AC+1,32412 ;LOW PRODUCT FAILED
|
|
6213 777777 577777 AEE=XX ;INITIAL C(E)
|
|
6214 034216 312 07 0 00 045125 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6215 034217 005 07 0 00 032413 ER5 E,32413 ;C(E) WAS CLOBBERED
|
|
6216 034220 321 13 0 00 034206 JUMPL AC+2,F32410 ;LOOP ON ERROR SWITCH^
|
|
6217
|
|
6218 003242 ADR=ADR+1
|
|
6219 777777 377777 XX=XX+XX+1
|
|
6220 IFE <XX-1>,<XX=-2>
|
|
6221
|
|
6222 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-11
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0132
|
|
|
|
6223 200001 000001 V1=XX*XX
|
|
6224 IFE <XX&1B1>,<V2A=1>
|
|
6225 000000 IFN <XX&1B1>,<V2A=0>
|
|
6226 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6227 IFG XX,<V2=XX-1>
|
|
6228 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6229 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6230 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6231 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6232 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6233
|
|
6234 777777 377777 F32420: AA1=XX ;INITIAL C(AC)
|
|
6235 034221 200 11 0 00 045127 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6236 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6237 034222 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6238 777777 377777 AEE=XX ;INITIAL C(E)
|
|
6239 034223 200 07 0 00 045127 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6240 034224 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6241 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6242 034225 312 11 0 00 044615 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6243 034226 003 11 0 00 032421 ER3 AC,32421 ;HIGH PRODUCT FAILED
|
|
6244 200001 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6245 034227 312 12 0 00 045130 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6246 034230 004 12 0 00 032422 ER4 AC+1,32422 ;LOW PRODUCT FAILED
|
|
6247 777777 377777 AEE=XX ;INITIAL C(E)
|
|
6248 034231 312 07 0 00 045127 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6249 034232 005 07 0 00 032423 ER5 E,32423 ;C(E) WAS CLOBBERED
|
|
6250 034233 321 13 0 00 034221 JUMPL AC+2,F32420 ;LOOP ON ERROR SWITCH^
|
|
6251
|
|
6252 003243 ADR=ADR+1
|
|
6253 777776 777777 XX=XX+XX+1
|
|
6254 IFE <XX-1>,<XX=-2>
|
|
6255
|
|
6256 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6257 000002 000001 V1=XX*XX
|
|
6258 IFE <XX&1B1>,<V2A=1>
|
|
6259 000000 IFN <XX&1B1>,<V2A=0>
|
|
6260 000002 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6261 IFG XX,<V2=XX-1>
|
|
6262 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6263 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6264 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6265 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6266 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6267
|
|
6268 777776 777777 F32430: AA1=XX ;INITIAL C(AC)
|
|
6269 034234 200 11 0 00 045131 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6270 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6271 034235 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6272 777776 777777 AEE=XX ;INITIAL C(E)
|
|
6273 034236 200 07 0 00 045131 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6274 034237 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6275 000002 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6276 034240 312 11 0 00 044620 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6277 034241 003 11 0 00 032431 ER3 AC,32431 ;HIGH PRODUCT FAILED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-12
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0133
|
|
|
|
6278 000002 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6279 034242 312 12 0 00 045132 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6280 034243 004 12 0 00 032432 ER4 AC+1,32432 ;LOW PRODUCT FAILED
|
|
6281 777776 777777 AEE=XX ;INITIAL C(E)
|
|
6282 034244 312 07 0 00 045131 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6283 034245 005 07 0 00 032433 ER5 E,32433 ;C(E) WAS CLOBBERED
|
|
6284 034246 321 13 0 00 034234 JUMPL AC+2,F32430 ;LOOP ON ERROR SWITCH^
|
|
6285
|
|
6286 003244 ADR=ADR+1
|
|
6287 777775 777777 XX=XX+XX+1
|
|
6288 IFE <XX-1>,<XX=-2>
|
|
6289
|
|
6290 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6291 000004 000001 V1=XX*XX
|
|
6292 IFE <XX&1B1>,<V2A=1>
|
|
6293 000000 IFN <XX&1B1>,<V2A=0>
|
|
6294 000010 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6295 IFG XX,<V2=XX-1>
|
|
6296 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6297 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6298 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6299 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6300 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6301
|
|
6302 777775 777777 F32440: AA1=XX ;INITIAL C(AC)
|
|
6303 034247 200 11 0 00 045133 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6304 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6305 034250 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6306 777775 777777 AEE=XX ;INITIAL C(E)
|
|
6307 034251 200 07 0 00 045133 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6308 034252 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6309 000010 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6310 034253 312 11 0 00 044626 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6311 034254 003 11 0 00 032441 ER3 AC,32441 ;HIGH PRODUCT FAILED
|
|
6312 000004 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6313 034255 312 12 0 00 045134 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6314 034256 004 12 0 00 032442 ER4 AC+1,32442 ;LOW PRODUCT FAILED
|
|
6315 777775 777777 AEE=XX ;INITIAL C(E)
|
|
6316 034257 312 07 0 00 045133 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6317 034260 005 07 0 00 032443 ER5 E,32443 ;C(E) WAS CLOBBERED
|
|
6318 034261 321 13 0 00 034247 JUMPL AC+2,F32440 ;LOOP ON ERROR SWITCH^
|
|
6319
|
|
6320 003245 ADR=ADR+1
|
|
6321 777773 777777 XX=XX+XX+1
|
|
6322 IFE <XX-1>,<XX=-2>
|
|
6323
|
|
6324 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6325 000010 000001 V1=XX*XX
|
|
6326 IFE <XX&1B1>,<V2A=1>
|
|
6327 000000 IFN <XX&1B1>,<V2A=0>
|
|
6328 000040 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6329 IFG XX,<V2=XX-1>
|
|
6330 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6331 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6332 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-13
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0134
|
|
|
|
6333 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6334 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6335
|
|
6336 777773 777777 F32450: AA1=XX ;INITIAL C(AC)
|
|
6337 034262 200 11 0 00 045135 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6338 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6339 034263 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6340 777773 777777 AEE=XX ;INITIAL C(E)
|
|
6341 034264 200 07 0 00 045135 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6342 034265 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6343 000040 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6344 034266 312 11 0 00 044634 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6345 034267 003 11 0 00 032451 ER3 AC,32451 ;HIGH PRODUCT FAILED
|
|
6346 000010 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6347 034270 312 12 0 00 045136 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6348 034271 004 12 0 00 032452 ER4 AC+1,32452 ;LOW PRODUCT FAILED
|
|
6349 777773 777777 AEE=XX ;INITIAL C(E)
|
|
6350 034272 312 07 0 00 045135 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6351 034273 005 07 0 00 032453 ER5 E,32453 ;C(E) WAS CLOBBERED
|
|
6352 034274 321 13 0 00 034262 JUMPL AC+2,F32450 ;LOOP ON ERROR SWITCH^
|
|
6353
|
|
6354 003246 ADR=ADR+1
|
|
6355 777767 777777 XX=XX+XX+1
|
|
6356 IFE <XX-1>,<XX=-2>
|
|
6357
|
|
6358 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6359 000020 000001 V1=XX*XX
|
|
6360 IFE <XX&1B1>,<V2A=1>
|
|
6361 000000 IFN <XX&1B1>,<V2A=0>
|
|
6362 000200 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6363 IFG XX,<V2=XX-1>
|
|
6364 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6365 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6366 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6367 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6368 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6369
|
|
6370 777767 777777 F32460: AA1=XX ;INITIAL C(AC)
|
|
6371 034275 200 11 0 00 045137 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6372 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6373 034276 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6374 777767 777777 AEE=XX ;INITIAL C(E)
|
|
6375 034277 200 07 0 00 045137 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6376 034300 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6377 000200 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6378 034301 312 11 0 00 044642 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6379 034302 003 11 0 00 032461 ER3 AC,32461 ;HIGH PRODUCT FAILED
|
|
6380 000020 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6381 034303 312 12 0 00 045140 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6382 034304 004 12 0 00 032462 ER4 AC+1,32462 ;LOW PRODUCT FAILED
|
|
6383 777767 777777 AEE=XX ;INITIAL C(E)
|
|
6384 034305 312 07 0 00 045137 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6385 034306 005 07 0 00 032463 ER5 E,32463 ;C(E) WAS CLOBBERED
|
|
6386 034307 321 13 0 00 034275 JUMPL AC+2,F32460 ;LOOP ON ERROR SWITCH^
|
|
6387
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-14
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0135
|
|
|
|
6388 003247 ADR=ADR+1
|
|
6389 777757 777777 XX=XX+XX+1
|
|
6390 IFE <XX-1>,<XX=-2>
|
|
6391
|
|
6392 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6393 000040 000001 V1=XX*XX
|
|
6394 IFE <XX&1B1>,<V2A=1>
|
|
6395 000000 IFN <XX&1B1>,<V2A=0>
|
|
6396 001000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6397 IFG XX,<V2=XX-1>
|
|
6398 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6399 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6400 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6401 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6402 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6403
|
|
6404 777757 777777 F32470: AA1=XX ;INITIAL C(AC)
|
|
6405 034310 200 11 0 00 045141 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6406 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6407 034311 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6408 777757 777777 AEE=XX ;INITIAL C(E)
|
|
6409 034312 200 07 0 00 045141 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6410 034313 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6411 001000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6412 034314 312 11 0 00 044650 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6413 034315 003 11 0 00 032471 ER3 AC,32471 ;HIGH PRODUCT FAILED
|
|
6414 000040 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6415 034316 312 12 0 00 045142 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6416 034317 004 12 0 00 032472 ER4 AC+1,32472 ;LOW PRODUCT FAILED
|
|
6417 777757 777777 AEE=XX ;INITIAL C(E)
|
|
6418 034320 312 07 0 00 045141 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6419 034321 005 07 0 00 032473 ER5 E,32473 ;C(E) WAS CLOBBERED
|
|
6420 034322 321 13 0 00 034310 JUMPL AC+2,F32470 ;LOOP ON ERROR SWITCH^
|
|
6421
|
|
6422 003250 ADR=ADR+1
|
|
6423 777737 777777 XX=XX+XX+1
|
|
6424 IFE <XX-1>,<XX=-2>
|
|
6425
|
|
6426 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6427 000100 000001 V1=XX*XX
|
|
6428 IFE <XX&1B1>,<V2A=1>
|
|
6429 000000 IFN <XX&1B1>,<V2A=0>
|
|
6430 004000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6431 IFG XX,<V2=XX-1>
|
|
6432 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6433 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6434 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6435 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6436 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6437
|
|
6438 777737 777777 F32500: AA1=XX ;INITIAL C(AC)
|
|
6439 034323 200 11 0 00 045143 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6440 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6441 034324 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6442 777737 777777 AEE=XX ;INITIAL C(E)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-15
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0136
|
|
|
|
6443 034325 200 07 0 00 045143 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6444 034326 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6445 004000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6446 034327 312 11 0 00 044656 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6447 034330 003 11 0 00 032501 ER3 AC,32501 ;HIGH PRODUCT FAILED
|
|
6448 000100 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6449 034331 312 12 0 00 045144 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6450 034332 004 12 0 00 032502 ER4 AC+1,32502 ;LOW PRODUCT FAILED
|
|
6451 777737 777777 AEE=XX ;INITIAL C(E)
|
|
6452 034333 312 07 0 00 045143 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6453 034334 005 07 0 00 032503 ER5 E,32503 ;C(E) WAS CLOBBERED
|
|
6454 034335 321 13 0 00 034323 JUMPL AC+2,F32500 ;LOOP ON ERROR SWITCH^
|
|
6455
|
|
6456 003251 ADR=ADR+1
|
|
6457 777677 777777 XX=XX+XX+1
|
|
6458 IFE <XX-1>,<XX=-2>
|
|
6459
|
|
6460 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6461 000200 000001 V1=XX*XX
|
|
6462 IFE <XX&1B1>,<V2A=1>
|
|
6463 000000 IFN <XX&1B1>,<V2A=0>
|
|
6464 020000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6465 IFG XX,<V2=XX-1>
|
|
6466 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6467 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6468 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6469 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6470 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6471
|
|
6472 777677 777777 F32510: AA1=XX ;INITIAL C(AC)
|
|
6473 034336 200 11 0 00 045145 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6474 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6475 034337 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6476 777677 777777 AEE=XX ;INITIAL C(E)
|
|
6477 034340 200 07 0 00 045145 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6478 034341 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6479 020000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6480 034342 312 11 0 00 044664 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6481 034343 003 11 0 00 032511 ER3 AC,32511 ;HIGH PRODUCT FAILED
|
|
6482 000200 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6483 034344 312 12 0 00 045146 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6484 034345 004 12 0 00 032512 ER4 AC+1,32512 ;LOW PRODUCT FAILED
|
|
6485 777677 777777 AEE=XX ;INITIAL C(E)
|
|
6486 034346 312 07 0 00 045145 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6487 034347 005 07 0 00 032513 ER5 E,32513 ;C(E) WAS CLOBBERED
|
|
6488 034350 321 13 0 00 034336 JUMPL AC+2,F32510 ;LOOP ON ERROR SWITCH^
|
|
6489
|
|
6490 003252 ADR=ADR+1
|
|
6491 777577 777777 XX=XX+XX+1
|
|
6492 IFE <XX-1>,<XX=-2>
|
|
6493
|
|
6494 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6495 000400 000001 V1=XX*XX
|
|
6496 IFE <XX&1B1>,<V2A=1>
|
|
6497 000000 IFN <XX&1B1>,<V2A=0>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-16
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0137
|
|
|
|
6498 100000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6499 IFG XX,<V2=XX-1>
|
|
6500 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6501 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6502 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6503 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6504 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6505
|
|
6506 777577 777777 F32520: AA1=XX ;INITIAL C(AC)
|
|
6507 034351 200 11 0 00 045147 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6508 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6509 034352 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6510 777577 777777 AEE=XX ;INITIAL C(E)
|
|
6511 034353 200 07 0 00 045147 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6512 034354 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6513 100000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6514 034355 312 11 0 00 044672 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6515 034356 003 11 0 00 032521 ER3 AC,32521 ;HIGH PRODUCT FAILED
|
|
6516 000400 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6517 034357 312 12 0 00 045150 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6518 034360 004 12 0 00 032522 ER4 AC+1,32522 ;LOW PRODUCT FAILED
|
|
6519 777577 777777 AEE=XX ;INITIAL C(E)
|
|
6520 034361 312 07 0 00 045147 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6521 034362 005 07 0 00 032523 ER5 E,32523 ;C(E) WAS CLOBBERED
|
|
6522 034363 321 13 0 00 034351 JUMPL AC+2,F32520 ;LOOP ON ERROR SWITCH^
|
|
6523
|
|
6524 003253 ADR=ADR+1
|
|
6525 777377 777777 XX=XX+XX+1
|
|
6526 IFE <XX-1>,<XX=-2>
|
|
6527
|
|
6528 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6529 001000 000001 V1=XX*XX
|
|
6530 IFE <XX&1B1>,<V2A=1>
|
|
6531 000000 IFN <XX&1B1>,<V2A=0>
|
|
6532 400000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6533 IFG XX,<V2=XX-1>
|
|
6534 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6535 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6536 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6537 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6538 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6539
|
|
6540 777377 777777 F32530: AA1=XX ;INITIAL C(AC)
|
|
6541 034364 200 11 0 00 045151 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6542 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6543 034365 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6544 777377 777777 AEE=XX ;INITIAL C(E)
|
|
6545 034366 200 07 0 00 045151 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6546 034367 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6547 400000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6548 034370 312 11 0 00 044700 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6549 034371 003 11 0 00 032531 ER3 AC,32531 ;HIGH PRODUCT FAILED
|
|
6550 001000 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6551 034372 312 12 0 00 045152 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6552 034373 004 12 0 00 032532 ER4 AC+1,32532 ;LOW PRODUCT FAILED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-17
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0138
|
|
|
|
6553 777377 777777 AEE=XX ;INITIAL C(E)
|
|
6554 034374 312 07 0 00 045151 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6555 034375 005 07 0 00 032533 ER5 E,32533 ;C(E) WAS CLOBBERED
|
|
6556 034376 321 13 0 00 034364 JUMPL AC+2,F32530 ;LOOP ON ERROR SWITCH^
|
|
6557
|
|
6558 003254 ADR=ADR+1
|
|
6559 776777 777777 XX=XX+XX+1
|
|
6560 IFE <XX-1>,<XX=-2>
|
|
6561
|
|
6562 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6563 002000 000001 V1=XX*XX
|
|
6564 IFE <XX&1B1>,<V2A=1>
|
|
6565 000000 IFN <XX&1B1>,<V2A=0>
|
|
6566 000002 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6567 IFG XX,<V2=XX-1>
|
|
6568 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6569 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6570 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6571 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6572 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6573
|
|
6574 776777 777777 F32540: AA1=XX ;INITIAL C(AC)
|
|
6575 034377 200 11 0 00 045153 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6576 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6577 034400 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6578 776777 777777 AEE=XX ;INITIAL C(E)
|
|
6579 034401 200 07 0 00 045153 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6580 034402 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6581 000002 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6582 034403 312 11 0 00 044706 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6583 034404 003 11 0 00 032541 ER3 AC,32541 ;HIGH PRODUCT FAILED
|
|
6584 002000 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6585 034405 312 12 0 00 045154 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6586 034406 004 12 0 00 032542 ER4 AC+1,32542 ;LOW PRODUCT FAILED
|
|
6587 776777 777777 AEE=XX ;INITIAL C(E)
|
|
6588 034407 312 07 0 00 045153 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6589 034410 005 07 0 00 032543 ER5 E,32543 ;C(E) WAS CLOBBERED
|
|
6590 034411 321 13 0 00 034377 JUMPL AC+2,F32540 ;LOOP ON ERROR SWITCH^
|
|
6591
|
|
6592 003255 ADR=ADR+1
|
|
6593 775777 777777 XX=XX+XX+1
|
|
6594 IFE <XX-1>,<XX=-2>
|
|
6595
|
|
6596 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6597 004000 000001 V1=XX*XX
|
|
6598 IFE <XX&1B1>,<V2A=1>
|
|
6599 000000 IFN <XX&1B1>,<V2A=0>
|
|
6600 000010 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6601 IFG XX,<V2=XX-1>
|
|
6602 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6603 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6604 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6605 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6606 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6607
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-18
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0139
|
|
|
|
6608 775777 777777 F32550: AA1=XX ;INITIAL C(AC)
|
|
6609 034412 200 11 0 00 045155 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6610 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6611 034413 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6612 775777 777777 AEE=XX ;INITIAL C(E)
|
|
6613 034414 200 07 0 00 045155 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6614 034415 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6615 000010 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6616 034416 312 11 0 00 044714 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6617 034417 003 11 0 00 032551 ER3 AC,32551 ;HIGH PRODUCT FAILED
|
|
6618 004000 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6619 034420 312 12 0 00 045156 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6620 034421 004 12 0 00 032552 ER4 AC+1,32552 ;LOW PRODUCT FAILED
|
|
6621 775777 777777 AEE=XX ;INITIAL C(E)
|
|
6622 034422 312 07 0 00 045155 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6623 034423 005 07 0 00 032553 ER5 E,32553 ;C(E) WAS CLOBBERED
|
|
6624 034424 321 13 0 00 034412 JUMPL AC+2,F32550 ;LOOP ON ERROR SWITCH^
|
|
6625
|
|
6626 003256 ADR=ADR+1
|
|
6627 773777 777777 XX=XX+XX+1
|
|
6628 IFE <XX-1>,<XX=-2>
|
|
6629
|
|
6630 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6631 010000 000001 V1=XX*XX
|
|
6632 IFE <XX&1B1>,<V2A=1>
|
|
6633 000000 IFN <XX&1B1>,<V2A=0>
|
|
6634 000040 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6635 IFG XX,<V2=XX-1>
|
|
6636 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6637 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6638 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6639 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6640 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6641
|
|
6642 773777 777777 F32560: AA1=XX ;INITIAL C(AC)
|
|
6643 034425 200 11 0 00 045157 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6644 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6645 034426 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6646 773777 777777 AEE=XX ;INITIAL C(E)
|
|
6647 034427 200 07 0 00 045157 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6648 034430 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6649 000040 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6650 034431 312 11 0 00 044722 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6651 034432 003 11 0 00 032561 ER3 AC,32561 ;HIGH PRODUCT FAILED
|
|
6652 010000 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6653 034433 312 12 0 00 045160 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6654 034434 004 12 0 00 032562 ER4 AC+1,32562 ;LOW PRODUCT FAILED
|
|
6655 773777 777777 AEE=XX ;INITIAL C(E)
|
|
6656 034435 312 07 0 00 045157 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6657 034436 005 07 0 00 032563 ER5 E,32563 ;C(E) WAS CLOBBERED
|
|
6658 034437 321 13 0 00 034425 JUMPL AC+2,F32560 ;LOOP ON ERROR SWITCH^
|
|
6659
|
|
6660 003257 ADR=ADR+1
|
|
6661 767777 777777 XX=XX+XX+1
|
|
6662 IFE <XX-1>,<XX=-2>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-19
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0140
|
|
|
|
6663
|
|
6664 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6665 020000 000001 V1=XX*XX
|
|
6666 IFE <XX&1B1>,<V2A=1>
|
|
6667 000000 IFN <XX&1B1>,<V2A=0>
|
|
6668 000200 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6669 IFG XX,<V2=XX-1>
|
|
6670 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6671 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6672 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6673 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6674 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6675
|
|
6676 767777 777777 F32570: AA1=XX ;INITIAL C(AC)
|
|
6677 034440 200 11 0 00 045161 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6678 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6679 034441 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6680 767777 777777 AEE=XX ;INITIAL C(E)
|
|
6681 034442 200 07 0 00 045161 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6682 034443 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6683 000200 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6684 034444 312 11 0 00 044730 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6685 034445 003 11 0 00 032571 ER3 AC,32571 ;HIGH PRODUCT FAILED
|
|
6686 020000 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6687 034446 312 12 0 00 045162 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6688 034447 004 12 0 00 032572 ER4 AC+1,32572 ;LOW PRODUCT FAILED
|
|
6689 767777 777777 AEE=XX ;INITIAL C(E)
|
|
6690 034450 312 07 0 00 045161 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6691 034451 005 07 0 00 032573 ER5 E,32573 ;C(E) WAS CLOBBERED
|
|
6692 034452 321 13 0 00 034440 JUMPL AC+2,F32570 ;LOOP ON ERROR SWITCH^
|
|
6693
|
|
6694 003260 ADR=ADR+1
|
|
6695 757777 777777 XX=XX+XX+1
|
|
6696 IFE <XX-1>,<XX=-2>
|
|
6697
|
|
6698 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6699 040000 000001 V1=XX*XX
|
|
6700 IFE <XX&1B1>,<V2A=1>
|
|
6701 000000 IFN <XX&1B1>,<V2A=0>
|
|
6702 001000 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6703 IFG XX,<V2=XX-1>
|
|
6704 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6705 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6706 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6707 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6708 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6709
|
|
6710 757777 777777 F32600: AA1=XX ;INITIAL C(AC)
|
|
6711 034453 200 11 0 00 045163 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6712 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6713 034454 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6714 757777 777777 AEE=XX ;INITIAL C(E)
|
|
6715 034455 200 07 0 00 045163 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6716 034456 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6717 001000 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-20
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0141
|
|
|
|
6718 034457 312 11 0 00 044736 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6719 034460 003 11 0 00 032601 ER3 AC,32601 ;HIGH PRODUCT FAILED
|
|
6720 040000 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6721 034461 312 12 0 00 045164 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6722 034462 004 12 0 00 032602 ER4 AC+1,32602 ;LOW PRODUCT FAILED
|
|
6723 757777 777777 AEE=XX ;INITIAL C(E)
|
|
6724 034463 312 07 0 00 045163 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6725 034464 005 07 0 00 032603 ER5 E,32603 ;C(E) WAS CLOBBERED
|
|
6726 034465 321 13 0 00 034453 JUMPL AC+2,F32600 ;LOOP ON ERROR SWITCH^
|
|
6727
|
|
6728 003261 ADR=ADR+1
|
|
6729 737777 777777 XX=XX+XX+1
|
|
6730 IFE <XX-1>,<XX=-2>
|
|
6731
|
|
6732 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6733 100000 000001 V1=XX*XX
|
|
6734 IFE <XX&1B1>,<V2A=1>
|
|
6735 000000 IFN <XX&1B1>,<V2A=0>
|
|
6736 004000 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6737 IFG XX,<V2=XX-1>
|
|
6738 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6739 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6740 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6741 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6742 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6743
|
|
6744 737777 777777 F32610: AA1=XX ;INITIAL C(AC)
|
|
6745 034466 200 11 0 00 045165 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6746 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6747 034467 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6748 737777 777777 AEE=XX ;INITIAL C(E)
|
|
6749 034470 200 07 0 00 045165 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6750 034471 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6751 004000 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6752 034472 312 11 0 00 044744 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6753 034473 003 11 0 00 032611 ER3 AC,32611 ;HIGH PRODUCT FAILED
|
|
6754 100000 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6755 034474 312 12 0 00 045166 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6756 034475 004 12 0 00 032612 ER4 AC+1,32612 ;LOW PRODUCT FAILED
|
|
6757 737777 777777 AEE=XX ;INITIAL C(E)
|
|
6758 034476 312 07 0 00 045165 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6759 034477 005 07 0 00 032613 ER5 E,32613 ;C(E) WAS CLOBBERED
|
|
6760 034500 321 13 0 00 034466 JUMPL AC+2,F32610 ;LOOP ON ERROR SWITCH^
|
|
6761
|
|
6762 003262 ADR=ADR+1
|
|
6763 677777 777777 XX=XX+XX+1
|
|
6764 IFE <XX-1>,<XX=-2>
|
|
6765
|
|
6766 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6767 200000 000001 V1=XX*XX
|
|
6768 IFE <XX&1B1>,<V2A=1>
|
|
6769 000000 IFN <XX&1B1>,<V2A=0>
|
|
6770 020000 000000 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6771 IFG XX,<V2=XX-1>
|
|
6772 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-21
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0142
|
|
|
|
6773 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6774 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6775 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6776 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6777
|
|
6778 677777 777777 F32620: AA1=XX ;INITIAL C(AC)
|
|
6779 034501 200 11 0 00 045167 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6780 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6781 034502 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6782 677777 777777 AEE=XX ;INITIAL C(E)
|
|
6783 034503 200 07 0 00 045167 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6784 034504 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6785 020000 000000 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6786 034505 312 11 0 00 044752 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6787 034506 003 11 0 00 032621 ER3 AC,32621 ;HIGH PRODUCT FAILED
|
|
6788 200000 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6789 034507 312 12 0 00 045170 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6790 034510 004 12 0 00 032622 ER4 AC+1,32622 ;LOW PRODUCT FAILED
|
|
6791 677777 777777 AEE=XX ;INITIAL C(E)
|
|
6792 034511 312 07 0 00 045167 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6793 034512 005 07 0 00 032623 ER5 E,32623 ;C(E) WAS CLOBBERED
|
|
6794 034513 321 13 0 00 034501 JUMPL AC+2,F32620 ;LOOP ON ERROR SWITCH^
|
|
6795
|
|
6796 003263 ADR=ADR+1
|
|
6797 577777 777777 XX=XX+XX+1
|
|
6798 IFE <XX-1>,<XX=-2>
|
|
6799
|
|
6800 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6801 000001 V1=XX*XX
|
|
6802 000001 IFE <XX&1B1>,<V2A=1>
|
|
6803 IFN <XX&1B1>,<V2A=0>
|
|
6804 100000 000001 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6805 IFG XX,<V2=XX-1>
|
|
6806 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6807 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6808 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6809 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6810 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6811
|
|
6812 577777 777777 F32630: AA1=XX ;INITIAL C(AC)
|
|
6813 034514 200 11 0 00 045171 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6814 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6815 034515 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6816 577777 777777 AEE=XX ;INITIAL C(E)
|
|
6817 034516 200 07 0 00 045171 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6818 034517 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6819 100000 000001 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6820 034520 312 11 0 00 045166 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6821 034521 003 11 0 00 032631 ER3 AC,32631 ;HIGH PRODUCT FAILED
|
|
6822 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6823 034522 312 12 0 00 044616 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6824 034523 004 12 0 00 032632 ER4 AC+1,32632 ;LOW PRODUCT FAILED
|
|
6825 577777 777777 AEE=XX ;INITIAL C(E)
|
|
6826 034524 312 07 0 00 045171 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6827 034525 005 07 0 00 032633 ER5 E,32633 ;C(E) WAS CLOBBERED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 7-22
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0143
|
|
|
|
6828 034526 321 13 0 00 034514 JUMPL AC+2,F32630 ;LOOP ON ERROR SWITCH^
|
|
6829
|
|
6830 003264 ADR=ADR+1
|
|
6831 377777 777777 XX=XX+XX+1
|
|
6832 IFE <XX-1>,<XX=-2>
|
|
6833
|
|
6834 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
|
|
6835 000001 V1=XX*XX
|
|
6836 IFE <XX&1B1>,<V2A=1>
|
|
6837 000000 IFN <XX&1B1>,<V2A=0>
|
|
6838 IFL XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
|
|
6839 377777 777776 IFG XX,<V2=XX-1>
|
|
6840 MOP1 (\ADR,XX,-1,XX,V2,V1)^
|
|
6841 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
|
|
6842 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6843 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6844 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6845
|
|
6846 377777 777777 F32640: AA1=XX ;INITIAL C(AC)
|
|
6847 034527 200 11 0 00 045172 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
6848 777777 777777 AA2=-1 ;INITIAL C(AC+1)
|
|
6849 034530 200 12 0 00 044617 MOVE AC+1,[-1] ;PRELOAD AC+1
|
|
6850 377777 777777 AEE=XX ;INITIAL C(E)
|
|
6851 034531 200 07 0 00 045172 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6852 034532 224 11 0 00 000007 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6853 377777 777776 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6854 034533 312 11 0 00 045173 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6855 034534 003 11 0 00 032641 ER3 AC,32641 ;HIGH PRODUCT FAILED
|
|
6856 000001 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6857 034535 312 12 0 00 044616 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6858 034536 004 12 0 00 032642 ER4 AC+1,32642 ;LOW PRODUCT FAILED
|
|
6859 377777 777777 AEE=XX ;INITIAL C(E)
|
|
6860 034537 312 07 0 00 045172 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6861 034540 005 07 0 00 032643 ER5 E,32643 ;C(E) WAS CLOBBERED
|
|
6862 034541 321 13 0 00 034527 JUMPL AC+2,F32640 ;LOOP ON ERROR SWITCH^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0144
|
|
|
|
6863 000010 AC=10
|
|
6864 000006 E=<AC-2>&17
|
|
6865 SAVEAC (1,1)^
|
|
6866 034542 201 12 0 00 034542 MOVEI AC+2,. ;SAVE TEST PC
|
|
6867 034543 202 12 0 00 030051 MOVEM AC+2,TESTPC
|
|
6868 034544 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
6869 034545 202 12 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
6870 000000 XX=0
|
|
6871 000000 YY=0
|
|
6872
|
|
6873 REPEAT ^D36,<
|
|
6874 ADR=ADR+1
|
|
6875 XX=XX+XX
|
|
6876 YY=YY+YY+1
|
|
6877 IFE XX,<XX=1>
|
|
6878 IFE <YY-1>,<YY=-2>
|
|
6879
|
|
6880 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
6881 V1=XX*YY
|
|
6882 IFE <XX_-22>,<V2A=-1>
|
|
6883 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
6884 IFG XX,<V2=V2A>
|
|
6885 IFL XX,<V2=XX+1>
|
|
6886 MOP1 (\ADR,YY,0,XX,V2,V1)>
|
|
6887
|
|
6888 003265 ADR=ADR+1
|
|
6889 000000 XX=XX+XX
|
|
6890 000001 YY=YY+YY+1
|
|
6891 000001 IFE XX,<XX=1>
|
|
6892 777777 777776 IFE <YY-1>,<YY=-2>
|
|
6893
|
|
6894 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
6895 777777 777776 V1=XX*YY
|
|
6896 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
6897 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
6898 777777 777777 IFG XX,<V2=V2A>
|
|
6899 IFL XX,<V2=XX+1>
|
|
6900 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
6901 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
6902 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6903 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6904 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6905
|
|
6906 777777 777776 F32650: AA1=YY ;INITIAL C(AC)
|
|
6907 034546 200 10 0 00 044621 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
6908 000000 AA2=0 ;INITIAL C(AC+1)
|
|
6909 034547 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
6910 000001 AEE=XX ;INITIAL C(E)
|
|
6911 034550 200 06 0 00 044616 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6912 034551 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6913 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6914 034552 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6915 034553 003 10 0 00 032651 ER3 AC,32651 ;HIGH PRODUCT FAILED
|
|
6916 777777 777776 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6917 034554 312 11 0 00 044621 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-1
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0145
|
|
|
|
6918 034555 004 11 0 00 032652 ER4 AC+1,32652 ;LOW PRODUCT FAILED
|
|
6919 000001 AEE=XX ;INITIAL C(E)
|
|
6920 034556 312 06 0 00 044616 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6921 034557 005 06 0 00 032653 ER5 E,32653 ;C(E) WAS CLOBBERED
|
|
6922 034560 321 12 0 00 034546 JUMPL AC+2,F32650 ;LOOP ON ERROR SWITCH^
|
|
6923
|
|
6924 003266 ADR=ADR+1
|
|
6925 000002 XX=XX+XX
|
|
6926 777777 777775 YY=YY+YY+1
|
|
6927 IFE XX,<XX=1>
|
|
6928 IFE <YY-1>,<YY=-2>
|
|
6929
|
|
6930 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
6931 777777 777772 V1=XX*YY
|
|
6932 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
6933 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
6934 777777 777777 IFG XX,<V2=V2A>
|
|
6935 IFL XX,<V2=XX+1>
|
|
6936 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
6937 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
6938 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6939 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6940 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6941
|
|
6942 777777 777775 F32660: AA1=YY ;INITIAL C(AC)
|
|
6943 034561 200 10 0 00 044624 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
6944 000000 AA2=0 ;INITIAL C(AC+1)
|
|
6945 034562 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
6946 000002 AEE=XX ;INITIAL C(E)
|
|
6947 034563 200 06 0 00 044620 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6948 034564 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6949 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6950 034565 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6951 034566 003 10 0 00 032661 ER3 AC,32661 ;HIGH PRODUCT FAILED
|
|
6952 777777 777772 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6953 034567 312 11 0 00 044627 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6954 034570 004 11 0 00 032662 ER4 AC+1,32662 ;LOW PRODUCT FAILED
|
|
6955 000002 AEE=XX ;INITIAL C(E)
|
|
6956 034571 312 06 0 00 044620 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6957 034572 005 06 0 00 032663 ER5 E,32663 ;C(E) WAS CLOBBERED
|
|
6958 034573 321 12 0 00 034561 JUMPL AC+2,F32660 ;LOOP ON ERROR SWITCH^
|
|
6959
|
|
6960 003267 ADR=ADR+1
|
|
6961 000004 XX=XX+XX
|
|
6962 777777 777773 YY=YY+YY+1
|
|
6963 IFE XX,<XX=1>
|
|
6964 IFE <YY-1>,<YY=-2>
|
|
6965
|
|
6966 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
6967 777777 777754 V1=XX*YY
|
|
6968 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
6969 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
6970 777777 777777 IFG XX,<V2=V2A>
|
|
6971 IFL XX,<V2=XX+1>
|
|
6972 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-2
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0146
|
|
|
|
6973 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
6974 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
6975 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
6976 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
6977
|
|
6978 777777 777773 F32670: AA1=YY ;INITIAL C(AC)
|
|
6979 034574 200 10 0 00 045071 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
6980 000000 AA2=0 ;INITIAL C(AC+1)
|
|
6981 034575 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
6982 000004 AEE=XX ;INITIAL C(E)
|
|
6983 034576 200 06 0 00 044623 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
6984 034577 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
6985 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
6986 034600 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
6987 034601 003 10 0 00 032671 ER3 AC,32671 ;HIGH PRODUCT FAILED
|
|
6988 777777 777754 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
6989 034602 312 11 0 00 045174 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
6990 034603 004 11 0 00 032672 ER4 AC+1,32672 ;LOW PRODUCT FAILED
|
|
6991 000004 AEE=XX ;INITIAL C(E)
|
|
6992 034604 312 06 0 00 044623 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
6993 034605 005 06 0 00 032673 ER5 E,32673 ;C(E) WAS CLOBBERED
|
|
6994 034606 321 12 0 00 034574 JUMPL AC+2,F32670 ;LOOP ON ERROR SWITCH^
|
|
6995
|
|
6996 003270 ADR=ADR+1
|
|
6997 000010 XX=XX+XX
|
|
6998 777777 777767 YY=YY+YY+1
|
|
6999 IFE XX,<XX=1>
|
|
7000 IFE <YY-1>,<YY=-2>
|
|
7001
|
|
7002 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7003 777777 777670 V1=XX*YY
|
|
7004 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
7005 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7006 777777 777777 IFG XX,<V2=V2A>
|
|
7007 IFL XX,<V2=XX+1>
|
|
7008 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7009 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7010 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7011 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7012 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7013
|
|
7014 777777 777767 F32700: AA1=YY ;INITIAL C(AC)
|
|
7015 034607 200 10 0 00 045073 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7016 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7017 034610 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7018 000010 AEE=XX ;INITIAL C(E)
|
|
7019 034611 200 06 0 00 044626 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7020 034612 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7021 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7022 034613 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7023 034614 003 10 0 00 032701 ER3 AC,32701 ;HIGH PRODUCT FAILED
|
|
7024 777777 777670 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7025 034615 312 11 0 00 045175 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7026 034616 004 11 0 00 032702 ER4 AC+1,32702 ;LOW PRODUCT FAILED
|
|
7027 000010 AEE=XX ;INITIAL C(E)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-3
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0147
|
|
|
|
7028 034617 312 06 0 00 044626 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7029 034620 005 06 0 00 032703 ER5 E,32703 ;C(E) WAS CLOBBERED
|
|
7030 034621 321 12 0 00 034607 JUMPL AC+2,F32700 ;LOOP ON ERROR SWITCH^
|
|
7031
|
|
7032 003271 ADR=ADR+1
|
|
7033 000020 XX=XX+XX
|
|
7034 777777 777757 YY=YY+YY+1
|
|
7035 IFE XX,<XX=1>
|
|
7036 IFE <YY-1>,<YY=-2>
|
|
7037
|
|
7038 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7039 777777 777360 V1=XX*YY
|
|
7040 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
7041 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7042 777777 777777 IFG XX,<V2=V2A>
|
|
7043 IFL XX,<V2=XX+1>
|
|
7044 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7045 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7046 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7047 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7048 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7049
|
|
7050 777777 777757 F32710: AA1=YY ;INITIAL C(AC)
|
|
7051 034622 200 10 0 00 045075 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7052 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7053 034623 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7054 000020 AEE=XX ;INITIAL C(E)
|
|
7055 034624 200 06 0 00 044631 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7056 034625 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7057 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7058 034626 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7059 034627 003 10 0 00 032711 ER3 AC,32711 ;HIGH PRODUCT FAILED
|
|
7060 777777 777360 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7061 034630 312 11 0 00 045176 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7062 034631 004 11 0 00 032712 ER4 AC+1,32712 ;LOW PRODUCT FAILED
|
|
7063 000020 AEE=XX ;INITIAL C(E)
|
|
7064 034632 312 06 0 00 044631 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7065 034633 005 06 0 00 032713 ER5 E,32713 ;C(E) WAS CLOBBERED
|
|
7066 034634 321 12 0 00 034622 JUMPL AC+2,F32710 ;LOOP ON ERROR SWITCH^
|
|
7067
|
|
7068 003272 ADR=ADR+1
|
|
7069 000040 XX=XX+XX
|
|
7070 777777 777737 YY=YY+YY+1
|
|
7071 IFE XX,<XX=1>
|
|
7072 IFE <YY-1>,<YY=-2>
|
|
7073
|
|
7074 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7075 777777 775740 V1=XX*YY
|
|
7076 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
7077 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7078 777777 777777 IFG XX,<V2=V2A>
|
|
7079 IFL XX,<V2=XX+1>
|
|
7080 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7081 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7082 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-4
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0148
|
|
|
|
7083 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7084 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7085
|
|
7086 777777 777737 F32720: AA1=YY ;INITIAL C(AC)
|
|
7087 034635 200 10 0 00 045077 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7088 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7089 034636 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7090 000040 AEE=XX ;INITIAL C(E)
|
|
7091 034637 200 06 0 00 044634 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7092 034640 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7093 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7094 034641 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7095 034642 003 10 0 00 032721 ER3 AC,32721 ;HIGH PRODUCT FAILED
|
|
7096 777777 775740 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7097 034643 312 11 0 00 045177 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7098 034644 004 11 0 00 032722 ER4 AC+1,32722 ;LOW PRODUCT FAILED
|
|
7099 000040 AEE=XX ;INITIAL C(E)
|
|
7100 034645 312 06 0 00 044634 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7101 034646 005 06 0 00 032723 ER5 E,32723 ;C(E) WAS CLOBBERED
|
|
7102 034647 321 12 0 00 034635 JUMPL AC+2,F32720 ;LOOP ON ERROR SWITCH^
|
|
7103
|
|
7104 003273 ADR=ADR+1
|
|
7105 000100 XX=XX+XX
|
|
7106 777777 777677 YY=YY+YY+1
|
|
7107 IFE XX,<XX=1>
|
|
7108 IFE <YY-1>,<YY=-2>
|
|
7109
|
|
7110 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7111 777777 767700 V1=XX*YY
|
|
7112 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
7113 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7114 777777 777777 IFG XX,<V2=V2A>
|
|
7115 IFL XX,<V2=XX+1>
|
|
7116 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7117 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7118 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7119 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7120 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7121
|
|
7122 777777 777677 F32730: AA1=YY ;INITIAL C(AC)
|
|
7123 034650 200 10 0 00 045101 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7124 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7125 034651 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7126 000100 AEE=XX ;INITIAL C(E)
|
|
7127 034652 200 06 0 00 044637 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7128 034653 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7129 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7130 034654 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7131 034655 003 10 0 00 032731 ER3 AC,32731 ;HIGH PRODUCT FAILED
|
|
7132 777777 767700 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7133 034656 312 11 0 00 045200 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7134 034657 004 11 0 00 032732 ER4 AC+1,32732 ;LOW PRODUCT FAILED
|
|
7135 000100 AEE=XX ;INITIAL C(E)
|
|
7136 034660 312 06 0 00 044637 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7137 034661 005 06 0 00 032733 ER5 E,32733 ;C(E) WAS CLOBBERED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-5
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0149
|
|
|
|
7138 034662 321 12 0 00 034650 JUMPL AC+2,F32730 ;LOOP ON ERROR SWITCH^
|
|
7139
|
|
7140 003274 ADR=ADR+1
|
|
7141 000200 XX=XX+XX
|
|
7142 777777 777577 YY=YY+YY+1
|
|
7143 IFE XX,<XX=1>
|
|
7144 IFE <YY-1>,<YY=-2>
|
|
7145
|
|
7146 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7147 777777 737600 V1=XX*YY
|
|
7148 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
7149 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7150 777777 777777 IFG XX,<V2=V2A>
|
|
7151 IFL XX,<V2=XX+1>
|
|
7152 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7153 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7154 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7155 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7156 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7157
|
|
7158 777777 777577 F32740: AA1=YY ;INITIAL C(AC)
|
|
7159 034663 200 10 0 00 045103 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7160 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7161 034664 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7162 000200 AEE=XX ;INITIAL C(E)
|
|
7163 034665 200 06 0 00 044642 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7164 034666 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7165 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7166 034667 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7167 034670 003 10 0 00 032741 ER3 AC,32741 ;HIGH PRODUCT FAILED
|
|
7168 777777 737600 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7169 034671 312 11 0 00 045201 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7170 034672 004 11 0 00 032742 ER4 AC+1,32742 ;LOW PRODUCT FAILED
|
|
7171 000200 AEE=XX ;INITIAL C(E)
|
|
7172 034673 312 06 0 00 044642 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7173 034674 005 06 0 00 032743 ER5 E,32743 ;C(E) WAS CLOBBERED
|
|
7174 034675 321 12 0 00 034663 JUMPL AC+2,F32740 ;LOOP ON ERROR SWITCH^
|
|
7175
|
|
7176 003275 ADR=ADR+1
|
|
7177 000400 XX=XX+XX
|
|
7178 777777 777377 YY=YY+YY+1
|
|
7179 IFE XX,<XX=1>
|
|
7180 IFE <YY-1>,<YY=-2>
|
|
7181
|
|
7182 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7183 777777 577400 V1=XX*YY
|
|
7184 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
7185 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7186 777777 777777 IFG XX,<V2=V2A>
|
|
7187 IFL XX,<V2=XX+1>
|
|
7188 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7189 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7190 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7191 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7192 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-6
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0150
|
|
|
|
7193
|
|
7194 777777 777377 F32750: AA1=YY ;INITIAL C(AC)
|
|
7195 034676 200 10 0 00 045105 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7196 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7197 034677 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7198 000400 AEE=XX ;INITIAL C(E)
|
|
7199 034700 200 06 0 00 044645 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7200 034701 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7201 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7202 034702 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7203 034703 003 10 0 00 032751 ER3 AC,32751 ;HIGH PRODUCT FAILED
|
|
7204 777777 577400 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7205 034704 312 11 0 00 045202 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7206 034705 004 11 0 00 032752 ER4 AC+1,32752 ;LOW PRODUCT FAILED
|
|
7207 000400 AEE=XX ;INITIAL C(E)
|
|
7208 034706 312 06 0 00 044645 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7209 034707 005 06 0 00 032753 ER5 E,32753 ;C(E) WAS CLOBBERED
|
|
7210 034710 321 12 0 00 034676 JUMPL AC+2,F32750 ;LOOP ON ERROR SWITCH^
|
|
7211
|
|
7212 003276 ADR=ADR+1
|
|
7213 001000 XX=XX+XX
|
|
7214 777777 776777 YY=YY+YY+1
|
|
7215 IFE XX,<XX=1>
|
|
7216 IFE <YY-1>,<YY=-2>
|
|
7217
|
|
7218 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7219 777776 777000 V1=XX*YY
|
|
7220 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
7221 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7222 777777 777777 IFG XX,<V2=V2A>
|
|
7223 IFL XX,<V2=XX+1>
|
|
7224 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7225 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7226 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7227 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7228 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7229
|
|
7230 777777 776777 F32760: AA1=YY ;INITIAL C(AC)
|
|
7231 034711 200 10 0 00 045107 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7232 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7233 034712 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7234 001000 AEE=XX ;INITIAL C(E)
|
|
7235 034713 200 06 0 00 044650 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7236 034714 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7237 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7238 034715 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7239 034716 003 10 0 00 032761 ER3 AC,32761 ;HIGH PRODUCT FAILED
|
|
7240 777776 777000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7241 034717 312 11 0 00 045203 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7242 034720 004 11 0 00 032762 ER4 AC+1,32762 ;LOW PRODUCT FAILED
|
|
7243 001000 AEE=XX ;INITIAL C(E)
|
|
7244 034721 312 06 0 00 044650 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7245 034722 005 06 0 00 032763 ER5 E,32763 ;C(E) WAS CLOBBERED
|
|
7246 034723 321 12 0 00 034711 JUMPL AC+2,F32760 ;LOOP ON ERROR SWITCH^
|
|
7247
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-7
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0151
|
|
|
|
7248 003277 ADR=ADR+1
|
|
7249 002000 XX=XX+XX
|
|
7250 777777 775777 YY=YY+YY+1
|
|
7251 IFE XX,<XX=1>
|
|
7252 IFE <YY-1>,<YY=-2>
|
|
7253
|
|
7254 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7255 777773 776000 V1=XX*YY
|
|
7256 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
7257 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7258 777777 777777 IFG XX,<V2=V2A>
|
|
7259 IFL XX,<V2=XX+1>
|
|
7260 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7261 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7262 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7263 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7264 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7265
|
|
7266 777777 775777 F32770: AA1=YY ;INITIAL C(AC)
|
|
7267 034724 200 10 0 00 045111 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7268 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7269 034725 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7270 002000 AEE=XX ;INITIAL C(E)
|
|
7271 034726 200 06 0 00 044653 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7272 034727 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7273 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7274 034730 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7275 034731 003 10 0 00 032771 ER3 AC,32771 ;HIGH PRODUCT FAILED
|
|
7276 777773 776000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7277 034732 312 11 0 00 045204 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7278 034733 004 11 0 00 032772 ER4 AC+1,32772 ;LOW PRODUCT FAILED
|
|
7279 002000 AEE=XX ;INITIAL C(E)
|
|
7280 034734 312 06 0 00 044653 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7281 034735 005 06 0 00 032773 ER5 E,32773 ;C(E) WAS CLOBBERED
|
|
7282 034736 321 12 0 00 034724 JUMPL AC+2,F32770 ;LOOP ON ERROR SWITCH^
|
|
7283
|
|
7284 003300 ADR=ADR+1
|
|
7285 004000 XX=XX+XX
|
|
7286 777777 773777 YY=YY+YY+1
|
|
7287 IFE XX,<XX=1>
|
|
7288 IFE <YY-1>,<YY=-2>
|
|
7289
|
|
7290 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7291 777757 774000 V1=XX*YY
|
|
7292 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
7293 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7294 777777 777777 IFG XX,<V2=V2A>
|
|
7295 IFL XX,<V2=XX+1>
|
|
7296 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7297 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7298 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7299 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7300 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7301
|
|
7302 777777 773777 F33000: AA1=YY ;INITIAL C(AC)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-8
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0152
|
|
|
|
7303 034737 200 10 0 00 045113 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7304 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7305 034740 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7306 004000 AEE=XX ;INITIAL C(E)
|
|
7307 034741 200 06 0 00 044656 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7308 034742 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7309 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7310 034743 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7311 034744 003 10 0 00 033001 ER3 AC,33001 ;HIGH PRODUCT FAILED
|
|
7312 777757 774000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7313 034745 312 11 0 00 045205 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7314 034746 004 11 0 00 033002 ER4 AC+1,33002 ;LOW PRODUCT FAILED
|
|
7315 004000 AEE=XX ;INITIAL C(E)
|
|
7316 034747 312 06 0 00 044656 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7317 034750 005 06 0 00 033003 ER5 E,33003 ;C(E) WAS CLOBBERED
|
|
7318 034751 321 12 0 00 034737 JUMPL AC+2,F33000 ;LOOP ON ERROR SWITCH^
|
|
7319
|
|
7320 003301 ADR=ADR+1
|
|
7321 010000 XX=XX+XX
|
|
7322 777777 767777 YY=YY+YY+1
|
|
7323 IFE XX,<XX=1>
|
|
7324 IFE <YY-1>,<YY=-2>
|
|
7325
|
|
7326 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7327 777677 770000 V1=XX*YY
|
|
7328 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
7329 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7330 777777 777777 IFG XX,<V2=V2A>
|
|
7331 IFL XX,<V2=XX+1>
|
|
7332 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7333 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7334 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7335 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7336 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7337
|
|
7338 777777 767777 F33010: AA1=YY ;INITIAL C(AC)
|
|
7339 034752 200 10 0 00 045115 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7340 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7341 034753 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7342 010000 AEE=XX ;INITIAL C(E)
|
|
7343 034754 200 06 0 00 044661 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7344 034755 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7345 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7346 034756 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7347 034757 003 10 0 00 033011 ER3 AC,33011 ;HIGH PRODUCT FAILED
|
|
7348 777677 770000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7349 034760 312 11 0 00 045206 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7350 034761 004 11 0 00 033012 ER4 AC+1,33012 ;LOW PRODUCT FAILED
|
|
7351 010000 AEE=XX ;INITIAL C(E)
|
|
7352 034762 312 06 0 00 044661 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7353 034763 005 06 0 00 033013 ER5 E,33013 ;C(E) WAS CLOBBERED
|
|
7354 034764 321 12 0 00 034752 JUMPL AC+2,F33010 ;LOOP ON ERROR SWITCH^
|
|
7355
|
|
7356 003302 ADR=ADR+1
|
|
7357 020000 XX=XX+XX
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-9
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0153
|
|
|
|
7358 777777 757777 YY=YY+YY+1
|
|
7359 IFE XX,<XX=1>
|
|
7360 IFE <YY-1>,<YY=-2>
|
|
7361
|
|
7362 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7363 777377 760000 V1=XX*YY
|
|
7364 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
7365 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7366 777777 777777 IFG XX,<V2=V2A>
|
|
7367 IFL XX,<V2=XX+1>
|
|
7368 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7369 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7370 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7371 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7372 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7373
|
|
7374 777777 757777 F33020: AA1=YY ;INITIAL C(AC)
|
|
7375 034765 200 10 0 00 045117 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7376 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7377 034766 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7378 020000 AEE=XX ;INITIAL C(E)
|
|
7379 034767 200 06 0 00 044664 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7380 034770 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7381 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7382 034771 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7383 034772 003 10 0 00 033021 ER3 AC,33021 ;HIGH PRODUCT FAILED
|
|
7384 777377 760000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7385 034773 312 11 0 00 045207 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7386 034774 004 11 0 00 033022 ER4 AC+1,33022 ;LOW PRODUCT FAILED
|
|
7387 020000 AEE=XX ;INITIAL C(E)
|
|
7388 034775 312 06 0 00 044664 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7389 034776 005 06 0 00 033023 ER5 E,33023 ;C(E) WAS CLOBBERED
|
|
7390 034777 321 12 0 00 034765 JUMPL AC+2,F33020 ;LOOP ON ERROR SWITCH^
|
|
7391
|
|
7392 003303 ADR=ADR+1
|
|
7393 040000 XX=XX+XX
|
|
7394 777777 737777 YY=YY+YY+1
|
|
7395 IFE XX,<XX=1>
|
|
7396 IFE <YY-1>,<YY=-2>
|
|
7397
|
|
7398 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7399 775777 740000 V1=XX*YY
|
|
7400 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
7401 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7402 777777 777777 IFG XX,<V2=V2A>
|
|
7403 IFL XX,<V2=XX+1>
|
|
7404 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7405 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7406 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7407 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7408 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7409
|
|
7410 777777 737777 F33030: AA1=YY ;INITIAL C(AC)
|
|
7411 035000 200 10 0 00 045121 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7412 000000 AA2=0 ;INITIAL C(AC+1)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-10
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0154
|
|
|
|
7413 035001 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7414 040000 AEE=XX ;INITIAL C(E)
|
|
7415 035002 200 06 0 00 044667 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7416 035003 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7417 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7418 035004 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7419 035005 003 10 0 00 033031 ER3 AC,33031 ;HIGH PRODUCT FAILED
|
|
7420 775777 740000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7421 035006 312 11 0 00 045210 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7422 035007 004 11 0 00 033032 ER4 AC+1,33032 ;LOW PRODUCT FAILED
|
|
7423 040000 AEE=XX ;INITIAL C(E)
|
|
7424 035010 312 06 0 00 044667 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7425 035011 005 06 0 00 033033 ER5 E,33033 ;C(E) WAS CLOBBERED
|
|
7426 035012 321 12 0 00 035000 JUMPL AC+2,F33030 ;LOOP ON ERROR SWITCH^
|
|
7427
|
|
7428 003304 ADR=ADR+1
|
|
7429 100000 XX=XX+XX
|
|
7430 777777 677777 YY=YY+YY+1
|
|
7431 IFE XX,<XX=1>
|
|
7432 IFE <YY-1>,<YY=-2>
|
|
7433
|
|
7434 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7435 767777 700000 V1=XX*YY
|
|
7436 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
7437 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7438 777777 777777 IFG XX,<V2=V2A>
|
|
7439 IFL XX,<V2=XX+1>
|
|
7440 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7441 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7442 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7443 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7444 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7445
|
|
7446 777777 677777 F33040: AA1=YY ;INITIAL C(AC)
|
|
7447 035013 200 10 0 00 045123 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7448 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7449 035014 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7450 100000 AEE=XX ;INITIAL C(E)
|
|
7451 035015 200 06 0 00 044672 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7452 035016 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7453 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7454 035017 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7455 035020 003 10 0 00 033041 ER3 AC,33041 ;HIGH PRODUCT FAILED
|
|
7456 767777 700000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7457 035021 312 11 0 00 045211 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7458 035022 004 11 0 00 033042 ER4 AC+1,33042 ;LOW PRODUCT FAILED
|
|
7459 100000 AEE=XX ;INITIAL C(E)
|
|
7460 035023 312 06 0 00 044672 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7461 035024 005 06 0 00 033043 ER5 E,33043 ;C(E) WAS CLOBBERED
|
|
7462 035025 321 12 0 00 035013 JUMPL AC+2,F33040 ;LOOP ON ERROR SWITCH^
|
|
7463
|
|
7464 003305 ADR=ADR+1
|
|
7465 200000 XX=XX+XX
|
|
7466 777777 577777 YY=YY+YY+1
|
|
7467 IFE XX,<XX=1>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-11
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0155
|
|
|
|
7468 IFE <YY-1>,<YY=-2>
|
|
7469
|
|
7470 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7471 737777 600000 V1=XX*YY
|
|
7472 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
7473 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7474 777777 777777 IFG XX,<V2=V2A>
|
|
7475 IFL XX,<V2=XX+1>
|
|
7476 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7477 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7478 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7479 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7480 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7481
|
|
7482 777777 577777 F33050: AA1=YY ;INITIAL C(AC)
|
|
7483 035026 200 10 0 00 045125 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7484 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7485 035027 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7486 200000 AEE=XX ;INITIAL C(E)
|
|
7487 035030 200 06 0 00 044675 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7488 035031 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7489 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7490 035032 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7491 035033 003 10 0 00 033051 ER3 AC,33051 ;HIGH PRODUCT FAILED
|
|
7492 737777 600000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7493 035034 312 11 0 00 045212 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7494 035035 004 11 0 00 033052 ER4 AC+1,33052 ;LOW PRODUCT FAILED
|
|
7495 200000 AEE=XX ;INITIAL C(E)
|
|
7496 035036 312 06 0 00 044675 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7497 035037 005 06 0 00 033053 ER5 E,33053 ;C(E) WAS CLOBBERED
|
|
7498 035040 321 12 0 00 035026 JUMPL AC+2,F33050 ;LOOP ON ERROR SWITCH^
|
|
7499
|
|
7500 003306 ADR=ADR+1
|
|
7501 400000 XX=XX+XX
|
|
7502 777777 377777 YY=YY+YY+1
|
|
7503 IFE XX,<XX=1>
|
|
7504 IFE <YY-1>,<YY=-2>
|
|
7505
|
|
7506 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7507 577777 400000 V1=XX*YY
|
|
7508 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
7509 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7510 777777 777777 IFG XX,<V2=V2A>
|
|
7511 IFL XX,<V2=XX+1>
|
|
7512 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7513 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7514 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7515 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7516 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7517
|
|
7518 777777 377777 F33060: AA1=YY ;INITIAL C(AC)
|
|
7519 035041 200 10 0 00 045127 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7520 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7521 035042 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7522 400000 AEE=XX ;INITIAL C(E)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-12
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0156
|
|
|
|
7523 035043 200 06 0 00 044700 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7524 035044 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7525 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7526 035045 312 10 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7527 035046 003 10 0 00 033061 ER3 AC,33061 ;HIGH PRODUCT FAILED
|
|
7528 577777 400000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7529 035047 312 11 0 00 045213 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7530 035050 004 11 0 00 033062 ER4 AC+1,33062 ;LOW PRODUCT FAILED
|
|
7531 400000 AEE=XX ;INITIAL C(E)
|
|
7532 035051 312 06 0 00 044700 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7533 035052 005 06 0 00 033063 ER5 E,33063 ;C(E) WAS CLOBBERED
|
|
7534 035053 321 12 0 00 035041 JUMPL AC+2,F33060 ;LOOP ON ERROR SWITCH^
|
|
7535
|
|
7536 003307 ADR=ADR+1
|
|
7537 000001 000000 XX=XX+XX
|
|
7538 777776 777777 YY=YY+YY+1
|
|
7539 IFE XX,<XX=1>
|
|
7540 IFE <YY-1>,<YY=-2>
|
|
7541
|
|
7542 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7543 777777 000000 V1=XX*YY
|
|
7544 IFE <XX_-22>,<V2A=-1>
|
|
7545 777777 777775 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7546 777777 777775 IFG XX,<V2=V2A>
|
|
7547 IFL XX,<V2=XX+1>
|
|
7548 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7549 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7550 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7551 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7552 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7553
|
|
7554 777776 777777 F33070: AA1=YY ;INITIAL C(AC)
|
|
7555 035054 200 10 0 00 045131 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7556 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7557 035055 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7558 000001 000000 AEE=XX ;INITIAL C(E)
|
|
7559 035056 200 06 0 00 044703 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7560 035057 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7561 777777 777775 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7562 035060 312 10 0 00 044624 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7563 035061 003 10 0 00 033071 ER3 AC,33071 ;HIGH PRODUCT FAILED
|
|
7564 777777 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7565 035062 312 11 0 00 045214 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7566 035063 004 11 0 00 033072 ER4 AC+1,33072 ;LOW PRODUCT FAILED
|
|
7567 000001 000000 AEE=XX ;INITIAL C(E)
|
|
7568 035064 312 06 0 00 044703 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7569 035065 005 06 0 00 033073 ER5 E,33073 ;C(E) WAS CLOBBERED
|
|
7570 035066 321 12 0 00 035054 JUMPL AC+2,F33070 ;LOOP ON ERROR SWITCH^
|
|
7571
|
|
7572 003310 ADR=ADR+1
|
|
7573 000002 000000 XX=XX+XX
|
|
7574 777775 777777 YY=YY+YY+1
|
|
7575 IFE XX,<XX=1>
|
|
7576 IFE <YY-1>,<YY=-2>
|
|
7577
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-13
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0157
|
|
|
|
7578 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7579 777776 000000 V1=XX*YY
|
|
7580 IFE <XX_-22>,<V2A=-1>
|
|
7581 777777 777767 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7582 777777 777767 IFG XX,<V2=V2A>
|
|
7583 IFL XX,<V2=XX+1>
|
|
7584 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7585 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7586 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7587 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7588 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7589
|
|
7590 777775 777777 F33100: AA1=YY ;INITIAL C(AC)
|
|
7591 035067 200 10 0 00 045133 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7592 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7593 035070 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7594 000002 000000 AEE=XX ;INITIAL C(E)
|
|
7595 035071 200 06 0 00 044706 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7596 035072 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7597 777777 777767 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7598 035073 312 10 0 00 045073 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7599 035074 003 10 0 00 033101 ER3 AC,33101 ;HIGH PRODUCT FAILED
|
|
7600 777776 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7601 035075 312 11 0 00 045215 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7602 035076 004 11 0 00 033102 ER4 AC+1,33102 ;LOW PRODUCT FAILED
|
|
7603 000002 000000 AEE=XX ;INITIAL C(E)
|
|
7604 035077 312 06 0 00 044706 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7605 035100 005 06 0 00 033103 ER5 E,33103 ;C(E) WAS CLOBBERED
|
|
7606 035101 321 12 0 00 035067 JUMPL AC+2,F33100 ;LOOP ON ERROR SWITCH^
|
|
7607
|
|
7608 003311 ADR=ADR+1
|
|
7609 000004 000000 XX=XX+XX
|
|
7610 777773 777777 YY=YY+YY+1
|
|
7611 IFE XX,<XX=1>
|
|
7612 IFE <YY-1>,<YY=-2>
|
|
7613
|
|
7614 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7615 777774 000000 V1=XX*YY
|
|
7616 IFE <XX_-22>,<V2A=-1>
|
|
7617 777777 777737 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7618 777777 777737 IFG XX,<V2=V2A>
|
|
7619 IFL XX,<V2=XX+1>
|
|
7620 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7621 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7622 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7623 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7624 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7625
|
|
7626 777773 777777 F33110: AA1=YY ;INITIAL C(AC)
|
|
7627 035102 200 10 0 00 045135 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7628 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7629 035103 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7630 000004 000000 AEE=XX ;INITIAL C(E)
|
|
7631 035104 200 06 0 00 044711 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7632 035105 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-14
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0158
|
|
|
|
7633 777777 777737 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7634 035106 312 10 0 00 045077 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7635 035107 003 10 0 00 033111 ER3 AC,33111 ;HIGH PRODUCT FAILED
|
|
7636 777774 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7637 035110 312 11 0 00 045216 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7638 035111 004 11 0 00 033112 ER4 AC+1,33112 ;LOW PRODUCT FAILED
|
|
7639 000004 000000 AEE=XX ;INITIAL C(E)
|
|
7640 035112 312 06 0 00 044711 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7641 035113 005 06 0 00 033113 ER5 E,33113 ;C(E) WAS CLOBBERED
|
|
7642 035114 321 12 0 00 035102 JUMPL AC+2,F33110 ;LOOP ON ERROR SWITCH^
|
|
7643
|
|
7644 003312 ADR=ADR+1
|
|
7645 000010 000000 XX=XX+XX
|
|
7646 777767 777777 YY=YY+YY+1
|
|
7647 IFE XX,<XX=1>
|
|
7648 IFE <YY-1>,<YY=-2>
|
|
7649
|
|
7650 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7651 777770 000000 V1=XX*YY
|
|
7652 IFE <XX_-22>,<V2A=-1>
|
|
7653 777777 777577 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7654 777777 777577 IFG XX,<V2=V2A>
|
|
7655 IFL XX,<V2=XX+1>
|
|
7656 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7657 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7658 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7659 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7660 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7661
|
|
7662 777767 777777 F33120: AA1=YY ;INITIAL C(AC)
|
|
7663 035115 200 10 0 00 045137 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7664 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7665 035116 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7666 000010 000000 AEE=XX ;INITIAL C(E)
|
|
7667 035117 200 06 0 00 044714 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7668 035120 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7669 777777 777577 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7670 035121 312 10 0 00 045103 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7671 035122 003 10 0 00 033121 ER3 AC,33121 ;HIGH PRODUCT FAILED
|
|
7672 777770 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7673 035123 312 11 0 00 045217 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7674 035124 004 11 0 00 033122 ER4 AC+1,33122 ;LOW PRODUCT FAILED
|
|
7675 000010 000000 AEE=XX ;INITIAL C(E)
|
|
7676 035125 312 06 0 00 044714 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7677 035126 005 06 0 00 033123 ER5 E,33123 ;C(E) WAS CLOBBERED
|
|
7678 035127 321 12 0 00 035115 JUMPL AC+2,F33120 ;LOOP ON ERROR SWITCH^
|
|
7679
|
|
7680 003313 ADR=ADR+1
|
|
7681 000020 000000 XX=XX+XX
|
|
7682 777757 777777 YY=YY+YY+1
|
|
7683 IFE XX,<XX=1>
|
|
7684 IFE <YY-1>,<YY=-2>
|
|
7685
|
|
7686 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7687 777760 000000 V1=XX*YY
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-15
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0159
|
|
|
|
7688 IFE <XX_-22>,<V2A=-1>
|
|
7689 777777 776777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7690 777777 776777 IFG XX,<V2=V2A>
|
|
7691 IFL XX,<V2=XX+1>
|
|
7692 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7693 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7694 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7695 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7696 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7697
|
|
7698 777757 777777 F33130: AA1=YY ;INITIAL C(AC)
|
|
7699 035130 200 10 0 00 045141 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7700 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7701 035131 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7702 000020 000000 AEE=XX ;INITIAL C(E)
|
|
7703 035132 200 06 0 00 044717 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7704 035133 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7705 777777 776777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7706 035134 312 10 0 00 045107 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7707 035135 003 10 0 00 033131 ER3 AC,33131 ;HIGH PRODUCT FAILED
|
|
7708 777760 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7709 035136 312 11 0 00 045220 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7710 035137 004 11 0 00 033132 ER4 AC+1,33132 ;LOW PRODUCT FAILED
|
|
7711 000020 000000 AEE=XX ;INITIAL C(E)
|
|
7712 035140 312 06 0 00 044717 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7713 035141 005 06 0 00 033133 ER5 E,33133 ;C(E) WAS CLOBBERED
|
|
7714 035142 321 12 0 00 035130 JUMPL AC+2,F33130 ;LOOP ON ERROR SWITCH^
|
|
7715
|
|
7716 003314 ADR=ADR+1
|
|
7717 000040 000000 XX=XX+XX
|
|
7718 777737 777777 YY=YY+YY+1
|
|
7719 IFE XX,<XX=1>
|
|
7720 IFE <YY-1>,<YY=-2>
|
|
7721
|
|
7722 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7723 777740 000000 V1=XX*YY
|
|
7724 IFE <XX_-22>,<V2A=-1>
|
|
7725 777777 773777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7726 777777 773777 IFG XX,<V2=V2A>
|
|
7727 IFL XX,<V2=XX+1>
|
|
7728 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7729 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7730 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7731 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7732 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7733
|
|
7734 777737 777777 F33140: AA1=YY ;INITIAL C(AC)
|
|
7735 035143 200 10 0 00 045143 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7736 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7737 035144 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7738 000040 000000 AEE=XX ;INITIAL C(E)
|
|
7739 035145 200 06 0 00 044722 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7740 035146 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7741 777777 773777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7742 035147 312 10 0 00 045113 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-16
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0160
|
|
|
|
7743 035150 003 10 0 00 033141 ER3 AC,33141 ;HIGH PRODUCT FAILED
|
|
7744 777740 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7745 035151 312 11 0 00 045221 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7746 035152 004 11 0 00 033142 ER4 AC+1,33142 ;LOW PRODUCT FAILED
|
|
7747 000040 000000 AEE=XX ;INITIAL C(E)
|
|
7748 035153 312 06 0 00 044722 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7749 035154 005 06 0 00 033143 ER5 E,33143 ;C(E) WAS CLOBBERED
|
|
7750 035155 321 12 0 00 035143 JUMPL AC+2,F33140 ;LOOP ON ERROR SWITCH^
|
|
7751
|
|
7752 003315 ADR=ADR+1
|
|
7753 000100 000000 XX=XX+XX
|
|
7754 777677 777777 YY=YY+YY+1
|
|
7755 IFE XX,<XX=1>
|
|
7756 IFE <YY-1>,<YY=-2>
|
|
7757
|
|
7758 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7759 777700 000000 V1=XX*YY
|
|
7760 IFE <XX_-22>,<V2A=-1>
|
|
7761 777777 757777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7762 777777 757777 IFG XX,<V2=V2A>
|
|
7763 IFL XX,<V2=XX+1>
|
|
7764 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7765 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7766 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7767 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7768 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7769
|
|
7770 777677 777777 F33150: AA1=YY ;INITIAL C(AC)
|
|
7771 035156 200 10 0 00 045145 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7772 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7773 035157 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7774 000100 000000 AEE=XX ;INITIAL C(E)
|
|
7775 035160 200 06 0 00 044725 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7776 035161 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7777 777777 757777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7778 035162 312 10 0 00 045117 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7779 035163 003 10 0 00 033151 ER3 AC,33151 ;HIGH PRODUCT FAILED
|
|
7780 777700 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7781 035164 312 11 0 00 045222 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7782 035165 004 11 0 00 033152 ER4 AC+1,33152 ;LOW PRODUCT FAILED
|
|
7783 000100 000000 AEE=XX ;INITIAL C(E)
|
|
7784 035166 312 06 0 00 044725 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7785 035167 005 06 0 00 033153 ER5 E,33153 ;C(E) WAS CLOBBERED
|
|
7786 035170 321 12 0 00 035156 JUMPL AC+2,F33150 ;LOOP ON ERROR SWITCH^
|
|
7787
|
|
7788 003316 ADR=ADR+1
|
|
7789 000200 000000 XX=XX+XX
|
|
7790 777577 777777 YY=YY+YY+1
|
|
7791 IFE XX,<XX=1>
|
|
7792 IFE <YY-1>,<YY=-2>
|
|
7793
|
|
7794 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7795 777600 000000 V1=XX*YY
|
|
7796 IFE <XX_-22>,<V2A=-1>
|
|
7797 777777 677777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-17
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0161
|
|
|
|
7798 777777 677777 IFG XX,<V2=V2A>
|
|
7799 IFL XX,<V2=XX+1>
|
|
7800 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7801 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7802 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7803 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7804 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7805
|
|
7806 777577 777777 F33160: AA1=YY ;INITIAL C(AC)
|
|
7807 035171 200 10 0 00 045147 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7808 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7809 035172 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7810 000200 000000 AEE=XX ;INITIAL C(E)
|
|
7811 035173 200 06 0 00 044730 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7812 035174 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7813 777777 677777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7814 035175 312 10 0 00 045123 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7815 035176 003 10 0 00 033161 ER3 AC,33161 ;HIGH PRODUCT FAILED
|
|
7816 777600 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7817 035177 312 11 0 00 045223 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7818 035200 004 11 0 00 033162 ER4 AC+1,33162 ;LOW PRODUCT FAILED
|
|
7819 000200 000000 AEE=XX ;INITIAL C(E)
|
|
7820 035201 312 06 0 00 044730 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7821 035202 005 06 0 00 033163 ER5 E,33163 ;C(E) WAS CLOBBERED
|
|
7822 035203 321 12 0 00 035171 JUMPL AC+2,F33160 ;LOOP ON ERROR SWITCH^
|
|
7823
|
|
7824 003317 ADR=ADR+1
|
|
7825 000400 000000 XX=XX+XX
|
|
7826 777377 777777 YY=YY+YY+1
|
|
7827 IFE XX,<XX=1>
|
|
7828 IFE <YY-1>,<YY=-2>
|
|
7829
|
|
7830 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7831 777400 000000 V1=XX*YY
|
|
7832 IFE <XX_-22>,<V2A=-1>
|
|
7833 777777 377777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7834 777777 377777 IFG XX,<V2=V2A>
|
|
7835 IFL XX,<V2=XX+1>
|
|
7836 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7837 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7838 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7839 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7840 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7841
|
|
7842 777377 777777 F33170: AA1=YY ;INITIAL C(AC)
|
|
7843 035204 200 10 0 00 045151 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7844 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7845 035205 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7846 000400 000000 AEE=XX ;INITIAL C(E)
|
|
7847 035206 200 06 0 00 044733 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7848 035207 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7849 777777 377777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7850 035210 312 10 0 00 045127 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7851 035211 003 10 0 00 033171 ER3 AC,33171 ;HIGH PRODUCT FAILED
|
|
7852 777400 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-18
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0162
|
|
|
|
7853 035212 312 11 0 00 045224 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7854 035213 004 11 0 00 033172 ER4 AC+1,33172 ;LOW PRODUCT FAILED
|
|
7855 000400 000000 AEE=XX ;INITIAL C(E)
|
|
7856 035214 312 06 0 00 044733 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7857 035215 005 06 0 00 033173 ER5 E,33173 ;C(E) WAS CLOBBERED
|
|
7858 035216 321 12 0 00 035204 JUMPL AC+2,F33170 ;LOOP ON ERROR SWITCH^
|
|
7859
|
|
7860 003320 ADR=ADR+1
|
|
7861 001000 000000 XX=XX+XX
|
|
7862 776777 777777 YY=YY+YY+1
|
|
7863 IFE XX,<XX=1>
|
|
7864 IFE <YY-1>,<YY=-2>
|
|
7865
|
|
7866 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7867 777000 000000 V1=XX*YY
|
|
7868 IFE <XX_-22>,<V2A=-1>
|
|
7869 777775 777777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7870 777775 777777 IFG XX,<V2=V2A>
|
|
7871 IFL XX,<V2=XX+1>
|
|
7872 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7873 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7874 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7875 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7876 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7877
|
|
7878 776777 777777 F33200: AA1=YY ;INITIAL C(AC)
|
|
7879 035217 200 10 0 00 045153 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7880 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7881 035220 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7882 001000 000000 AEE=XX ;INITIAL C(E)
|
|
7883 035221 200 06 0 00 044736 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7884 035222 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7885 777775 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7886 035223 312 10 0 00 045133 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7887 035224 003 10 0 00 033201 ER3 AC,33201 ;HIGH PRODUCT FAILED
|
|
7888 777000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7889 035225 312 11 0 00 045225 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7890 035226 004 11 0 00 033202 ER4 AC+1,33202 ;LOW PRODUCT FAILED
|
|
7891 001000 000000 AEE=XX ;INITIAL C(E)
|
|
7892 035227 312 06 0 00 044736 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7893 035230 005 06 0 00 033203 ER5 E,33203 ;C(E) WAS CLOBBERED
|
|
7894 035231 321 12 0 00 035217 JUMPL AC+2,F33200 ;LOOP ON ERROR SWITCH^
|
|
7895
|
|
7896 003321 ADR=ADR+1
|
|
7897 002000 000000 XX=XX+XX
|
|
7898 775777 777777 YY=YY+YY+1
|
|
7899 IFE XX,<XX=1>
|
|
7900 IFE <YY-1>,<YY=-2>
|
|
7901
|
|
7902 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7903 776000 000000 V1=XX*YY
|
|
7904 IFE <XX_-22>,<V2A=-1>
|
|
7905 777767 777777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7906 777767 777777 IFG XX,<V2=V2A>
|
|
7907 IFL XX,<V2=XX+1>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-19
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0163
|
|
|
|
7908 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7909 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7910 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7911 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7912 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7913
|
|
7914 775777 777777 F33210: AA1=YY ;INITIAL C(AC)
|
|
7915 035232 200 10 0 00 045155 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7916 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7917 035233 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7918 002000 000000 AEE=XX ;INITIAL C(E)
|
|
7919 035234 200 06 0 00 044741 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7920 035235 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7921 777767 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7922 035236 312 10 0 00 045137 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7923 035237 003 10 0 00 033211 ER3 AC,33211 ;HIGH PRODUCT FAILED
|
|
7924 776000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7925 035240 312 11 0 00 045226 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7926 035241 004 11 0 00 033212 ER4 AC+1,33212 ;LOW PRODUCT FAILED
|
|
7927 002000 000000 AEE=XX ;INITIAL C(E)
|
|
7928 035242 312 06 0 00 044741 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7929 035243 005 06 0 00 033213 ER5 E,33213 ;C(E) WAS CLOBBERED
|
|
7930 035244 321 12 0 00 035232 JUMPL AC+2,F33210 ;LOOP ON ERROR SWITCH^
|
|
7931
|
|
7932 003322 ADR=ADR+1
|
|
7933 004000 000000 XX=XX+XX
|
|
7934 773777 777777 YY=YY+YY+1
|
|
7935 IFE XX,<XX=1>
|
|
7936 IFE <YY-1>,<YY=-2>
|
|
7937
|
|
7938 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7939 774000 000000 V1=XX*YY
|
|
7940 IFE <XX_-22>,<V2A=-1>
|
|
7941 777737 777777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7942 777737 777777 IFG XX,<V2=V2A>
|
|
7943 IFL XX,<V2=XX+1>
|
|
7944 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7945 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7946 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7947 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7948 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7949
|
|
7950 773777 777777 F33220: AA1=YY ;INITIAL C(AC)
|
|
7951 035245 200 10 0 00 045157 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7952 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7953 035246 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7954 004000 000000 AEE=XX ;INITIAL C(E)
|
|
7955 035247 200 06 0 00 044744 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7956 035250 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7957 777737 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7958 035251 312 10 0 00 045143 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7959 035252 003 10 0 00 033221 ER3 AC,33221 ;HIGH PRODUCT FAILED
|
|
7960 774000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7961 035253 312 11 0 00 045227 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7962 035254 004 11 0 00 033222 ER4 AC+1,33222 ;LOW PRODUCT FAILED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-20
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0164
|
|
|
|
7963 004000 000000 AEE=XX ;INITIAL C(E)
|
|
7964 035255 312 06 0 00 044744 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
7965 035256 005 06 0 00 033223 ER5 E,33223 ;C(E) WAS CLOBBERED
|
|
7966 035257 321 12 0 00 035245 JUMPL AC+2,F33220 ;LOOP ON ERROR SWITCH^
|
|
7967
|
|
7968 003323 ADR=ADR+1
|
|
7969 010000 000000 XX=XX+XX
|
|
7970 767777 777777 YY=YY+YY+1
|
|
7971 IFE XX,<XX=1>
|
|
7972 IFE <YY-1>,<YY=-2>
|
|
7973
|
|
7974 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
7975 770000 000000 V1=XX*YY
|
|
7976 IFE <XX_-22>,<V2A=-1>
|
|
7977 777577 777777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
7978 777577 777777 IFG XX,<V2=V2A>
|
|
7979 IFL XX,<V2=XX+1>
|
|
7980 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
7981 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
7982 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
7983 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
7984 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
7985
|
|
7986 767777 777777 F33230: AA1=YY ;INITIAL C(AC)
|
|
7987 035260 200 10 0 00 045161 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
7988 000000 AA2=0 ;INITIAL C(AC+1)
|
|
7989 035261 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
7990 010000 000000 AEE=XX ;INITIAL C(E)
|
|
7991 035262 200 06 0 00 044747 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
7992 035263 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
7993 777577 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
7994 035264 312 10 0 00 045147 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
7995 035265 003 10 0 00 033231 ER3 AC,33231 ;HIGH PRODUCT FAILED
|
|
7996 770000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
7997 035266 312 11 0 00 045230 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
7998 035267 004 11 0 00 033232 ER4 AC+1,33232 ;LOW PRODUCT FAILED
|
|
7999 010000 000000 AEE=XX ;INITIAL C(E)
|
|
8000 035270 312 06 0 00 044747 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
8001 035271 005 06 0 00 033233 ER5 E,33233 ;C(E) WAS CLOBBERED
|
|
8002 035272 321 12 0 00 035260 JUMPL AC+2,F33230 ;LOOP ON ERROR SWITCH^
|
|
8003
|
|
8004 003324 ADR=ADR+1
|
|
8005 020000 000000 XX=XX+XX
|
|
8006 757777 777777 YY=YY+YY+1
|
|
8007 IFE XX,<XX=1>
|
|
8008 IFE <YY-1>,<YY=-2>
|
|
8009
|
|
8010 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
8011 760000 000000 V1=XX*YY
|
|
8012 IFE <XX_-22>,<V2A=-1>
|
|
8013 776777 777777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8014 776777 777777 IFG XX,<V2=V2A>
|
|
8015 IFL XX,<V2=XX+1>
|
|
8016 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
8017 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-21
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0165
|
|
|
|
8018 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8019 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
8020 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8021
|
|
8022 757777 777777 F33240: AA1=YY ;INITIAL C(AC)
|
|
8023 035273 200 10 0 00 045163 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
8024 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8025 035274 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8026 020000 000000 AEE=XX ;INITIAL C(E)
|
|
8027 035275 200 06 0 00 044752 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
8028 035276 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8029 776777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8030 035277 312 10 0 00 045153 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8031 035300 003 10 0 00 033241 ER3 AC,33241 ;HIGH PRODUCT FAILED
|
|
8032 760000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8033 035301 312 11 0 00 045231 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8034 035302 004 11 0 00 033242 ER4 AC+1,33242 ;LOW PRODUCT FAILED
|
|
8035 020000 000000 AEE=XX ;INITIAL C(E)
|
|
8036 035303 312 06 0 00 044752 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
8037 035304 005 06 0 00 033243 ER5 E,33243 ;C(E) WAS CLOBBERED
|
|
8038 035305 321 12 0 00 035273 JUMPL AC+2,F33240 ;LOOP ON ERROR SWITCH^
|
|
8039
|
|
8040 003325 ADR=ADR+1
|
|
8041 040000 000000 XX=XX+XX
|
|
8042 737777 777777 YY=YY+YY+1
|
|
8043 IFE XX,<XX=1>
|
|
8044 IFE <YY-1>,<YY=-2>
|
|
8045
|
|
8046 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
8047 740000 000000 V1=XX*YY
|
|
8048 IFE <XX_-22>,<V2A=-1>
|
|
8049 773777 777777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8050 773777 777777 IFG XX,<V2=V2A>
|
|
8051 IFL XX,<V2=XX+1>
|
|
8052 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
8053 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
8054 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8055 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
8056 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8057
|
|
8058 737777 777777 F33250: AA1=YY ;INITIAL C(AC)
|
|
8059 035306 200 10 0 00 045165 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
8060 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8061 035307 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8062 040000 000000 AEE=XX ;INITIAL C(E)
|
|
8063 035310 200 06 0 00 044755 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
8064 035311 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8065 773777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8066 035312 312 10 0 00 045157 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8067 035313 003 10 0 00 033251 ER3 AC,33251 ;HIGH PRODUCT FAILED
|
|
8068 740000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8069 035314 312 11 0 00 045232 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8070 035315 004 11 0 00 033252 ER4 AC+1,33252 ;LOW PRODUCT FAILED
|
|
8071 040000 000000 AEE=XX ;INITIAL C(E)
|
|
8072 035316 312 06 0 00 044755 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-22
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0166
|
|
|
|
8073 035317 005 06 0 00 033253 ER5 E,33253 ;C(E) WAS CLOBBERED
|
|
8074 035320 321 12 0 00 035306 JUMPL AC+2,F33250 ;LOOP ON ERROR SWITCH^
|
|
8075
|
|
8076 003326 ADR=ADR+1
|
|
8077 100000 000000 XX=XX+XX
|
|
8078 677777 777777 YY=YY+YY+1
|
|
8079 IFE XX,<XX=1>
|
|
8080 IFE <YY-1>,<YY=-2>
|
|
8081
|
|
8082 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
8083 700000 000000 V1=XX*YY
|
|
8084 IFE <XX_-22>,<V2A=-1>
|
|
8085 757777 777777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8086 757777 777777 IFG XX,<V2=V2A>
|
|
8087 IFL XX,<V2=XX+1>
|
|
8088 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
8089 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
8090 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8091 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
8092 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8093
|
|
8094 677777 777777 F33260: AA1=YY ;INITIAL C(AC)
|
|
8095 035321 200 10 0 00 045167 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
8096 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8097 035322 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8098 100000 000000 AEE=XX ;INITIAL C(E)
|
|
8099 035323 200 06 0 00 044760 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
8100 035324 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8101 757777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8102 035325 312 10 0 00 045163 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8103 035326 003 10 0 00 033261 ER3 AC,33261 ;HIGH PRODUCT FAILED
|
|
8104 700000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8105 035327 312 11 0 00 045233 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8106 035330 004 11 0 00 033262 ER4 AC+1,33262 ;LOW PRODUCT FAILED
|
|
8107 100000 000000 AEE=XX ;INITIAL C(E)
|
|
8108 035331 312 06 0 00 044760 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
8109 035332 005 06 0 00 033263 ER5 E,33263 ;C(E) WAS CLOBBERED
|
|
8110 035333 321 12 0 00 035321 JUMPL AC+2,F33260 ;LOOP ON ERROR SWITCH^
|
|
8111
|
|
8112 003327 ADR=ADR+1
|
|
8113 200000 000000 XX=XX+XX
|
|
8114 577777 777777 YY=YY+YY+1
|
|
8115 IFE XX,<XX=1>
|
|
8116 IFE <YY-1>,<YY=-2>
|
|
8117
|
|
8118 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
8119 600000 000000 V1=XX*YY
|
|
8120 IFE <XX_-22>,<V2A=-1>
|
|
8121 677777 777777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8122 677777 777777 IFG XX,<V2=V2A>
|
|
8123 IFL XX,<V2=XX+1>
|
|
8124 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
8125 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
8126 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8127 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8-23
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0167
|
|
|
|
8128 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8129
|
|
8130 577777 777777 F33270: AA1=YY ;INITIAL C(AC)
|
|
8131 035334 200 10 0 00 045171 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
8132 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8133 035335 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8134 200000 000000 AEE=XX ;INITIAL C(E)
|
|
8135 035336 200 06 0 00 044763 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
8136 035337 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8137 677777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8138 035340 312 10 0 00 045167 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8139 035341 003 10 0 00 033271 ER3 AC,33271 ;HIGH PRODUCT FAILED
|
|
8140 600000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8141 035342 312 11 0 00 044762 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8142 035343 004 11 0 00 033272 ER4 AC+1,33272 ;LOW PRODUCT FAILED
|
|
8143 200000 000000 AEE=XX ;INITIAL C(E)
|
|
8144 035344 312 06 0 00 044763 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
8145 035345 005 06 0 00 033273 ER5 E,33273 ;C(E) WAS CLOBBERED
|
|
8146 035346 321 12 0 00 035334 JUMPL AC+2,F33270 ;LOOP ON ERROR SWITCH^
|
|
8147
|
|
8148 003330 ADR=ADR+1
|
|
8149 400000 000000 XX=XX+XX
|
|
8150 377777 777777 YY=YY+YY+1
|
|
8151 IFE XX,<XX=1>
|
|
8152 IFE <YY-1>,<YY=-2>
|
|
8153
|
|
8154 ;MULTIPLY A FLOATING 1 BY A FLOATING 0
|
|
8155 400000 000000 V1=XX*YY
|
|
8156 IFE <XX_-22>,<V2A=-1>
|
|
8157 777777 777777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8158 IFG XX,<V2=V2A>
|
|
8159 400000 000001 IFL XX,<V2=XX+1>
|
|
8160 MOP1 (\ADR,YY,0,XX,V2,V1)^
|
|
8161 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
|
|
8162 ;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8163 ;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
|
|
8164 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8165
|
|
8166 377777 777777 F33300: AA1=YY ;INITIAL C(AC)
|
|
8167 035347 200 10 0 00 045172 MOVE AC,[YY] ;PRELOAD AC (MULTIPLIER)
|
|
8168 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8169 035350 200 11 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8170 400000 000000 AEE=XX ;INITIAL C(E)
|
|
8171 035351 200 06 0 00 044765 MOVE E,[XX] ;PRELOAD E (MULTIPLICAND)
|
|
8172 035352 224 10 0 00 000006 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8173 400000 000001 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8174 035353 312 10 0 00 045234 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8175 035354 003 10 0 00 033301 ER3 AC,33301 ;HIGH PRODUCT FAILED
|
|
8176 400000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8177 035355 312 11 0 00 044765 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8178 035356 004 11 0 00 033302 ER4 AC+1,33302 ;LOW PRODUCT FAILED
|
|
8179 400000 000000 AEE=XX ;INITIAL C(E)
|
|
8180 035357 312 06 0 00 044765 CAME E,[XX] ;WAS C(E) CLOBBERED?
|
|
8181 035360 005 06 0 00 033303 ER5 E,33303 ;C(E) WAS CLOBBERED
|
|
8182 035361 321 12 0 00 035347 JUMPL AC+2,F33300 ;LOOP ON ERROR SWITCH^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0168
|
|
|
|
8183 000007 AC=7
|
|
8184 000005 E=<AC-2>&17
|
|
8185 SAVEAC (1,1)^
|
|
8186 035362 201 11 0 00 035362 MOVEI AC+2,. ;SAVE TEST PC
|
|
8187 035363 202 11 0 00 030051 MOVEM AC+2,TESTPC
|
|
8188 035364 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
8189 035365 202 11 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
8190 000000 XX=0
|
|
8191 000000 YY=0
|
|
8192
|
|
8193 REPEAT ^D35,< ;LAST CASE DIFFERENT
|
|
8194 ADR=ADR+1
|
|
8195 XX=XX+XX
|
|
8196 YY=YY+YY+1
|
|
8197 IFE XX,<XX=1>
|
|
8198 IFE <YY-1>,<YY=-2>
|
|
8199
|
|
8200 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8201 V1=XX*YY
|
|
8202 IFE <XX_-22>,<V2A=-1>
|
|
8203 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8204 IFG XX,<V2=V2A>
|
|
8205 IFL XX,<V2=XX+1>
|
|
8206 MOP1 (\ADR,XX,0,YY,V2,V1)>
|
|
8207 ;LAST CASE DIFFERENT
|
|
8208 003331 ADR=ADR+1
|
|
8209 000000 XX=XX+XX
|
|
8210 000001 YY=YY+YY+1
|
|
8211 000001 IFE XX,<XX=1>
|
|
8212 777777 777776 IFE <YY-1>,<YY=-2>
|
|
8213
|
|
8214 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8215 777777 777776 V1=XX*YY
|
|
8216 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8217 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8218 777777 777777 IFG XX,<V2=V2A>
|
|
8219 IFL XX,<V2=XX+1>
|
|
8220 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8221 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8222 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8223 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8224 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8225
|
|
8226 000001 F33310: AA1=XX ;INITIAL C(AC)
|
|
8227 035366 200 07 0 00 044616 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8228 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8229 035367 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8230 777777 777776 AEE=YY ;INITIAL C(E)
|
|
8231 035370 200 05 0 00 044621 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8232 035371 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8233 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8234 035372 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8235 035373 003 07 0 00 033311 ER3 AC,33311 ;HIGH PRODUCT FAILED
|
|
8236 777777 777776 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8237 035374 312 10 0 00 044621 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-1
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0169
|
|
|
|
8238 035375 004 10 0 00 033312 ER4 AC+1,33312 ;LOW PRODUCT FAILED
|
|
8239 777777 777776 AEE=YY ;INITIAL C(E)
|
|
8240 035376 312 05 0 00 044621 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8241 035377 005 05 0 00 033313 ER5 E,33313 ;C(E) WAS CLOBBERED
|
|
8242 035400 321 11 0 00 035366 JUMPL AC+2,F33310 ;LOOP ON ERROR SWITCH^
|
|
8243 ;LAST CASE DIFFERENT
|
|
8244 003332 ADR=ADR+1
|
|
8245 000002 XX=XX+XX
|
|
8246 777777 777775 YY=YY+YY+1
|
|
8247 IFE XX,<XX=1>
|
|
8248 IFE <YY-1>,<YY=-2>
|
|
8249
|
|
8250 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8251 777777 777772 V1=XX*YY
|
|
8252 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8253 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8254 777777 777777 IFG XX,<V2=V2A>
|
|
8255 IFL XX,<V2=XX+1>
|
|
8256 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8257 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8258 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8259 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8260 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8261
|
|
8262 000002 F33320: AA1=XX ;INITIAL C(AC)
|
|
8263 035401 200 07 0 00 044620 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8264 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8265 035402 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8266 777777 777775 AEE=YY ;INITIAL C(E)
|
|
8267 035403 200 05 0 00 044624 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8268 035404 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8269 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8270 035405 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8271 035406 003 07 0 00 033321 ER3 AC,33321 ;HIGH PRODUCT FAILED
|
|
8272 777777 777772 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8273 035407 312 10 0 00 044627 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8274 035410 004 10 0 00 033322 ER4 AC+1,33322 ;LOW PRODUCT FAILED
|
|
8275 777777 777775 AEE=YY ;INITIAL C(E)
|
|
8276 035411 312 05 0 00 044624 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8277 035412 005 05 0 00 033323 ER5 E,33323 ;C(E) WAS CLOBBERED
|
|
8278 035413 321 11 0 00 035401 JUMPL AC+2,F33320 ;LOOP ON ERROR SWITCH^
|
|
8279 ;LAST CASE DIFFERENT
|
|
8280 003333 ADR=ADR+1
|
|
8281 000004 XX=XX+XX
|
|
8282 777777 777773 YY=YY+YY+1
|
|
8283 IFE XX,<XX=1>
|
|
8284 IFE <YY-1>,<YY=-2>
|
|
8285
|
|
8286 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8287 777777 777754 V1=XX*YY
|
|
8288 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8289 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8290 777777 777777 IFG XX,<V2=V2A>
|
|
8291 IFL XX,<V2=XX+1>
|
|
8292 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-2
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0170
|
|
|
|
8293 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8294 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8295 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8296 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8297
|
|
8298 000004 F33330: AA1=XX ;INITIAL C(AC)
|
|
8299 035414 200 07 0 00 044623 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8300 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8301 035415 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8302 777777 777773 AEE=YY ;INITIAL C(E)
|
|
8303 035416 200 05 0 00 045071 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8304 035417 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8305 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8306 035420 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8307 035421 003 07 0 00 033331 ER3 AC,33331 ;HIGH PRODUCT FAILED
|
|
8308 777777 777754 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8309 035422 312 10 0 00 045174 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8310 035423 004 10 0 00 033332 ER4 AC+1,33332 ;LOW PRODUCT FAILED
|
|
8311 777777 777773 AEE=YY ;INITIAL C(E)
|
|
8312 035424 312 05 0 00 045071 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8313 035425 005 05 0 00 033333 ER5 E,33333 ;C(E) WAS CLOBBERED
|
|
8314 035426 321 11 0 00 035414 JUMPL AC+2,F33330 ;LOOP ON ERROR SWITCH^
|
|
8315 ;LAST CASE DIFFERENT
|
|
8316 003334 ADR=ADR+1
|
|
8317 000010 XX=XX+XX
|
|
8318 777777 777767 YY=YY+YY+1
|
|
8319 IFE XX,<XX=1>
|
|
8320 IFE <YY-1>,<YY=-2>
|
|
8321
|
|
8322 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8323 777777 777670 V1=XX*YY
|
|
8324 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8325 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8326 777777 777777 IFG XX,<V2=V2A>
|
|
8327 IFL XX,<V2=XX+1>
|
|
8328 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8329 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8330 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8331 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8332 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8333
|
|
8334 000010 F33340: AA1=XX ;INITIAL C(AC)
|
|
8335 035427 200 07 0 00 044626 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8336 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8337 035430 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8338 777777 777767 AEE=YY ;INITIAL C(E)
|
|
8339 035431 200 05 0 00 045073 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8340 035432 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8341 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8342 035433 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8343 035434 003 07 0 00 033341 ER3 AC,33341 ;HIGH PRODUCT FAILED
|
|
8344 777777 777670 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8345 035435 312 10 0 00 045175 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8346 035436 004 10 0 00 033342 ER4 AC+1,33342 ;LOW PRODUCT FAILED
|
|
8347 777777 777767 AEE=YY ;INITIAL C(E)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-3
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0171
|
|
|
|
8348 035437 312 05 0 00 045073 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8349 035440 005 05 0 00 033343 ER5 E,33343 ;C(E) WAS CLOBBERED
|
|
8350 035441 321 11 0 00 035427 JUMPL AC+2,F33340 ;LOOP ON ERROR SWITCH^
|
|
8351 ;LAST CASE DIFFERENT
|
|
8352 003335 ADR=ADR+1
|
|
8353 000020 XX=XX+XX
|
|
8354 777777 777757 YY=YY+YY+1
|
|
8355 IFE XX,<XX=1>
|
|
8356 IFE <YY-1>,<YY=-2>
|
|
8357
|
|
8358 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8359 777777 777360 V1=XX*YY
|
|
8360 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8361 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8362 777777 777777 IFG XX,<V2=V2A>
|
|
8363 IFL XX,<V2=XX+1>
|
|
8364 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8365 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8366 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8367 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8368 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8369
|
|
8370 000020 F33350: AA1=XX ;INITIAL C(AC)
|
|
8371 035442 200 07 0 00 044631 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8372 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8373 035443 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8374 777777 777757 AEE=YY ;INITIAL C(E)
|
|
8375 035444 200 05 0 00 045075 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8376 035445 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8377 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8378 035446 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8379 035447 003 07 0 00 033351 ER3 AC,33351 ;HIGH PRODUCT FAILED
|
|
8380 777777 777360 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8381 035450 312 10 0 00 045176 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8382 035451 004 10 0 00 033352 ER4 AC+1,33352 ;LOW PRODUCT FAILED
|
|
8383 777777 777757 AEE=YY ;INITIAL C(E)
|
|
8384 035452 312 05 0 00 045075 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8385 035453 005 05 0 00 033353 ER5 E,33353 ;C(E) WAS CLOBBERED
|
|
8386 035454 321 11 0 00 035442 JUMPL AC+2,F33350 ;LOOP ON ERROR SWITCH^
|
|
8387 ;LAST CASE DIFFERENT
|
|
8388 003336 ADR=ADR+1
|
|
8389 000040 XX=XX+XX
|
|
8390 777777 777737 YY=YY+YY+1
|
|
8391 IFE XX,<XX=1>
|
|
8392 IFE <YY-1>,<YY=-2>
|
|
8393
|
|
8394 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8395 777777 775740 V1=XX*YY
|
|
8396 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8397 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8398 777777 777777 IFG XX,<V2=V2A>
|
|
8399 IFL XX,<V2=XX+1>
|
|
8400 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8401 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8402 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-4
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0172
|
|
|
|
8403 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8404 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8405
|
|
8406 000040 F33360: AA1=XX ;INITIAL C(AC)
|
|
8407 035455 200 07 0 00 044634 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8408 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8409 035456 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8410 777777 777737 AEE=YY ;INITIAL C(E)
|
|
8411 035457 200 05 0 00 045077 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8412 035460 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8413 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8414 035461 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8415 035462 003 07 0 00 033361 ER3 AC,33361 ;HIGH PRODUCT FAILED
|
|
8416 777777 775740 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8417 035463 312 10 0 00 045177 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8418 035464 004 10 0 00 033362 ER4 AC+1,33362 ;LOW PRODUCT FAILED
|
|
8419 777777 777737 AEE=YY ;INITIAL C(E)
|
|
8420 035465 312 05 0 00 045077 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8421 035466 005 05 0 00 033363 ER5 E,33363 ;C(E) WAS CLOBBERED
|
|
8422 035467 321 11 0 00 035455 JUMPL AC+2,F33360 ;LOOP ON ERROR SWITCH^
|
|
8423 ;LAST CASE DIFFERENT
|
|
8424 003337 ADR=ADR+1
|
|
8425 000100 XX=XX+XX
|
|
8426 777777 777677 YY=YY+YY+1
|
|
8427 IFE XX,<XX=1>
|
|
8428 IFE <YY-1>,<YY=-2>
|
|
8429
|
|
8430 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8431 777777 767700 V1=XX*YY
|
|
8432 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8433 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8434 777777 777777 IFG XX,<V2=V2A>
|
|
8435 IFL XX,<V2=XX+1>
|
|
8436 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8437 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8438 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8439 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8440 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8441
|
|
8442 000100 F33370: AA1=XX ;INITIAL C(AC)
|
|
8443 035470 200 07 0 00 044637 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8444 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8445 035471 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8446 777777 777677 AEE=YY ;INITIAL C(E)
|
|
8447 035472 200 05 0 00 045101 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8448 035473 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8449 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8450 035474 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8451 035475 003 07 0 00 033371 ER3 AC,33371 ;HIGH PRODUCT FAILED
|
|
8452 777777 767700 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8453 035476 312 10 0 00 045200 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8454 035477 004 10 0 00 033372 ER4 AC+1,33372 ;LOW PRODUCT FAILED
|
|
8455 777777 777677 AEE=YY ;INITIAL C(E)
|
|
8456 035500 312 05 0 00 045101 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8457 035501 005 05 0 00 033373 ER5 E,33373 ;C(E) WAS CLOBBERED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-5
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0173
|
|
|
|
8458 035502 321 11 0 00 035470 JUMPL AC+2,F33370 ;LOOP ON ERROR SWITCH^
|
|
8459 ;LAST CASE DIFFERENT
|
|
8460 003340 ADR=ADR+1
|
|
8461 000200 XX=XX+XX
|
|
8462 777777 777577 YY=YY+YY+1
|
|
8463 IFE XX,<XX=1>
|
|
8464 IFE <YY-1>,<YY=-2>
|
|
8465
|
|
8466 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8467 777777 737600 V1=XX*YY
|
|
8468 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8469 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8470 777777 777777 IFG XX,<V2=V2A>
|
|
8471 IFL XX,<V2=XX+1>
|
|
8472 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8473 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8474 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8475 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8476 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8477
|
|
8478 000200 F33400: AA1=XX ;INITIAL C(AC)
|
|
8479 035503 200 07 0 00 044642 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8480 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8481 035504 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8482 777777 777577 AEE=YY ;INITIAL C(E)
|
|
8483 035505 200 05 0 00 045103 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8484 035506 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8485 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8486 035507 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8487 035510 003 07 0 00 033401 ER3 AC,33401 ;HIGH PRODUCT FAILED
|
|
8488 777777 737600 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8489 035511 312 10 0 00 045201 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8490 035512 004 10 0 00 033402 ER4 AC+1,33402 ;LOW PRODUCT FAILED
|
|
8491 777777 777577 AEE=YY ;INITIAL C(E)
|
|
8492 035513 312 05 0 00 045103 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8493 035514 005 05 0 00 033403 ER5 E,33403 ;C(E) WAS CLOBBERED
|
|
8494 035515 321 11 0 00 035503 JUMPL AC+2,F33400 ;LOOP ON ERROR SWITCH^
|
|
8495 ;LAST CASE DIFFERENT
|
|
8496 003341 ADR=ADR+1
|
|
8497 000400 XX=XX+XX
|
|
8498 777777 777377 YY=YY+YY+1
|
|
8499 IFE XX,<XX=1>
|
|
8500 IFE <YY-1>,<YY=-2>
|
|
8501
|
|
8502 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8503 777777 577400 V1=XX*YY
|
|
8504 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8505 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8506 777777 777777 IFG XX,<V2=V2A>
|
|
8507 IFL XX,<V2=XX+1>
|
|
8508 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8509 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8510 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8511 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8512 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-6
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0174
|
|
|
|
8513
|
|
8514 000400 F33410: AA1=XX ;INITIAL C(AC)
|
|
8515 035516 200 07 0 00 044645 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8516 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8517 035517 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8518 777777 777377 AEE=YY ;INITIAL C(E)
|
|
8519 035520 200 05 0 00 045105 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8520 035521 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8521 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8522 035522 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8523 035523 003 07 0 00 033411 ER3 AC,33411 ;HIGH PRODUCT FAILED
|
|
8524 777777 577400 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8525 035524 312 10 0 00 045202 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8526 035525 004 10 0 00 033412 ER4 AC+1,33412 ;LOW PRODUCT FAILED
|
|
8527 777777 777377 AEE=YY ;INITIAL C(E)
|
|
8528 035526 312 05 0 00 045105 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8529 035527 005 05 0 00 033413 ER5 E,33413 ;C(E) WAS CLOBBERED
|
|
8530 035530 321 11 0 00 035516 JUMPL AC+2,F33410 ;LOOP ON ERROR SWITCH^
|
|
8531 ;LAST CASE DIFFERENT
|
|
8532 003342 ADR=ADR+1
|
|
8533 001000 XX=XX+XX
|
|
8534 777777 776777 YY=YY+YY+1
|
|
8535 IFE XX,<XX=1>
|
|
8536 IFE <YY-1>,<YY=-2>
|
|
8537
|
|
8538 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8539 777776 777000 V1=XX*YY
|
|
8540 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8541 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8542 777777 777777 IFG XX,<V2=V2A>
|
|
8543 IFL XX,<V2=XX+1>
|
|
8544 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8545 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8546 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8547 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8548 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8549
|
|
8550 001000 F33420: AA1=XX ;INITIAL C(AC)
|
|
8551 035531 200 07 0 00 044650 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8552 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8553 035532 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8554 777777 776777 AEE=YY ;INITIAL C(E)
|
|
8555 035533 200 05 0 00 045107 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8556 035534 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8557 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8558 035535 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8559 035536 003 07 0 00 033421 ER3 AC,33421 ;HIGH PRODUCT FAILED
|
|
8560 777776 777000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8561 035537 312 10 0 00 045203 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8562 035540 004 10 0 00 033422 ER4 AC+1,33422 ;LOW PRODUCT FAILED
|
|
8563 777777 776777 AEE=YY ;INITIAL C(E)
|
|
8564 035541 312 05 0 00 045107 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8565 035542 005 05 0 00 033423 ER5 E,33423 ;C(E) WAS CLOBBERED
|
|
8566 035543 321 11 0 00 035531 JUMPL AC+2,F33420 ;LOOP ON ERROR SWITCH^
|
|
8567 ;LAST CASE DIFFERENT
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-7
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0175
|
|
|
|
8568 003343 ADR=ADR+1
|
|
8569 002000 XX=XX+XX
|
|
8570 777777 775777 YY=YY+YY+1
|
|
8571 IFE XX,<XX=1>
|
|
8572 IFE <YY-1>,<YY=-2>
|
|
8573
|
|
8574 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8575 777773 776000 V1=XX*YY
|
|
8576 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8577 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8578 777777 777777 IFG XX,<V2=V2A>
|
|
8579 IFL XX,<V2=XX+1>
|
|
8580 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8581 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8582 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8583 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8584 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8585
|
|
8586 002000 F33430: AA1=XX ;INITIAL C(AC)
|
|
8587 035544 200 07 0 00 044653 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8588 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8589 035545 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8590 777777 775777 AEE=YY ;INITIAL C(E)
|
|
8591 035546 200 05 0 00 045111 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8592 035547 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8593 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8594 035550 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8595 035551 003 07 0 00 033431 ER3 AC,33431 ;HIGH PRODUCT FAILED
|
|
8596 777773 776000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8597 035552 312 10 0 00 045204 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8598 035553 004 10 0 00 033432 ER4 AC+1,33432 ;LOW PRODUCT FAILED
|
|
8599 777777 775777 AEE=YY ;INITIAL C(E)
|
|
8600 035554 312 05 0 00 045111 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8601 035555 005 05 0 00 033433 ER5 E,33433 ;C(E) WAS CLOBBERED
|
|
8602 035556 321 11 0 00 035544 JUMPL AC+2,F33430 ;LOOP ON ERROR SWITCH^
|
|
8603 ;LAST CASE DIFFERENT
|
|
8604 003344 ADR=ADR+1
|
|
8605 004000 XX=XX+XX
|
|
8606 777777 773777 YY=YY+YY+1
|
|
8607 IFE XX,<XX=1>
|
|
8608 IFE <YY-1>,<YY=-2>
|
|
8609
|
|
8610 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8611 777757 774000 V1=XX*YY
|
|
8612 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8613 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8614 777777 777777 IFG XX,<V2=V2A>
|
|
8615 IFL XX,<V2=XX+1>
|
|
8616 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8617 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8618 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8619 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8620 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8621
|
|
8622 004000 F33440: AA1=XX ;INITIAL C(AC)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-8
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0176
|
|
|
|
8623 035557 200 07 0 00 044656 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8624 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8625 035560 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8626 777777 773777 AEE=YY ;INITIAL C(E)
|
|
8627 035561 200 05 0 00 045113 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8628 035562 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8629 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8630 035563 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8631 035564 003 07 0 00 033441 ER3 AC,33441 ;HIGH PRODUCT FAILED
|
|
8632 777757 774000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8633 035565 312 10 0 00 045205 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8634 035566 004 10 0 00 033442 ER4 AC+1,33442 ;LOW PRODUCT FAILED
|
|
8635 777777 773777 AEE=YY ;INITIAL C(E)
|
|
8636 035567 312 05 0 00 045113 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8637 035570 005 05 0 00 033443 ER5 E,33443 ;C(E) WAS CLOBBERED
|
|
8638 035571 321 11 0 00 035557 JUMPL AC+2,F33440 ;LOOP ON ERROR SWITCH^
|
|
8639 ;LAST CASE DIFFERENT
|
|
8640 003345 ADR=ADR+1
|
|
8641 010000 XX=XX+XX
|
|
8642 777777 767777 YY=YY+YY+1
|
|
8643 IFE XX,<XX=1>
|
|
8644 IFE <YY-1>,<YY=-2>
|
|
8645
|
|
8646 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8647 777677 770000 V1=XX*YY
|
|
8648 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8649 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8650 777777 777777 IFG XX,<V2=V2A>
|
|
8651 IFL XX,<V2=XX+1>
|
|
8652 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8653 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8654 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8655 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8656 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8657
|
|
8658 010000 F33450: AA1=XX ;INITIAL C(AC)
|
|
8659 035572 200 07 0 00 044661 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8660 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8661 035573 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8662 777777 767777 AEE=YY ;INITIAL C(E)
|
|
8663 035574 200 05 0 00 045115 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8664 035575 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8665 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8666 035576 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8667 035577 003 07 0 00 033451 ER3 AC,33451 ;HIGH PRODUCT FAILED
|
|
8668 777677 770000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8669 035600 312 10 0 00 045206 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8670 035601 004 10 0 00 033452 ER4 AC+1,33452 ;LOW PRODUCT FAILED
|
|
8671 777777 767777 AEE=YY ;INITIAL C(E)
|
|
8672 035602 312 05 0 00 045115 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8673 035603 005 05 0 00 033453 ER5 E,33453 ;C(E) WAS CLOBBERED
|
|
8674 035604 321 11 0 00 035572 JUMPL AC+2,F33450 ;LOOP ON ERROR SWITCH^
|
|
8675 ;LAST CASE DIFFERENT
|
|
8676 003346 ADR=ADR+1
|
|
8677 020000 XX=XX+XX
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-9
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0177
|
|
|
|
8678 777777 757777 YY=YY+YY+1
|
|
8679 IFE XX,<XX=1>
|
|
8680 IFE <YY-1>,<YY=-2>
|
|
8681
|
|
8682 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8683 777377 760000 V1=XX*YY
|
|
8684 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8685 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8686 777777 777777 IFG XX,<V2=V2A>
|
|
8687 IFL XX,<V2=XX+1>
|
|
8688 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8689 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8690 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8691 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8692 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8693
|
|
8694 020000 F33460: AA1=XX ;INITIAL C(AC)
|
|
8695 035605 200 07 0 00 044664 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8696 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8697 035606 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8698 777777 757777 AEE=YY ;INITIAL C(E)
|
|
8699 035607 200 05 0 00 045117 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8700 035610 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8701 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8702 035611 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8703 035612 003 07 0 00 033461 ER3 AC,33461 ;HIGH PRODUCT FAILED
|
|
8704 777377 760000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8705 035613 312 10 0 00 045207 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8706 035614 004 10 0 00 033462 ER4 AC+1,33462 ;LOW PRODUCT FAILED
|
|
8707 777777 757777 AEE=YY ;INITIAL C(E)
|
|
8708 035615 312 05 0 00 045117 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8709 035616 005 05 0 00 033463 ER5 E,33463 ;C(E) WAS CLOBBERED
|
|
8710 035617 321 11 0 00 035605 JUMPL AC+2,F33460 ;LOOP ON ERROR SWITCH^
|
|
8711 ;LAST CASE DIFFERENT
|
|
8712 003347 ADR=ADR+1
|
|
8713 040000 XX=XX+XX
|
|
8714 777777 737777 YY=YY+YY+1
|
|
8715 IFE XX,<XX=1>
|
|
8716 IFE <YY-1>,<YY=-2>
|
|
8717
|
|
8718 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8719 775777 740000 V1=XX*YY
|
|
8720 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8721 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8722 777777 777777 IFG XX,<V2=V2A>
|
|
8723 IFL XX,<V2=XX+1>
|
|
8724 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8725 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8726 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8727 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8728 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8729
|
|
8730 040000 F33470: AA1=XX ;INITIAL C(AC)
|
|
8731 035620 200 07 0 00 044667 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8732 000000 AA2=0 ;INITIAL C(AC+1)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-10
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0178
|
|
|
|
8733 035621 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8734 777777 737777 AEE=YY ;INITIAL C(E)
|
|
8735 035622 200 05 0 00 045121 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8736 035623 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8737 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8738 035624 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8739 035625 003 07 0 00 033471 ER3 AC,33471 ;HIGH PRODUCT FAILED
|
|
8740 775777 740000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8741 035626 312 10 0 00 045210 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8742 035627 004 10 0 00 033472 ER4 AC+1,33472 ;LOW PRODUCT FAILED
|
|
8743 777777 737777 AEE=YY ;INITIAL C(E)
|
|
8744 035630 312 05 0 00 045121 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8745 035631 005 05 0 00 033473 ER5 E,33473 ;C(E) WAS CLOBBERED
|
|
8746 035632 321 11 0 00 035620 JUMPL AC+2,F33470 ;LOOP ON ERROR SWITCH^
|
|
8747 ;LAST CASE DIFFERENT
|
|
8748 003350 ADR=ADR+1
|
|
8749 100000 XX=XX+XX
|
|
8750 777777 677777 YY=YY+YY+1
|
|
8751 IFE XX,<XX=1>
|
|
8752 IFE <YY-1>,<YY=-2>
|
|
8753
|
|
8754 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8755 767777 700000 V1=XX*YY
|
|
8756 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8757 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8758 777777 777777 IFG XX,<V2=V2A>
|
|
8759 IFL XX,<V2=XX+1>
|
|
8760 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8761 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8762 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8763 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8764 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8765
|
|
8766 100000 F33500: AA1=XX ;INITIAL C(AC)
|
|
8767 035633 200 07 0 00 044672 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8768 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8769 035634 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8770 777777 677777 AEE=YY ;INITIAL C(E)
|
|
8771 035635 200 05 0 00 045123 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8772 035636 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8773 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8774 035637 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8775 035640 003 07 0 00 033501 ER3 AC,33501 ;HIGH PRODUCT FAILED
|
|
8776 767777 700000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8777 035641 312 10 0 00 045211 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8778 035642 004 10 0 00 033502 ER4 AC+1,33502 ;LOW PRODUCT FAILED
|
|
8779 777777 677777 AEE=YY ;INITIAL C(E)
|
|
8780 035643 312 05 0 00 045123 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8781 035644 005 05 0 00 033503 ER5 E,33503 ;C(E) WAS CLOBBERED
|
|
8782 035645 321 11 0 00 035633 JUMPL AC+2,F33500 ;LOOP ON ERROR SWITCH^
|
|
8783 ;LAST CASE DIFFERENT
|
|
8784 003351 ADR=ADR+1
|
|
8785 200000 XX=XX+XX
|
|
8786 777777 577777 YY=YY+YY+1
|
|
8787 IFE XX,<XX=1>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-11
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0179
|
|
|
|
8788 IFE <YY-1>,<YY=-2>
|
|
8789
|
|
8790 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8791 737777 600000 V1=XX*YY
|
|
8792 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8793 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8794 777777 777777 IFG XX,<V2=V2A>
|
|
8795 IFL XX,<V2=XX+1>
|
|
8796 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8797 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8798 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8799 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8800 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8801
|
|
8802 200000 F33510: AA1=XX ;INITIAL C(AC)
|
|
8803 035646 200 07 0 00 044675 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8804 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8805 035647 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8806 777777 577777 AEE=YY ;INITIAL C(E)
|
|
8807 035650 200 05 0 00 045125 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8808 035651 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8809 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8810 035652 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8811 035653 003 07 0 00 033511 ER3 AC,33511 ;HIGH PRODUCT FAILED
|
|
8812 737777 600000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8813 035654 312 10 0 00 045212 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8814 035655 004 10 0 00 033512 ER4 AC+1,33512 ;LOW PRODUCT FAILED
|
|
8815 777777 577777 AEE=YY ;INITIAL C(E)
|
|
8816 035656 312 05 0 00 045125 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8817 035657 005 05 0 00 033513 ER5 E,33513 ;C(E) WAS CLOBBERED
|
|
8818 035660 321 11 0 00 035646 JUMPL AC+2,F33510 ;LOOP ON ERROR SWITCH^
|
|
8819 ;LAST CASE DIFFERENT
|
|
8820 003352 ADR=ADR+1
|
|
8821 400000 XX=XX+XX
|
|
8822 777777 377777 YY=YY+YY+1
|
|
8823 IFE XX,<XX=1>
|
|
8824 IFE <YY-1>,<YY=-2>
|
|
8825
|
|
8826 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8827 577777 400000 V1=XX*YY
|
|
8828 777777 777777 IFE <XX_-22>,<V2A=-1>
|
|
8829 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8830 777777 777777 IFG XX,<V2=V2A>
|
|
8831 IFL XX,<V2=XX+1>
|
|
8832 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8833 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8834 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8835 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8836 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8837
|
|
8838 400000 F33520: AA1=XX ;INITIAL C(AC)
|
|
8839 035661 200 07 0 00 044700 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8840 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8841 035662 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8842 777777 377777 AEE=YY ;INITIAL C(E)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-12
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0180
|
|
|
|
8843 035663 200 05 0 00 045127 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8844 035664 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8845 777777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8846 035665 312 07 0 00 044617 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8847 035666 003 07 0 00 033521 ER3 AC,33521 ;HIGH PRODUCT FAILED
|
|
8848 577777 400000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8849 035667 312 10 0 00 045213 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8850 035670 004 10 0 00 033522 ER4 AC+1,33522 ;LOW PRODUCT FAILED
|
|
8851 777777 377777 AEE=YY ;INITIAL C(E)
|
|
8852 035671 312 05 0 00 045127 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8853 035672 005 05 0 00 033523 ER5 E,33523 ;C(E) WAS CLOBBERED
|
|
8854 035673 321 11 0 00 035661 JUMPL AC+2,F33520 ;LOOP ON ERROR SWITCH^
|
|
8855 ;LAST CASE DIFFERENT
|
|
8856 003353 ADR=ADR+1
|
|
8857 000001 000000 XX=XX+XX
|
|
8858 777776 777777 YY=YY+YY+1
|
|
8859 IFE XX,<XX=1>
|
|
8860 IFE <YY-1>,<YY=-2>
|
|
8861
|
|
8862 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8863 777777 000000 V1=XX*YY
|
|
8864 IFE <XX_-22>,<V2A=-1>
|
|
8865 777777 777775 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8866 777777 777775 IFG XX,<V2=V2A>
|
|
8867 IFL XX,<V2=XX+1>
|
|
8868 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8869 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8870 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8871 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8872 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8873
|
|
8874 000001 000000 F33530: AA1=XX ;INITIAL C(AC)
|
|
8875 035674 200 07 0 00 044703 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8876 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8877 035675 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8878 777776 777777 AEE=YY ;INITIAL C(E)
|
|
8879 035676 200 05 0 00 045131 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8880 035677 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8881 777777 777775 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8882 035700 312 07 0 00 044624 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8883 035701 003 07 0 00 033531 ER3 AC,33531 ;HIGH PRODUCT FAILED
|
|
8884 777777 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8885 035702 312 10 0 00 045214 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8886 035703 004 10 0 00 033532 ER4 AC+1,33532 ;LOW PRODUCT FAILED
|
|
8887 777776 777777 AEE=YY ;INITIAL C(E)
|
|
8888 035704 312 05 0 00 045131 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8889 035705 005 05 0 00 033533 ER5 E,33533 ;C(E) WAS CLOBBERED
|
|
8890 035706 321 11 0 00 035674 JUMPL AC+2,F33530 ;LOOP ON ERROR SWITCH^
|
|
8891 ;LAST CASE DIFFERENT
|
|
8892 003354 ADR=ADR+1
|
|
8893 000002 000000 XX=XX+XX
|
|
8894 777775 777777 YY=YY+YY+1
|
|
8895 IFE XX,<XX=1>
|
|
8896 IFE <YY-1>,<YY=-2>
|
|
8897
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-13
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0181
|
|
|
|
8898 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8899 777776 000000 V1=XX*YY
|
|
8900 IFE <XX_-22>,<V2A=-1>
|
|
8901 777777 777767 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8902 777777 777767 IFG XX,<V2=V2A>
|
|
8903 IFL XX,<V2=XX+1>
|
|
8904 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8905 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8906 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8907 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8908 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8909
|
|
8910 000002 000000 F33540: AA1=XX ;INITIAL C(AC)
|
|
8911 035707 200 07 0 00 044706 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8912 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8913 035710 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8914 777775 777777 AEE=YY ;INITIAL C(E)
|
|
8915 035711 200 05 0 00 045133 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8916 035712 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8917 777777 777767 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8918 035713 312 07 0 00 045073 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8919 035714 003 07 0 00 033541 ER3 AC,33541 ;HIGH PRODUCT FAILED
|
|
8920 777776 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8921 035715 312 10 0 00 045215 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8922 035716 004 10 0 00 033542 ER4 AC+1,33542 ;LOW PRODUCT FAILED
|
|
8923 777775 777777 AEE=YY ;INITIAL C(E)
|
|
8924 035717 312 05 0 00 045133 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8925 035720 005 05 0 00 033543 ER5 E,33543 ;C(E) WAS CLOBBERED
|
|
8926 035721 321 11 0 00 035707 JUMPL AC+2,F33540 ;LOOP ON ERROR SWITCH^
|
|
8927 ;LAST CASE DIFFERENT
|
|
8928 003355 ADR=ADR+1
|
|
8929 000004 000000 XX=XX+XX
|
|
8930 777773 777777 YY=YY+YY+1
|
|
8931 IFE XX,<XX=1>
|
|
8932 IFE <YY-1>,<YY=-2>
|
|
8933
|
|
8934 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8935 777774 000000 V1=XX*YY
|
|
8936 IFE <XX_-22>,<V2A=-1>
|
|
8937 777777 777737 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8938 777777 777737 IFG XX,<V2=V2A>
|
|
8939 IFL XX,<V2=XX+1>
|
|
8940 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8941 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8942 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8943 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8944 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8945
|
|
8946 000004 000000 F33550: AA1=XX ;INITIAL C(AC)
|
|
8947 035722 200 07 0 00 044711 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8948 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8949 035723 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8950 777773 777777 AEE=YY ;INITIAL C(E)
|
|
8951 035724 200 05 0 00 045135 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8952 035725 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-14
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0182
|
|
|
|
8953 777777 777737 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8954 035726 312 07 0 00 045077 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8955 035727 003 07 0 00 033551 ER3 AC,33551 ;HIGH PRODUCT FAILED
|
|
8956 777774 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8957 035730 312 10 0 00 045216 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8958 035731 004 10 0 00 033552 ER4 AC+1,33552 ;LOW PRODUCT FAILED
|
|
8959 777773 777777 AEE=YY ;INITIAL C(E)
|
|
8960 035732 312 05 0 00 045135 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8961 035733 005 05 0 00 033553 ER5 E,33553 ;C(E) WAS CLOBBERED
|
|
8962 035734 321 11 0 00 035722 JUMPL AC+2,F33550 ;LOOP ON ERROR SWITCH^
|
|
8963 ;LAST CASE DIFFERENT
|
|
8964 003356 ADR=ADR+1
|
|
8965 000010 000000 XX=XX+XX
|
|
8966 777767 777777 YY=YY+YY+1
|
|
8967 IFE XX,<XX=1>
|
|
8968 IFE <YY-1>,<YY=-2>
|
|
8969
|
|
8970 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
8971 777770 000000 V1=XX*YY
|
|
8972 IFE <XX_-22>,<V2A=-1>
|
|
8973 777777 777577 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
8974 777777 777577 IFG XX,<V2=V2A>
|
|
8975 IFL XX,<V2=XX+1>
|
|
8976 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
8977 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
8978 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
8979 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
8980 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
8981
|
|
8982 000010 000000 F33560: AA1=XX ;INITIAL C(AC)
|
|
8983 035735 200 07 0 00 044714 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
8984 000000 AA2=0 ;INITIAL C(AC+1)
|
|
8985 035736 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
8986 777767 777777 AEE=YY ;INITIAL C(E)
|
|
8987 035737 200 05 0 00 045137 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
8988 035740 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
8989 777777 777577 AR1=V2 ;EXPECTED RESULT IN AC
|
|
8990 035741 312 07 0 00 045103 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
8991 035742 003 07 0 00 033561 ER3 AC,33561 ;HIGH PRODUCT FAILED
|
|
8992 777770 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
8993 035743 312 10 0 00 045217 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
8994 035744 004 10 0 00 033562 ER4 AC+1,33562 ;LOW PRODUCT FAILED
|
|
8995 777767 777777 AEE=YY ;INITIAL C(E)
|
|
8996 035745 312 05 0 00 045137 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
8997 035746 005 05 0 00 033563 ER5 E,33563 ;C(E) WAS CLOBBERED
|
|
8998 035747 321 11 0 00 035735 JUMPL AC+2,F33560 ;LOOP ON ERROR SWITCH^
|
|
8999 ;LAST CASE DIFFERENT
|
|
9000 003357 ADR=ADR+1
|
|
9001 000020 000000 XX=XX+XX
|
|
9002 777757 777777 YY=YY+YY+1
|
|
9003 IFE XX,<XX=1>
|
|
9004 IFE <YY-1>,<YY=-2>
|
|
9005
|
|
9006 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
9007 777760 000000 V1=XX*YY
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-15
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0183
|
|
|
|
9008 IFE <XX_-22>,<V2A=-1>
|
|
9009 777777 776777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
9010 777777 776777 IFG XX,<V2=V2A>
|
|
9011 IFL XX,<V2=XX+1>
|
|
9012 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
9013 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
9014 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9015 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
9016 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9017
|
|
9018 000020 000000 F33570: AA1=XX ;INITIAL C(AC)
|
|
9019 035750 200 07 0 00 044717 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
9020 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9021 035751 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9022 777757 777777 AEE=YY ;INITIAL C(E)
|
|
9023 035752 200 05 0 00 045141 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
9024 035753 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9025 777777 776777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
9026 035754 312 07 0 00 045107 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
9027 035755 003 07 0 00 033571 ER3 AC,33571 ;HIGH PRODUCT FAILED
|
|
9028 777760 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
9029 035756 312 10 0 00 045220 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
9030 035757 004 10 0 00 033572 ER4 AC+1,33572 ;LOW PRODUCT FAILED
|
|
9031 777757 777777 AEE=YY ;INITIAL C(E)
|
|
9032 035760 312 05 0 00 045141 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
9033 035761 005 05 0 00 033573 ER5 E,33573 ;C(E) WAS CLOBBERED
|
|
9034 035762 321 11 0 00 035750 JUMPL AC+2,F33570 ;LOOP ON ERROR SWITCH^
|
|
9035 ;LAST CASE DIFFERENT
|
|
9036 003360 ADR=ADR+1
|
|
9037 000040 000000 XX=XX+XX
|
|
9038 777737 777777 YY=YY+YY+1
|
|
9039 IFE XX,<XX=1>
|
|
9040 IFE <YY-1>,<YY=-2>
|
|
9041
|
|
9042 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
9043 777740 000000 V1=XX*YY
|
|
9044 IFE <XX_-22>,<V2A=-1>
|
|
9045 777777 773777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
9046 777777 773777 IFG XX,<V2=V2A>
|
|
9047 IFL XX,<V2=XX+1>
|
|
9048 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
9049 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
9050 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9051 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
9052 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9053
|
|
9054 000040 000000 F33600: AA1=XX ;INITIAL C(AC)
|
|
9055 035763 200 07 0 00 044722 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
9056 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9057 035764 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9058 777737 777777 AEE=YY ;INITIAL C(E)
|
|
9059 035765 200 05 0 00 045143 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
9060 035766 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9061 777777 773777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
9062 035767 312 07 0 00 045113 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-16
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0184
|
|
|
|
9063 035770 003 07 0 00 033601 ER3 AC,33601 ;HIGH PRODUCT FAILED
|
|
9064 777740 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
9065 035771 312 10 0 00 045221 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
9066 035772 004 10 0 00 033602 ER4 AC+1,33602 ;LOW PRODUCT FAILED
|
|
9067 777737 777777 AEE=YY ;INITIAL C(E)
|
|
9068 035773 312 05 0 00 045143 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
9069 035774 005 05 0 00 033603 ER5 E,33603 ;C(E) WAS CLOBBERED
|
|
9070 035775 321 11 0 00 035763 JUMPL AC+2,F33600 ;LOOP ON ERROR SWITCH^
|
|
9071 ;LAST CASE DIFFERENT
|
|
9072 003361 ADR=ADR+1
|
|
9073 000100 000000 XX=XX+XX
|
|
9074 777677 777777 YY=YY+YY+1
|
|
9075 IFE XX,<XX=1>
|
|
9076 IFE <YY-1>,<YY=-2>
|
|
9077
|
|
9078 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
9079 777700 000000 V1=XX*YY
|
|
9080 IFE <XX_-22>,<V2A=-1>
|
|
9081 777777 757777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
9082 777777 757777 IFG XX,<V2=V2A>
|
|
9083 IFL XX,<V2=XX+1>
|
|
9084 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
9085 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
9086 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9087 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
9088 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9089
|
|
9090 000100 000000 F33610: AA1=XX ;INITIAL C(AC)
|
|
9091 035776 200 07 0 00 044725 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
9092 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9093 035777 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9094 777677 777777 AEE=YY ;INITIAL C(E)
|
|
9095 036000 200 05 0 00 045145 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
9096 036001 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9097 777777 757777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
9098 036002 312 07 0 00 045117 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
9099 036003 003 07 0 00 033611 ER3 AC,33611 ;HIGH PRODUCT FAILED
|
|
9100 777700 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
9101 036004 312 10 0 00 045222 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
9102 036005 004 10 0 00 033612 ER4 AC+1,33612 ;LOW PRODUCT FAILED
|
|
9103 777677 777777 AEE=YY ;INITIAL C(E)
|
|
9104 036006 312 05 0 00 045145 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
9105 036007 005 05 0 00 033613 ER5 E,33613 ;C(E) WAS CLOBBERED
|
|
9106 036010 321 11 0 00 035776 JUMPL AC+2,F33610 ;LOOP ON ERROR SWITCH^
|
|
9107 ;LAST CASE DIFFERENT
|
|
9108 003362 ADR=ADR+1
|
|
9109 000200 000000 XX=XX+XX
|
|
9110 777577 777777 YY=YY+YY+1
|
|
9111 IFE XX,<XX=1>
|
|
9112 IFE <YY-1>,<YY=-2>
|
|
9113
|
|
9114 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
9115 777600 000000 V1=XX*YY
|
|
9116 IFE <XX_-22>,<V2A=-1>
|
|
9117 777777 677777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-17
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0185
|
|
|
|
9118 777777 677777 IFG XX,<V2=V2A>
|
|
9119 IFL XX,<V2=XX+1>
|
|
9120 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
9121 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
9122 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9123 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
9124 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9125
|
|
9126 000200 000000 F33620: AA1=XX ;INITIAL C(AC)
|
|
9127 036011 200 07 0 00 044730 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
9128 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9129 036012 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9130 777577 777777 AEE=YY ;INITIAL C(E)
|
|
9131 036013 200 05 0 00 045147 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
9132 036014 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9133 777777 677777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
9134 036015 312 07 0 00 045123 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
9135 036016 003 07 0 00 033621 ER3 AC,33621 ;HIGH PRODUCT FAILED
|
|
9136 777600 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
9137 036017 312 10 0 00 045223 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
9138 036020 004 10 0 00 033622 ER4 AC+1,33622 ;LOW PRODUCT FAILED
|
|
9139 777577 777777 AEE=YY ;INITIAL C(E)
|
|
9140 036021 312 05 0 00 045147 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
9141 036022 005 05 0 00 033623 ER5 E,33623 ;C(E) WAS CLOBBERED
|
|
9142 036023 321 11 0 00 036011 JUMPL AC+2,F33620 ;LOOP ON ERROR SWITCH^
|
|
9143 ;LAST CASE DIFFERENT
|
|
9144 003363 ADR=ADR+1
|
|
9145 000400 000000 XX=XX+XX
|
|
9146 777377 777777 YY=YY+YY+1
|
|
9147 IFE XX,<XX=1>
|
|
9148 IFE <YY-1>,<YY=-2>
|
|
9149
|
|
9150 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
9151 777400 000000 V1=XX*YY
|
|
9152 IFE <XX_-22>,<V2A=-1>
|
|
9153 777777 377777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
9154 777777 377777 IFG XX,<V2=V2A>
|
|
9155 IFL XX,<V2=XX+1>
|
|
9156 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
9157 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
9158 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9159 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
9160 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9161
|
|
9162 000400 000000 F33630: AA1=XX ;INITIAL C(AC)
|
|
9163 036024 200 07 0 00 044733 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
9164 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9165 036025 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9166 777377 777777 AEE=YY ;INITIAL C(E)
|
|
9167 036026 200 05 0 00 045151 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
9168 036027 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9169 777777 377777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
9170 036030 312 07 0 00 045127 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
9171 036031 003 07 0 00 033631 ER3 AC,33631 ;HIGH PRODUCT FAILED
|
|
9172 777400 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-18
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0186
|
|
|
|
9173 036032 312 10 0 00 045224 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
9174 036033 004 10 0 00 033632 ER4 AC+1,33632 ;LOW PRODUCT FAILED
|
|
9175 777377 777777 AEE=YY ;INITIAL C(E)
|
|
9176 036034 312 05 0 00 045151 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
9177 036035 005 05 0 00 033633 ER5 E,33633 ;C(E) WAS CLOBBERED
|
|
9178 036036 321 11 0 00 036024 JUMPL AC+2,F33630 ;LOOP ON ERROR SWITCH^
|
|
9179 ;LAST CASE DIFFERENT
|
|
9180 003364 ADR=ADR+1
|
|
9181 001000 000000 XX=XX+XX
|
|
9182 776777 777777 YY=YY+YY+1
|
|
9183 IFE XX,<XX=1>
|
|
9184 IFE <YY-1>,<YY=-2>
|
|
9185
|
|
9186 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
9187 777000 000000 V1=XX*YY
|
|
9188 IFE <XX_-22>,<V2A=-1>
|
|
9189 777775 777777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
9190 777775 777777 IFG XX,<V2=V2A>
|
|
9191 IFL XX,<V2=XX+1>
|
|
9192 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
9193 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
9194 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9195 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
9196 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9197
|
|
9198 001000 000000 F33640: AA1=XX ;INITIAL C(AC)
|
|
9199 036037 200 07 0 00 044736 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
9200 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9201 036040 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9202 776777 777777 AEE=YY ;INITIAL C(E)
|
|
9203 036041 200 05 0 00 045153 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
9204 036042 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9205 777775 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
9206 036043 312 07 0 00 045133 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
9207 036044 003 07 0 00 033641 ER3 AC,33641 ;HIGH PRODUCT FAILED
|
|
9208 777000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
9209 036045 312 10 0 00 045225 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
9210 036046 004 10 0 00 033642 ER4 AC+1,33642 ;LOW PRODUCT FAILED
|
|
9211 776777 777777 AEE=YY ;INITIAL C(E)
|
|
9212 036047 312 05 0 00 045153 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
9213 036050 005 05 0 00 033643 ER5 E,33643 ;C(E) WAS CLOBBERED
|
|
9214 036051 321 11 0 00 036037 JUMPL AC+2,F33640 ;LOOP ON ERROR SWITCH^
|
|
9215 ;LAST CASE DIFFERENT
|
|
9216 003365 ADR=ADR+1
|
|
9217 002000 000000 XX=XX+XX
|
|
9218 775777 777777 YY=YY+YY+1
|
|
9219 IFE XX,<XX=1>
|
|
9220 IFE <YY-1>,<YY=-2>
|
|
9221
|
|
9222 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
9223 776000 000000 V1=XX*YY
|
|
9224 IFE <XX_-22>,<V2A=-1>
|
|
9225 777767 777777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
9226 777767 777777 IFG XX,<V2=V2A>
|
|
9227 IFL XX,<V2=XX+1>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-19
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0187
|
|
|
|
9228 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
9229 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
9230 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9231 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
9232 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9233
|
|
9234 002000 000000 F33650: AA1=XX ;INITIAL C(AC)
|
|
9235 036052 200 07 0 00 044741 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
9236 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9237 036053 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9238 775777 777777 AEE=YY ;INITIAL C(E)
|
|
9239 036054 200 05 0 00 045155 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
9240 036055 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9241 777767 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
9242 036056 312 07 0 00 045137 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
9243 036057 003 07 0 00 033651 ER3 AC,33651 ;HIGH PRODUCT FAILED
|
|
9244 776000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
9245 036060 312 10 0 00 045226 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
9246 036061 004 10 0 00 033652 ER4 AC+1,33652 ;LOW PRODUCT FAILED
|
|
9247 775777 777777 AEE=YY ;INITIAL C(E)
|
|
9248 036062 312 05 0 00 045155 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
9249 036063 005 05 0 00 033653 ER5 E,33653 ;C(E) WAS CLOBBERED
|
|
9250 036064 321 11 0 00 036052 JUMPL AC+2,F33650 ;LOOP ON ERROR SWITCH^
|
|
9251 ;LAST CASE DIFFERENT
|
|
9252 003366 ADR=ADR+1
|
|
9253 004000 000000 XX=XX+XX
|
|
9254 773777 777777 YY=YY+YY+1
|
|
9255 IFE XX,<XX=1>
|
|
9256 IFE <YY-1>,<YY=-2>
|
|
9257
|
|
9258 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
9259 774000 000000 V1=XX*YY
|
|
9260 IFE <XX_-22>,<V2A=-1>
|
|
9261 777737 777777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
9262 777737 777777 IFG XX,<V2=V2A>
|
|
9263 IFL XX,<V2=XX+1>
|
|
9264 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
9265 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
9266 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9267 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
9268 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9269
|
|
9270 004000 000000 F33660: AA1=XX ;INITIAL C(AC)
|
|
9271 036065 200 07 0 00 044744 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
9272 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9273 036066 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9274 773777 777777 AEE=YY ;INITIAL C(E)
|
|
9275 036067 200 05 0 00 045157 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
9276 036070 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9277 777737 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
9278 036071 312 07 0 00 045143 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
9279 036072 003 07 0 00 033661 ER3 AC,33661 ;HIGH PRODUCT FAILED
|
|
9280 774000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
9281 036073 312 10 0 00 045227 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
9282 036074 004 10 0 00 033662 ER4 AC+1,33662 ;LOW PRODUCT FAILED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-20
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0188
|
|
|
|
9283 773777 777777 AEE=YY ;INITIAL C(E)
|
|
9284 036075 312 05 0 00 045157 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
9285 036076 005 05 0 00 033663 ER5 E,33663 ;C(E) WAS CLOBBERED
|
|
9286 036077 321 11 0 00 036065 JUMPL AC+2,F33660 ;LOOP ON ERROR SWITCH^
|
|
9287 ;LAST CASE DIFFERENT
|
|
9288 003367 ADR=ADR+1
|
|
9289 010000 000000 XX=XX+XX
|
|
9290 767777 777777 YY=YY+YY+1
|
|
9291 IFE XX,<XX=1>
|
|
9292 IFE <YY-1>,<YY=-2>
|
|
9293
|
|
9294 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
9295 770000 000000 V1=XX*YY
|
|
9296 IFE <XX_-22>,<V2A=-1>
|
|
9297 777577 777777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
9298 777577 777777 IFG XX,<V2=V2A>
|
|
9299 IFL XX,<V2=XX+1>
|
|
9300 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
9301 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
9302 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9303 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
9304 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9305
|
|
9306 010000 000000 F33670: AA1=XX ;INITIAL C(AC)
|
|
9307 036100 200 07 0 00 044747 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
9308 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9309 036101 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9310 767777 777777 AEE=YY ;INITIAL C(E)
|
|
9311 036102 200 05 0 00 045161 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
9312 036103 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9313 777577 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
9314 036104 312 07 0 00 045147 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
9315 036105 003 07 0 00 033671 ER3 AC,33671 ;HIGH PRODUCT FAILED
|
|
9316 770000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
9317 036106 312 10 0 00 045230 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
9318 036107 004 10 0 00 033672 ER4 AC+1,33672 ;LOW PRODUCT FAILED
|
|
9319 767777 777777 AEE=YY ;INITIAL C(E)
|
|
9320 036110 312 05 0 00 045161 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
9321 036111 005 05 0 00 033673 ER5 E,33673 ;C(E) WAS CLOBBERED
|
|
9322 036112 321 11 0 00 036100 JUMPL AC+2,F33670 ;LOOP ON ERROR SWITCH^
|
|
9323 ;LAST CASE DIFFERENT
|
|
9324 003370 ADR=ADR+1
|
|
9325 020000 000000 XX=XX+XX
|
|
9326 757777 777777 YY=YY+YY+1
|
|
9327 IFE XX,<XX=1>
|
|
9328 IFE <YY-1>,<YY=-2>
|
|
9329
|
|
9330 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
9331 760000 000000 V1=XX*YY
|
|
9332 IFE <XX_-22>,<V2A=-1>
|
|
9333 776777 777777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
9334 776777 777777 IFG XX,<V2=V2A>
|
|
9335 IFL XX,<V2=XX+1>
|
|
9336 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
9337 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-21
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0189
|
|
|
|
9338 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9339 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
9340 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9341
|
|
9342 020000 000000 F33700: AA1=XX ;INITIAL C(AC)
|
|
9343 036113 200 07 0 00 044752 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
9344 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9345 036114 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9346 757777 777777 AEE=YY ;INITIAL C(E)
|
|
9347 036115 200 05 0 00 045163 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
9348 036116 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9349 776777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
9350 036117 312 07 0 00 045153 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
9351 036120 003 07 0 00 033701 ER3 AC,33701 ;HIGH PRODUCT FAILED
|
|
9352 760000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
9353 036121 312 10 0 00 045231 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
9354 036122 004 10 0 00 033702 ER4 AC+1,33702 ;LOW PRODUCT FAILED
|
|
9355 757777 777777 AEE=YY ;INITIAL C(E)
|
|
9356 036123 312 05 0 00 045163 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
9357 036124 005 05 0 00 033703 ER5 E,33703 ;C(E) WAS CLOBBERED
|
|
9358 036125 321 11 0 00 036113 JUMPL AC+2,F33700 ;LOOP ON ERROR SWITCH^
|
|
9359 ;LAST CASE DIFFERENT
|
|
9360 003371 ADR=ADR+1
|
|
9361 040000 000000 XX=XX+XX
|
|
9362 737777 777777 YY=YY+YY+1
|
|
9363 IFE XX,<XX=1>
|
|
9364 IFE <YY-1>,<YY=-2>
|
|
9365
|
|
9366 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
9367 740000 000000 V1=XX*YY
|
|
9368 IFE <XX_-22>,<V2A=-1>
|
|
9369 773777 777777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
9370 773777 777777 IFG XX,<V2=V2A>
|
|
9371 IFL XX,<V2=XX+1>
|
|
9372 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
9373 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
9374 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9375 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
9376 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9377
|
|
9378 040000 000000 F33710: AA1=XX ;INITIAL C(AC)
|
|
9379 036126 200 07 0 00 044755 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
9380 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9381 036127 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9382 737777 777777 AEE=YY ;INITIAL C(E)
|
|
9383 036130 200 05 0 00 045165 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
9384 036131 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9385 773777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
9386 036132 312 07 0 00 045157 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
9387 036133 003 07 0 00 033711 ER3 AC,33711 ;HIGH PRODUCT FAILED
|
|
9388 740000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
9389 036134 312 10 0 00 045232 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
9390 036135 004 10 0 00 033712 ER4 AC+1,33712 ;LOW PRODUCT FAILED
|
|
9391 737777 777777 AEE=YY ;INITIAL C(E)
|
|
9392 036136 312 05 0 00 045165 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-22
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0190
|
|
|
|
9393 036137 005 05 0 00 033713 ER5 E,33713 ;C(E) WAS CLOBBERED
|
|
9394 036140 321 11 0 00 036126 JUMPL AC+2,F33710 ;LOOP ON ERROR SWITCH^
|
|
9395 ;LAST CASE DIFFERENT
|
|
9396 003372 ADR=ADR+1
|
|
9397 100000 000000 XX=XX+XX
|
|
9398 677777 777777 YY=YY+YY+1
|
|
9399 IFE XX,<XX=1>
|
|
9400 IFE <YY-1>,<YY=-2>
|
|
9401
|
|
9402 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
9403 700000 000000 V1=XX*YY
|
|
9404 IFE <XX_-22>,<V2A=-1>
|
|
9405 757777 777777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
9406 757777 777777 IFG XX,<V2=V2A>
|
|
9407 IFL XX,<V2=XX+1>
|
|
9408 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
9409 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
9410 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9411 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
9412 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9413
|
|
9414 100000 000000 F33720: AA1=XX ;INITIAL C(AC)
|
|
9415 036141 200 07 0 00 044760 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
9416 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9417 036142 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9418 677777 777777 AEE=YY ;INITIAL C(E)
|
|
9419 036143 200 05 0 00 045167 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
9420 036144 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9421 757777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
9422 036145 312 07 0 00 045163 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
9423 036146 003 07 0 00 033721 ER3 AC,33721 ;HIGH PRODUCT FAILED
|
|
9424 700000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
9425 036147 312 10 0 00 045233 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
9426 036150 004 10 0 00 033722 ER4 AC+1,33722 ;LOW PRODUCT FAILED
|
|
9427 677777 777777 AEE=YY ;INITIAL C(E)
|
|
9428 036151 312 05 0 00 045167 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
9429 036152 005 05 0 00 033723 ER5 E,33723 ;C(E) WAS CLOBBERED
|
|
9430 036153 321 11 0 00 036141 JUMPL AC+2,F33720 ;LOOP ON ERROR SWITCH^
|
|
9431 ;LAST CASE DIFFERENT
|
|
9432 003373 ADR=ADR+1
|
|
9433 200000 000000 XX=XX+XX
|
|
9434 577777 777777 YY=YY+YY+1
|
|
9435 IFE XX,<XX=1>
|
|
9436 IFE <YY-1>,<YY=-2>
|
|
9437
|
|
9438 ;MULTIPLY A FLOATING 0 BY A FLOATING 1
|
|
9439 600000 000000 V1=XX*YY
|
|
9440 IFE <XX_-22>,<V2A=-1>
|
|
9441 677777 777777 IFN <XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
|
|
9442 677777 777777 IFG XX,<V2=V2A>
|
|
9443 IFL XX,<V2=XX+1>
|
|
9444 MOP1 (\ADR,XX,0,YY,V2,V1)^
|
|
9445 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
9446 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9447 ;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 9-23
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0191
|
|
|
|
9448 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9449
|
|
9450 200000 000000 F33730: AA1=XX ;INITIAL C(AC)
|
|
9451 036154 200 07 0 00 044763 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
9452 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9453 036155 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9454 577777 777777 AEE=YY ;INITIAL C(E)
|
|
9455 036156 200 05 0 00 045171 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
9456 036157 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9457 677777 777777 AR1=V2 ;EXPECTED RESULT IN AC
|
|
9458 036160 312 07 0 00 045167 CAME AC,[V2] ;IS HIGH PRODUCT CORRECT?
|
|
9459 036161 003 07 0 00 033731 ER3 AC,33731 ;HIGH PRODUCT FAILED
|
|
9460 600000 000000 AR2=V1 ;EXPECTED RESULT IN AC+1
|
|
9461 036162 312 10 0 00 044762 CAME AC+1,[V1] ;IS LOW PRODUCT CORRECT?
|
|
9462 036163 004 10 0 00 033732 ER4 AC+1,33732 ;LOW PRODUCT FAILED
|
|
9463 577777 777777 AEE=YY ;INITIAL C(E)
|
|
9464 036164 312 05 0 00 045171 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
9465 036165 005 05 0 00 033733 ER5 E,33733 ;C(E) WAS CLOBBERED
|
|
9466 036166 321 11 0 00 036154 JUMPL AC+2,F33730 ;LOOP ON ERROR SWITCH^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 10
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0192
|
|
|
|
9467 003374 ADR=ADR+1
|
|
9468 ;MULTIPLY A 400000,,0 BY A 377777,,-1
|
|
9469 377777 777777 YY=377777777777
|
|
9470 400000 000000 XX=400000000000
|
|
9471
|
|
9472 MOP1 (\ADR,XX,0,YY,YY,0)^
|
|
9473 ;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
|
|
9474 ;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
|
|
9475 ;AND E AGAINST [YY], [0] AND [YY] RESPECTIVELY.
|
|
9476 ;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
|
|
9477
|
|
9478 400000 000000 F33740: AA1=XX ;INITIAL C(AC)
|
|
9479 036167 200 07 0 00 044765 MOVE AC,[XX] ;PRELOAD AC (MULTIPLIER)
|
|
9480 000000 AA2=0 ;INITIAL C(AC+1)
|
|
9481 036170 200 10 0 00 044615 MOVE AC+1,[0] ;PRELOAD AC+1
|
|
9482 377777 777777 AEE=YY ;INITIAL C(E)
|
|
9483 036171 200 05 0 00 045172 MOVE E,[YY] ;PRELOAD E (MULTIPLICAND)
|
|
9484 036172 224 07 0 00 000005 MUL AC,E ;*MULTIPLY C(E) BY C(AC)
|
|
9485 377777 777777 AR1=YY ;EXPECTED RESULT IN AC
|
|
9486 036173 312 07 0 00 045172 CAME AC,[YY] ;IS HIGH PRODUCT CORRECT?
|
|
9487 036174 003 07 0 00 033741 ER3 AC,33741 ;HIGH PRODUCT FAILED
|
|
9488 000000 AR2=0 ;EXPECTED RESULT IN AC+1
|
|
9489 036175 312 10 0 00 044615 CAME AC+1,[0] ;IS LOW PRODUCT CORRECT?
|
|
9490 036176 004 10 0 00 033742 ER4 AC+1,33742 ;LOW PRODUCT FAILED
|
|
9491 377777 777777 AEE=YY ;INITIAL C(E)
|
|
9492 036177 312 05 0 00 045172 CAME E,[YY] ;WAS C(E) CLOBBERED?
|
|
9493 036200 005 05 0 00 033743 ER5 E,33743 ;C(E) WAS CLOBBERED
|
|
9494 036201 321 11 0 00 036167 JUMPL AC+2,F33740 ;LOOP ON ERROR SWITCH^
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 11
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0193
|
|
|
|
9495 ;MULTIPLIER = 2,4
|
|
9496 ;MULTIPLICAND = 377777 777777
|
|
9497
|
|
9498 000014 AC=14
|
|
9499 SAVEAC (1,1)^
|
|
9500 036202 201 16 0 00 036202 MOVEI AC+2,. ;SAVE TEST PC
|
|
9501 036203 202 16 0 00 030051 MOVEM AC+2,TESTPC
|
|
9502 036204 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
9503 036205 202 16 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
9504
|
|
9505 000300 SN=300
|
|
9506 777777 777777 XX=-1
|
|
9507 000002 YY=2
|
|
9508 000001 ZZ=1
|
|
9509
|
|
9510 F300: REPEAT ^D2,<
|
|
9511 SN=SN+1
|
|
9512 XX=XX+2
|
|
9513 YY=YY-2
|
|
9514 IFE YY,<YY=377777777776>
|
|
9515 ZZ=ZZ+ZZ
|
|
9516 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
9517 HRLOI AC-1,377777 ;SETUP MULTIPLICAND
|
|
9518 MUL AC,AC-1 ;MULTIPLY ZZ X 377777777777
|
|
9519 CAME AC,[XX] ;TEST HIGH PROD
|
|
9520 ER3 AC,SN
|
|
9521 CAME AC+1,[YY] ;TEST LOW PROD
|
|
9522 ER4 AC+1,SN
|
|
9523 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
9524 >
|
|
9525
|
|
9526 000301 SN=SN+1
|
|
9527 000001 XX=XX+2
|
|
9528 000000 YY=YY-2
|
|
9529 377777 777776 IFE YY,<YY=377777777776>
|
|
9530 000002 ZZ=ZZ+ZZ
|
|
9531 036206 201 14 0 00 000002 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
9532 036207 525 13 0 00 377777 HRLOI AC-1,377777 ;SETUP MULTIPLICAND
|
|
9533 036210 224 14 0 00 000013 MUL AC,AC-1 ;MULTIPLY ZZ X 377777777777
|
|
9534 036211 312 14 0 00 044616 CAME AC,[XX] ;TEST HIGH PROD
|
|
9535 036212 003 14 0 00 000301 ER3 AC,SN
|
|
9536 036213 312 15 0 00 045173 CAME AC+1,[YY] ;TEST LOW PROD
|
|
9537 036214 004 15 0 00 000301 ER4 AC+1,SN
|
|
9538 036215 321 16 0 00 036206 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
9539
|
|
9540
|
|
9541 000302 SN=SN+1
|
|
9542 000003 XX=XX+2
|
|
9543 377777 777774 YY=YY-2
|
|
9544 IFE YY,<YY=377777777776>
|
|
9545 000004 ZZ=ZZ+ZZ
|
|
9546 036216 201 14 0 00 000004 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
9547 036217 525 13 0 00 377777 HRLOI AC-1,377777 ;SETUP MULTIPLICAND
|
|
9548 036220 224 14 0 00 000013 MUL AC,AC-1 ;MULTIPLY ZZ X 377777777777
|
|
9549 036221 312 14 0 00 045235 CAME AC,[XX] ;TEST HIGH PROD
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 11-1
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0194
|
|
|
|
9550 036222 003 14 0 00 000302 ER3 AC,SN
|
|
9551 036223 312 15 0 00 045236 CAME AC+1,[YY] ;TEST LOW PROD
|
|
9552 036224 004 15 0 00 000302 ER4 AC+1,SN
|
|
9553 036225 321 16 0 00 036216 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
9554
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 12
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0195
|
|
|
|
9555 ;TEST MQ FINAL SHIFT
|
|
9556 ;MULTIPLIER = 200000 000000
|
|
9557 ;MULTIPLICAND = 5,7
|
|
9558
|
|
9559 000007 AC=7
|
|
9560 SAVEAC (1,1)^
|
|
9561 036226 201 11 0 00 036226 MOVEI AC+2,. ;SAVE TEST PC
|
|
9562 036227 202 11 0 00 030051 MOVEM AC+2,TESTPC
|
|
9563 036230 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
9564 036231 202 11 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
9565
|
|
9566 000500 SN=500
|
|
9567 000001 XX=1
|
|
9568 000003 ZZ=3
|
|
9569
|
|
9570 ;TEST MQSHRT FAILING
|
|
9571 F500: REPEAT ^D2,<
|
|
9572 SN=SN+1
|
|
9573 XX=XX+1
|
|
9574 ZZ=ZZ+2
|
|
9575 MOVSI AC-2,200000 ;SETUP FOR COMPARISON
|
|
9576 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
9577 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
9578 MUL AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
9579 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
9580 ER4 AC+1,SN
|
|
9581 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
9582 CAME AC,AC-2 ;TEST HIGH PROD
|
|
9583 ER3 AC,SN
|
|
9584 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
9585 >
|
|
9586
|
|
9587 000501 SN=SN+1
|
|
9588 000002 XX=XX+1
|
|
9589 000005 ZZ=ZZ+2
|
|
9590 036232 205 05 0 00 200000 MOVSI AC-2,200000 ;SETUP FOR COMPARISON
|
|
9591 036233 205 07 0 00 200000 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
9592 036234 201 06 0 00 000005 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
9593 036235 224 07 0 00 000006 MUL AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
9594 036236 312 10 0 00 000005 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
9595 036237 004 10 0 00 000501 ER4 AC+1,SN
|
|
9596 036240 201 05 0 00 000002 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
9597 036241 312 07 0 00 000005 CAME AC,AC-2 ;TEST HIGH PROD
|
|
9598 036242 003 07 0 00 000501 ER3 AC,SN
|
|
9599 036243 321 11 0 00 036232 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
9600
|
|
9601
|
|
9602 000502 SN=SN+1
|
|
9603 000003 XX=XX+1
|
|
9604 000007 ZZ=ZZ+2
|
|
9605 036244 205 05 0 00 200000 MOVSI AC-2,200000 ;SETUP FOR COMPARISON
|
|
9606 036245 205 07 0 00 200000 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
9607 036246 201 06 0 00 000007 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
9608 036247 224 07 0 00 000006 MUL AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
9609 036250 312 10 0 00 000005 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 12-1
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0196
|
|
|
|
9610 036251 004 10 0 00 000502 ER4 AC+1,SN
|
|
9611 036252 201 05 0 00 000003 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
9612 036253 312 07 0 00 000005 CAME AC,AC-2 ;TEST HIGH PROD
|
|
9613 036254 003 07 0 00 000502 ER3 AC,SN
|
|
9614 036255 321 11 0 00 036244 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
9615
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 13
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0197
|
|
|
|
9616 ;MULTIPLIER = 10,20
|
|
9617 ;MULTIPLICAND = 377777 777777
|
|
9618
|
|
9619 000011 AC=11
|
|
9620 SAVEAC (1,1)^
|
|
9621 036256 201 13 0 00 036256 MOVEI AC+2,. ;SAVE TEST PC
|
|
9622 036257 202 13 0 00 030051 MOVEM AC+2,TESTPC
|
|
9623 036260 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
9624 036261 202 13 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
9625
|
|
9626 000700 SN=700
|
|
9627 777777 777777 XX=-1
|
|
9628 000004 ZZ=4
|
|
9629
|
|
9630 ;TEST ARSHRT FAILING
|
|
9631 F700: REPEAT ^D2,<
|
|
9632 SN=SN+1
|
|
9633 XX=XX+10
|
|
9634 ZZ=ZZ+ZZ
|
|
9635 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
9636 HRLOI AC-1,377777 ;SETUP MULTIPLICAND
|
|
9637 MUL AC,AC-1 ;MUL. ZZ X 377777 777777
|
|
9638 CAME AC+1,[ZZ*377777777777] ;TEST LOW PROD
|
|
9639 ER4 AC+1,SN ;ARSHRT ASSERTED
|
|
9640 CAME AC,[XX] ;TEST HIGH PROD = PLIER
|
|
9641 ER3 AC,SN
|
|
9642 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
9643 >
|
|
9644
|
|
9645 000701 SN=SN+1
|
|
9646 000007 XX=XX+10
|
|
9647 000010 ZZ=ZZ+ZZ
|
|
9648 036262 201 11 0 00 000010 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
9649 036263 525 10 0 00 377777 HRLOI AC-1,377777 ;SETUP MULTIPLICAND
|
|
9650 036264 224 11 0 00 000010 MUL AC,AC-1 ;MUL. ZZ X 377777 777777
|
|
9651 036265 312 12 0 00 045237 CAME AC+1,[ZZ*377777777777] ;TEST LOW PROD
|
|
9652 036266 004 12 0 00 000701 ER4 AC+1,SN ;ARSHRT ASSERTED
|
|
9653 036267 312 11 0 00 045240 CAME AC,[XX] ;TEST HIGH PROD = PLIER
|
|
9654 036270 003 11 0 00 000701 ER3 AC,SN
|
|
9655 036271 321 13 0 00 036261 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
9656
|
|
9657
|
|
9658 000702 SN=SN+1
|
|
9659 000017 XX=XX+10
|
|
9660 000020 ZZ=ZZ+ZZ
|
|
9661 036272 201 11 0 00 000020 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
9662 036273 525 10 0 00 377777 HRLOI AC-1,377777 ;SETUP MULTIPLICAND
|
|
9663 036274 224 11 0 00 000010 MUL AC,AC-1 ;MUL. ZZ X 377777 777777
|
|
9664 036275 312 12 0 00 045241 CAME AC+1,[ZZ*377777777777] ;TEST LOW PROD
|
|
9665 036276 004 12 0 00 000702 ER4 AC+1,SN ;ARSHRT ASSERTED
|
|
9666 036277 312 11 0 00 045242 CAME AC,[XX] ;TEST HIGH PROD = PLIER
|
|
9667 036300 003 11 0 00 000702 ER3 AC,SN
|
|
9668 036301 321 13 0 00 036271 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
9669
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 14
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0198
|
|
|
|
9670 ;MULTIPLIER = 0
|
|
9671 ;MULTIPLICAND = -15,-13
|
|
9672
|
|
9673 000010 AC=10
|
|
9674 SAVEAC (1,1)^
|
|
9675 036302 201 12 0 00 036302 MOVEI AC+2,. ;SAVE TEST PC
|
|
9676 036303 202 12 0 00 030051 MOVEM AC+2,TESTPC
|
|
9677 036304 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
9678 036305 202 12 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
9679
|
|
9680 001000 SN=1000
|
|
9681 777777 777761 ZZ=-17
|
|
9682
|
|
9683 ;TEST MQSHRT FAILING
|
|
9684 F1000: REPEAT ^D2,<
|
|
9685 SN=SN+1
|
|
9686 ZZ=ZZ+2
|
|
9687 SETZ AC, ;SETUP MULTIPLIER
|
|
9688 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
9689 MUL AC,AC-1 ;MULTIPLY 0 X -ZZ
|
|
9690 SKIPE AC+1 ;TEST LOW PROD
|
|
9691 ER4 AC+1,SN
|
|
9692 SKIPE AC ;TEST HIGH PROD
|
|
9693 ER3 AC,SN
|
|
9694 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
9695 >
|
|
9696
|
|
9697 001001 SN=SN+1
|
|
9698 777777 777763 ZZ=ZZ+2
|
|
9699 036306 400 10 0 00 000000 SETZ AC, ;SETUP MULTIPLIER
|
|
9700 036307 561 07 0 00 777763 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
9701 036310 224 10 0 00 000007 MUL AC,AC-1 ;MULTIPLY 0 X -ZZ
|
|
9702 036311 332 00 0 00 000011 SKIPE AC+1 ;TEST LOW PROD
|
|
9703 036312 004 11 0 00 001001 ER4 AC+1,SN
|
|
9704 036313 332 00 0 00 000010 SKIPE AC ;TEST HIGH PROD
|
|
9705 036314 003 10 0 00 001001 ER3 AC,SN
|
|
9706 036315 321 12 0 00 036305 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
9707
|
|
9708
|
|
9709 001002 SN=SN+1
|
|
9710 777777 777765 ZZ=ZZ+2
|
|
9711 036316 400 10 0 00 000000 SETZ AC, ;SETUP MULTIPLIER
|
|
9712 036317 561 07 0 00 777765 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
9713 036320 224 10 0 00 000007 MUL AC,AC-1 ;MULTIPLY 0 X -ZZ
|
|
9714 036321 332 00 0 00 000011 SKIPE AC+1 ;TEST LOW PROD
|
|
9715 036322 004 11 0 00 001002 ER4 AC+1,SN
|
|
9716 036323 332 00 0 00 000010 SKIPE AC ;TEST HIGH PROD
|
|
9717 036324 003 10 0 00 001002 ER3 AC,SN
|
|
9718 036325 321 12 0 00 036315 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
9719
|
|
9720 PAGE
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 14-1
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0199
|
|
|
|
9721 ;MULTIPLIER = -2,-4
|
|
9722 ;MULTIPLICAND = 0
|
|
9723
|
|
9724 000007 AC=7
|
|
9725 SAVEAC (1,1)^
|
|
9726 036326 201 11 0 00 036326 MOVEI AC+2,. ;SAVE TEST PC
|
|
9727 036327 202 11 0 00 030051 MOVEM AC+2,TESTPC
|
|
9728 036330 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
9729 036331 202 11 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
9730
|
|
9731 001100 SN=1100
|
|
9732 000000 XX=0
|
|
9733 777777 777777 ZZ=-1
|
|
9734
|
|
9735 F1100: REPEAT ^D2,<
|
|
9736 SN=SN+1
|
|
9737 XX=XX+XX
|
|
9738 ZZ=ZZ+ZZ
|
|
9739 IFE XX,<XX=-1>
|
|
9740 HRROI AC,ZZ ;SETUP MULTIPLIER
|
|
9741 SETZ AC-1, ;SETUP MULTIPLICAND
|
|
9742 MUL AC,AC-1 ;MULTIPLY ZZ X 0
|
|
9743 SKIPE AC+1 ;TEST LOW PROD
|
|
9744 ER4 AC+1,SN
|
|
9745 SKIPE AC ;TEST HIGH PROD
|
|
9746 ER3 AC,SN
|
|
9747 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
9748 >
|
|
9749
|
|
9750 001101 SN=SN+1
|
|
9751 000000 XX=XX+XX
|
|
9752 777777 777776 ZZ=ZZ+ZZ
|
|
9753 777777 777777 IFE XX,<XX=-1>
|
|
9754 036332 561 07 0 00 777776 HRROI AC,ZZ ;SETUP MULTIPLIER
|
|
9755 036333 400 06 0 00 000000 SETZ AC-1, ;SETUP MULTIPLICAND
|
|
9756 036334 224 07 0 00 000006 MUL AC,AC-1 ;MULTIPLY ZZ X 0
|
|
9757 036335 332 00 0 00 000010 SKIPE AC+1 ;TEST LOW PROD
|
|
9758 036336 004 10 0 00 001101 ER4 AC+1,SN
|
|
9759 036337 332 00 0 00 000007 SKIPE AC ;TEST HIGH PROD
|
|
9760 036340 003 07 0 00 001101 ER3 AC,SN
|
|
9761 036341 321 11 0 00 036330 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
9762
|
|
9763
|
|
9764 001102 SN=SN+1
|
|
9765 777777 777776 XX=XX+XX
|
|
9766 777777 777774 ZZ=ZZ+ZZ
|
|
9767 IFE XX,<XX=-1>
|
|
9768 036342 561 07 0 00 777774 HRROI AC,ZZ ;SETUP MULTIPLIER
|
|
9769 036343 400 06 0 00 000000 SETZ AC-1, ;SETUP MULTIPLICAND
|
|
9770 036344 224 07 0 00 000006 MUL AC,AC-1 ;MULTIPLY ZZ X 0
|
|
9771 036345 332 00 0 00 000010 SKIPE AC+1 ;TEST LOW PROD
|
|
9772 036346 004 10 0 00 001102 ER4 AC+1,SN
|
|
9773 036347 332 00 0 00 000007 SKIPE AC ;TEST HIGH PROD
|
|
9774 036350 003 07 0 00 001102 ER3 AC,SN
|
|
9775 036351 321 11 0 00 036340 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 14-2
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0200
|
|
|
|
9776
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 15
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0201
|
|
|
|
9777 ;MULTIPLIER = 2,4
|
|
9778 ;MULTIPLICAND = 5
|
|
9779
|
|
9780 000014 AC=14
|
|
9781 SAVEAC (1,1)^
|
|
9782 036352 201 16 0 00 036352 MOVEI AC+2,. ;SAVE TEST PC
|
|
9783 036353 202 16 0 00 030051 MOVEM AC+2,TESTPC
|
|
9784 036354 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
9785 036355 202 16 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
9786
|
|
9787 001400 SN=1400
|
|
9788 000005 XX=5
|
|
9789 000001 ZZ=1
|
|
9790
|
|
9791 F1400: REPEAT ^D2,<
|
|
9792 SN=SN+1
|
|
9793 XX=XX+XX
|
|
9794 ZZ=ZZ+ZZ
|
|
9795 HRRZI AC-2,XX ;SETUP FOR COMPARISON
|
|
9796 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
9797 MOVEI AC-1,5 ;SETUP MULTIPLICAND
|
|
9798 MUL AC,AC-1 ;MULTIPLY ZZ X 5
|
|
9799 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
9800 ER4 AC+1,SN
|
|
9801 SETO AC-2, ;SET FOR COMPARISON
|
|
9802 SKIPE AC ;TEST HIGH PROD
|
|
9803 ER3 AC,SN
|
|
9804 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
9805 >
|
|
9806
|
|
9807 001401 SN=SN+1
|
|
9808 000012 XX=XX+XX
|
|
9809 000002 ZZ=ZZ+ZZ
|
|
9810 036356 551 12 0 00 000012 HRRZI AC-2,XX ;SETUP FOR COMPARISON
|
|
9811 036357 201 14 0 00 000002 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
9812 036360 201 13 0 00 000005 MOVEI AC-1,5 ;SETUP MULTIPLICAND
|
|
9813 036361 224 14 0 00 000013 MUL AC,AC-1 ;MULTIPLY ZZ X 5
|
|
9814 036362 312 15 0 00 000012 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
9815 036363 004 15 0 00 001401 ER4 AC+1,SN
|
|
9816 036364 474 12 0 00 000000 SETO AC-2, ;SET FOR COMPARISON
|
|
9817 036365 332 00 0 00 000014 SKIPE AC ;TEST HIGH PROD
|
|
9818 036366 003 14 0 00 001401 ER3 AC,SN
|
|
9819 036367 321 16 0 00 036356 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
9820
|
|
9821
|
|
9822 001402 SN=SN+1
|
|
9823 000024 XX=XX+XX
|
|
9824 000004 ZZ=ZZ+ZZ
|
|
9825 036370 551 12 0 00 000024 HRRZI AC-2,XX ;SETUP FOR COMPARISON
|
|
9826 036371 201 14 0 00 000004 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
9827 036372 201 13 0 00 000005 MOVEI AC-1,5 ;SETUP MULTIPLICAND
|
|
9828 036373 224 14 0 00 000013 MUL AC,AC-1 ;MULTIPLY ZZ X 5
|
|
9829 036374 312 15 0 00 000012 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
9830 036375 004 15 0 00 001402 ER4 AC+1,SN
|
|
9831 036376 474 12 0 00 000000 SETO AC-2, ;SET FOR COMPARISON
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 15-1
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0202
|
|
|
|
9832 036377 332 00 0 00 000014 SKIPE AC ;TEST HIGH PROD
|
|
9833 036400 003 14 0 00 001402 ER3 AC,SN
|
|
9834 036401 321 16 0 00 036370 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
9835
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 16
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0203
|
|
|
|
9836 ;MULTIPLIER = 200000 000000,100000 000000
|
|
9837 ;MULTIPLICAND = 25
|
|
9838
|
|
9839 000011 AC=11
|
|
9840 SAVEAC (1,1)^
|
|
9841 036402 201 13 0 00 036402 MOVEI AC+2,. ;SAVE TEST PC
|
|
9842 036403 202 13 0 00 030051 MOVEM AC+2,TESTPC
|
|
9843 036404 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
9844 036405 202 13 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
9845
|
|
9846 002000 SN=2000
|
|
9847 377777 XX=377777
|
|
9848 000024 YY=24
|
|
9849 000000 ZZ=0
|
|
9850
|
|
9851 F2000: REPEAT ^D2,<
|
|
9852 SN=SN+1
|
|
9853 XX=XX/2
|
|
9854 YY=YY/2
|
|
9855 ZZ=ZZ/2
|
|
9856 IFE ZZ,<ZZ=200000>
|
|
9857 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
9858 MOVSI AC,ZZ ;SETUP MULTIPLIER
|
|
9859 MOVEI AC-1,25 ;SETUP MULTIPLICAND
|
|
9860 MUL AC,AC-1 ;MULTIPLY ZZ X 25
|
|
9861 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
9862 ER4 AC+1,SN
|
|
9863 MOVEI AC-2,YY ;SET FOR COMPARISON
|
|
9864 CAME AC,AC-2 ;TEST HIGH PROD
|
|
9865 ER3 AC,SN
|
|
9866 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
9867 >
|
|
9868
|
|
9869 002001 SN=SN+1
|
|
9870 177777 XX=XX/2
|
|
9871 000012 YY=YY/2
|
|
9872 000000 ZZ=ZZ/2
|
|
9873 200000 IFE ZZ,<ZZ=200000>
|
|
9874 036406 205 07 0 00 200000 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
9875 036407 205 11 0 00 200000 MOVSI AC,ZZ ;SETUP MULTIPLIER
|
|
9876 036410 201 10 0 00 000025 MOVEI AC-1,25 ;SETUP MULTIPLICAND
|
|
9877 036411 224 11 0 00 000010 MUL AC,AC-1 ;MULTIPLY ZZ X 25
|
|
9878 036412 312 12 0 00 000007 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
9879 036413 004 12 0 00 002001 ER4 AC+1,SN
|
|
9880 036414 201 07 0 00 000012 MOVEI AC-2,YY ;SET FOR COMPARISON
|
|
9881 036415 312 11 0 00 000007 CAME AC,AC-2 ;TEST HIGH PROD
|
|
9882 036416 003 11 0 00 002001 ER3 AC,SN
|
|
9883 036417 321 13 0 00 036406 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
9884
|
|
9885
|
|
9886 002002 SN=SN+1
|
|
9887 077777 XX=XX/2
|
|
9888 000005 YY=YY/2
|
|
9889 100000 ZZ=ZZ/2
|
|
9890 IFE ZZ,<ZZ=200000>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 16-1
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0204
|
|
|
|
9891 036420 205 07 0 00 100000 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
9892 036421 205 11 0 00 100000 MOVSI AC,ZZ ;SETUP MULTIPLIER
|
|
9893 036422 201 10 0 00 000025 MOVEI AC-1,25 ;SETUP MULTIPLICAND
|
|
9894 036423 224 11 0 00 000010 MUL AC,AC-1 ;MULTIPLY ZZ X 25
|
|
9895 036424 312 12 0 00 000007 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
9896 036425 004 12 0 00 002002 ER4 AC+1,SN
|
|
9897 036426 201 07 0 00 000005 MOVEI AC-2,YY ;SET FOR COMPARISON
|
|
9898 036427 312 11 0 00 000007 CAME AC,AC-2 ;TEST HIGH PROD
|
|
9899 036430 003 11 0 00 002002 ER3 AC,SN
|
|
9900 036431 321 13 0 00 036420 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
9901
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 17
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0205
|
|
|
|
9902 ;INPUT ONE'S-
|
|
9903 ;MULTIPLIER = 400000 000000
|
|
9904 ;MULTIPLICAND = -20,-40
|
|
9905
|
|
9906 000006 AC=6
|
|
9907 SAVEAC (1,1)^
|
|
9908 036432 201 10 0 00 036432 MOVEI AC+2,. ;SAVE TEST PC
|
|
9909 036433 202 10 0 00 030051 MOVEM AC+2,TESTPC
|
|
9910 036434 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
9911 036435 202 10 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
9912
|
|
9913 002200 SN=2200
|
|
9914 777777 777770 ZZ=-10
|
|
9915 000010 XX=10
|
|
9916
|
|
9917 F2200: REPEAT ^D2,<
|
|
9918 SN=SN+1
|
|
9919 ZZ=ZZ+ZZ
|
|
9920 XX=XX+XX
|
|
9921 MOVSI AC,400000 ;SETUP MULTIPLIER
|
|
9922 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
9923 MUL AC,AC-1 ;MUL.400000 000000 X ZZ
|
|
9924 CAME AC,[ZZ] ;TEST HI PRODUCT
|
|
9925 ER3 AC,SN
|
|
9926 CAME <AC+1>&17,[1B0] ;TEST LO PROD
|
|
9927 ER4 AC+1,SN
|
|
9928 JUMPL AC+2,.-^D7 ;LOOP ON ERROR SWITCH
|
|
9929 >
|
|
9930
|
|
9931 002201 SN=SN+1
|
|
9932 777777 777760 ZZ=ZZ+ZZ
|
|
9933 000020 XX=XX+XX
|
|
9934 036436 205 06 0 00 400000 MOVSI AC,400000 ;SETUP MULTIPLIER
|
|
9935 036437 561 05 0 00 777760 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
9936 036440 224 06 0 00 000005 MUL AC,AC-1 ;MUL.400000 000000 X ZZ
|
|
9937 036441 312 06 0 00 045243 CAME AC,[ZZ] ;TEST HI PRODUCT
|
|
9938 036442 003 06 0 00 002201 ER3 AC,SN
|
|
9939 036443 312 07 0 00 044765 CAME <AC+1>&17,[1B0] ;TEST LO PROD
|
|
9940 036444 004 07 0 00 002201 ER4 AC+1,SN
|
|
9941 036445 321 10 0 00 036436 JUMPL AC+2,.-^D7 ;LOOP ON ERROR SWITCH
|
|
9942
|
|
9943
|
|
9944 002202 SN=SN+1
|
|
9945 777777 777740 ZZ=ZZ+ZZ
|
|
9946 000040 XX=XX+XX
|
|
9947 036446 205 06 0 00 400000 MOVSI AC,400000 ;SETUP MULTIPLIER
|
|
9948 036447 561 05 0 00 777740 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
9949 036450 224 06 0 00 000005 MUL AC,AC-1 ;MUL.400000 000000 X ZZ
|
|
9950 036451 312 06 0 00 045244 CAME AC,[ZZ] ;TEST HI PRODUCT
|
|
9951 036452 003 06 0 00 002202 ER3 AC,SN
|
|
9952 036453 312 07 0 00 044765 CAME <AC+1>&17,[1B0] ;TEST LO PROD
|
|
9953 036454 004 07 0 00 002202 ER4 AC+1,SN
|
|
9954 036455 321 10 0 00 036446 JUMPL AC+2,.-^D7 ;LOOP ON ERROR SWITCH
|
|
9955
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 18
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0206
|
|
|
|
9956 ;MULTIPLIER = 10,20
|
|
9957 ;MULTIPLICAND = 4
|
|
9958
|
|
9959 000005 AC=5
|
|
9960 SAVEAC (1,1)^
|
|
9961 036456 201 07 0 00 036456 MOVEI AC+2,. ;SAVE TEST PC
|
|
9962 036457 202 07 0 00 030051 MOVEM AC+2,TESTPC
|
|
9963 036460 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
9964 036461 202 07 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
9965
|
|
9966 002400 SN=2400
|
|
9967 000020 XX=20
|
|
9968 000004 ZZ=4
|
|
9969 F2400: REPEAT ^D2,<
|
|
9970 SN=SN+1
|
|
9971 XX=XX+XX
|
|
9972 ZZ=ZZ+ZZ
|
|
9973 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
9974 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
9975 MOVEI AC-1,4 ;SETUP MULTIPLICAND
|
|
9976 MUL AC,AC-1 ;MULTIPLY ZZ X 4
|
|
9977 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
9978 ER4 AC+1,SN
|
|
9979 SKIPE AC ;TEST HIGH PRODUCT
|
|
9980 ER3 AC,SN
|
|
9981 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
9982 >
|
|
9983
|
|
9984 002401 SN=SN+1
|
|
9985 000040 XX=XX+XX
|
|
9986 000010 ZZ=ZZ+ZZ
|
|
9987 036462 201 03 0 00 000040 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
9988 036463 201 05 0 00 000010 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
9989 036464 201 04 0 00 000004 MOVEI AC-1,4 ;SETUP MULTIPLICAND
|
|
9990 036465 224 05 0 00 000004 MUL AC,AC-1 ;MULTIPLY ZZ X 4
|
|
9991 036466 312 06 0 00 000003 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
9992 036467 004 06 0 00 002401 ER4 AC+1,SN
|
|
9993 036470 332 00 0 00 000005 SKIPE AC ;TEST HIGH PRODUCT
|
|
9994 036471 003 05 0 00 002401 ER3 AC,SN
|
|
9995 036472 321 07 0 00 036462 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
9996
|
|
9997
|
|
9998 002402 SN=SN+1
|
|
9999 000100 XX=XX+XX
|
|
10000 000020 ZZ=ZZ+ZZ
|
|
10001 036473 201 03 0 00 000100 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
10002 036474 201 05 0 00 000020 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
10003 036475 201 04 0 00 000004 MOVEI AC-1,4 ;SETUP MULTIPLICAND
|
|
10004 036476 224 05 0 00 000004 MUL AC,AC-1 ;MULTIPLY ZZ X 4
|
|
10005 036477 312 06 0 00 000003 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
10006 036500 004 06 0 00 002402 ER4 AC+1,SN
|
|
10007 036501 332 00 0 00 000005 SKIPE AC ;TEST HIGH PRODUCT
|
|
10008 036502 003 05 0 00 002402 ER3 AC,SN
|
|
10009 036503 321 07 0 00 036473 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
10010
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 19
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0207
|
|
|
|
10011 ;MULTIPLIER = 1,2
|
|
10012 ;MULTIPLICAND = 200000 000000,100000 000000
|
|
10013
|
|
10014 000014 AC=14
|
|
10015 SAVEAC (1,1)^
|
|
10016 036504 201 16 0 00 036504 MOVEI AC+2,. ;SAVE TEST PC
|
|
10017 036505 202 16 0 00 030051 MOVEM AC+2,TESTPC
|
|
10018 036506 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
10019 036507 202 16 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
10020
|
|
10021 003300 SN=3300
|
|
10022 000000 XX=0
|
|
10023 000000 ZZ=0
|
|
10024
|
|
10025 F3300: REPEAT ^D2,<
|
|
10026 SN=SN+1
|
|
10027 XX=XX+XX
|
|
10028 ZZ=ZZ/2
|
|
10029 IFE XX,<XX=1>
|
|
10030 IFE ZZ,<ZZ=200000>
|
|
10031 MOVSI AC-2,200000 ;SETUP FOR COMPARISON
|
|
10032 SETO AC+1, ;INITIALIZE AC+1
|
|
10033 MOVEI AC,XX ;SETUP MULTIPLIER
|
|
10034 MOVSI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10035 MUL AC,AC-1 ;MULTIPLY TWO VARIABLES
|
|
10036 SKIPE AC ;TEST HIGH PROD
|
|
10037 ER3 AC,SN
|
|
10038 CAME AC+1,AC-2 ;TEST LOW PRODUCT
|
|
10039 ER4 AC+1,SN
|
|
10040 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
10041 >
|
|
10042
|
|
10043 003301 SN=SN+1
|
|
10044 000000 XX=XX+XX
|
|
10045 000000 ZZ=ZZ/2
|
|
10046 000001 IFE XX,<XX=1>
|
|
10047 200000 IFE ZZ,<ZZ=200000>
|
|
10048 036510 205 12 0 00 200000 MOVSI AC-2,200000 ;SETUP FOR COMPARISON
|
|
10049 036511 474 15 0 00 000000 SETO AC+1, ;INITIALIZE AC+1
|
|
10050 036512 201 14 0 00 000001 MOVEI AC,XX ;SETUP MULTIPLIER
|
|
10051 036513 205 13 0 00 200000 MOVSI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10052 036514 224 14 0 00 000013 MUL AC,AC-1 ;MULTIPLY TWO VARIABLES
|
|
10053 036515 332 00 0 00 000014 SKIPE AC ;TEST HIGH PROD
|
|
10054 036516 003 14 0 00 003301 ER3 AC,SN
|
|
10055 036517 312 15 0 00 000012 CAME AC+1,AC-2 ;TEST LOW PRODUCT
|
|
10056 036520 004 15 0 00 003301 ER4 AC+1,SN
|
|
10057 036521 321 16 0 00 036511 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
10058
|
|
10059
|
|
10060 003302 SN=SN+1
|
|
10061 000002 XX=XX+XX
|
|
10062 100000 ZZ=ZZ/2
|
|
10063 IFE XX,<XX=1>
|
|
10064 IFE ZZ,<ZZ=200000>
|
|
10065 036522 205 12 0 00 200000 MOVSI AC-2,200000 ;SETUP FOR COMPARISON
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 19-1
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0208
|
|
|
|
10066 036523 474 15 0 00 000000 SETO AC+1, ;INITIALIZE AC+1
|
|
10067 036524 201 14 0 00 000002 MOVEI AC,XX ;SETUP MULTIPLIER
|
|
10068 036525 205 13 0 00 100000 MOVSI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10069 036526 224 14 0 00 000013 MUL AC,AC-1 ;MULTIPLY TWO VARIABLES
|
|
10070 036527 332 00 0 00 000014 SKIPE AC ;TEST HIGH PROD
|
|
10071 036530 003 14 0 00 003302 ER3 AC,SN
|
|
10072 036531 312 15 0 00 000012 CAME AC+1,AC-2 ;TEST LOW PRODUCT
|
|
10073 036532 004 15 0 00 003302 ER4 AC+1,SN
|
|
10074 036533 321 16 0 00 036523 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
10075
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 20
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0209
|
|
|
|
10076 ;MUL
|
|
10077 ;MULTIPLIER = 400000 000000
|
|
10078 ;MULTIPLICAND = -1,-2
|
|
10079
|
|
10080 000012 AC=12
|
|
10081 SAVEAC^
|
|
10082 036534 201 14 0 00 036534 MOVEI AC+2,. ;SAVE TEST PC
|
|
10083 036535 202 14 0 00 030051 MOVEM AC+2,TESTPC
|
|
10084 036536 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
10085 036537 202 14 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
10086
|
|
10087 004000 SN=4000
|
|
10088 000000 XX=0
|
|
10089 000000 ZZ=0
|
|
10090
|
|
10091 F4000: REPEAT ^D2,<
|
|
10092 SN=SN+1
|
|
10093 XX=XX+1
|
|
10094 ZZ=ZZ-1
|
|
10095 MOVSI AC,400000 ;SETUP MULTIPLIER
|
|
10096 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10097 MUL AC,AC-1 ;MULTIPLY TWO NEGATIVES
|
|
10098 CAME AC,[ZZ] ;TEST HI PROD
|
|
10099 ER3 AC,SN
|
|
10100 CAME <AC+1>&17,[1B0] ;TEST LO PROD
|
|
10101 ER4 AC+1,SN
|
|
10102 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
10103 >
|
|
10104
|
|
10105 004001 SN=SN+1
|
|
10106 000001 XX=XX+1
|
|
10107 777777 777777 ZZ=ZZ-1
|
|
10108 036540 205 12 0 00 400000 MOVSI AC,400000 ;SETUP MULTIPLIER
|
|
10109 036541 561 11 0 00 777777 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10110 036542 224 12 0 00 000011 MUL AC,AC-1 ;MULTIPLY TWO NEGATIVES
|
|
10111 036543 312 12 0 00 044617 CAME AC,[ZZ] ;TEST HI PROD
|
|
10112 036544 003 12 0 00 004001 ER3 AC,SN
|
|
10113 036545 312 13 0 00 044765 CAME <AC+1>&17,[1B0] ;TEST LO PROD
|
|
10114 036546 004 13 0 00 004001 ER4 AC+1,SN
|
|
10115 036547 321 14 0 00 036540 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
10116
|
|
10117
|
|
10118 004002 SN=SN+1
|
|
10119 000002 XX=XX+1
|
|
10120 777777 777776 ZZ=ZZ-1
|
|
10121 036550 205 12 0 00 400000 MOVSI AC,400000 ;SETUP MULTIPLIER
|
|
10122 036551 561 11 0 00 777776 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10123 036552 224 12 0 00 000011 MUL AC,AC-1 ;MULTIPLY TWO NEGATIVES
|
|
10124 036553 312 12 0 00 044621 CAME AC,[ZZ] ;TEST HI PROD
|
|
10125 036554 003 12 0 00 004002 ER3 AC,SN
|
|
10126 036555 312 13 0 00 044765 CAME <AC+1>&17,[1B0] ;TEST LO PROD
|
|
10127 036556 004 13 0 00 004002 ER4 AC+1,SN
|
|
10128 036557 321 14 0 00 036550 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
10129
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 21
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0210
|
|
|
|
10130 ;TEST MUL-IMMEDIATE MODE
|
|
10131 ;TEST THE ABILITY TO MULTIPLY WITH
|
|
10132 ;EFFECTIVE ADDRESS AS MULTIPLICAND
|
|
10133 ;MULTIPLIER = 1
|
|
10134 ;MULTIPLICAND = E
|
|
10135
|
|
10136 004200 SN=4200
|
|
10137 000011 AC=11
|
|
10138
|
|
10139 ;TEST IMMEDIATE MODE
|
|
10140 F4200: REPEAT ^D2,<
|
|
10141 SN=SN+1
|
|
10142 AC=AC-1
|
|
10143 SAVEAC (1,1) ;SAVE AC FOR ITERATION
|
|
10144 MOVEI AC-2,AC-1 ;SETUP FOR COMPARISON
|
|
10145 MOVEI AC,1 ;SETUP MULTIPLIER
|
|
10146 HRROI AC-1,-1 ;SETUP AC-1
|
|
10147 MULI AC,AC-1 ;MULTIPLY 1 X E
|
|
10148 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
10149 ER4 AC+1,SN ;MULTIPLIED BY C(E) VICE E
|
|
10150 SKIPE AC ;TEST HIGH PROD
|
|
10151 ER3 AC,SN
|
|
10152 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
10153 >
|
|
10154
|
|
10155 004201 SN=SN+1
|
|
10156 000010 AC=AC-1
|
|
10157 SAVEAC (1,1)^
|
|
10158 036560 201 12 0 00 036560 MOVEI AC+2,. ;SAVE TEST PC
|
|
10159 036561 202 12 0 00 030051 MOVEM AC+2,TESTPC
|
|
10160 036562 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
10161 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ ;SAVE AC FOR ITERAT
|
|
10162 036563 202 12 0 00 045447 ION
|
|
10163 036564 201 06 0 00 000007 MOVEI AC-2,AC-1 ;SETUP FOR COMPARISON
|
|
10164 036565 201 10 0 00 000001 MOVEI AC,1 ;SETUP MULTIPLIER
|
|
10165 036566 561 07 0 00 777777 HRROI AC-1,-1 ;SETUP AC-1
|
|
10166 036567 225 10 0 00 000007 MULI AC,AC-1 ;MULTIPLY 1 X E
|
|
10167 036570 312 11 0 00 000006 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
10168 036571 004 11 0 00 004201 ER4 AC+1,SN ;MULTIPLIED BY C(E) VICE E
|
|
10169 036572 332 00 0 00 000010 SKIPE AC ;TEST HIGH PROD
|
|
10170 036573 003 10 0 00 004201 ER3 AC,SN
|
|
10171 036574 321 12 0 00 036564 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
10172
|
|
10173
|
|
10174 004202 SN=SN+1
|
|
10175 000007 AC=AC-1
|
|
10176 SAVEAC (1,1)^
|
|
10177 036575 201 11 0 00 036575 MOVEI AC+2,. ;SAVE TEST PC
|
|
10178 036576 202 11 0 00 030051 MOVEM AC+2,TESTPC
|
|
10179 036577 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
10180 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ ;SAVE AC FOR ITERAT
|
|
10181 036600 202 11 0 00 045447 ION
|
|
10182 036601 201 05 0 00 000006 MOVEI AC-2,AC-1 ;SETUP FOR COMPARISON
|
|
10183 036602 201 07 0 00 000001 MOVEI AC,1 ;SETUP MULTIPLIER
|
|
10184 036603 561 06 0 00 777777 HRROI AC-1,-1 ;SETUP AC-1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 21-1
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0211
|
|
|
|
10185 036604 225 07 0 00 000006 MULI AC,AC-1 ;MULTIPLY 1 X E
|
|
10186 036605 312 10 0 00 000005 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
10187 036606 004 10 0 00 004202 ER4 AC+1,SN ;MULTIPLIED BY C(E) VICE E
|
|
10188 036607 332 00 0 00 000007 SKIPE AC ;TEST HIGH PROD
|
|
10189 036610 003 07 0 00 004202 ER3 AC,SN
|
|
10190 036611 321 11 0 00 036601 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
10191
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 22
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0212
|
|
|
|
10192 ;TEST MUL-MEMORY MODE
|
|
10193 ;TEST SC(E), PRODUCT HIGH ORDER PART
|
|
10194 ;TEST ABILITY TO ASSERT SAC INH
|
|
10195 ;TEST ABILITY TO INHIBIT SAC2-PRODUCT LOW
|
|
10196 ;ORDER PART IS LOST
|
|
10197 ;MULTIPLIER = 200000 000000
|
|
10198 ;MULTIPLICAND = 2,4
|
|
10199
|
|
10200 000007 AC=7
|
|
10201 SAVEAC^
|
|
10202 036612 201 11 0 00 036612 MOVEI AC+2,. ;SAVE TEST PC
|
|
10203 036613 202 11 0 00 030051 MOVEM AC+2,TESTPC
|
|
10204 036614 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
10205 036615 202 11 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
10206
|
|
10207 004300 SN=4300
|
|
10208 000001 ZZ=1
|
|
10209
|
|
10210 ;TEST SCE
|
|
10211 F4300: REPEAT ^D2,<
|
|
10212 SN=SN+1
|
|
10213 ZZ=ZZ+ZZ
|
|
10214 MOVSI AC-2,200000 ;SETUP FOR COMPARISON
|
|
10215 SETZM AC+1 ;SETUP AC+1
|
|
10216 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
10217 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10218 MULM AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
10219 CAME AC,AC-2 ;TEST AC
|
|
10220 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
10221 SKIPE AC+1 ;TEST AC+1
|
|
10222 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
10223 CAIE AC-1,ZZ/2 ;TEST PRODUCT
|
|
10224 ER5 AC-1,SN
|
|
10225 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
10226 >
|
|
10227
|
|
10228 004301 SN=SN+1
|
|
10229 000002 ZZ=ZZ+ZZ
|
|
10230 036616 205 05 0 00 200000 MOVSI AC-2,200000 ;SETUP FOR COMPARISON
|
|
10231 036617 402 00 0 00 000010 SETZM AC+1 ;SETUP AC+1
|
|
10232 036620 205 07 0 00 200000 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
10233 036621 201 06 0 00 000002 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10234 036622 226 07 0 00 000006 MULM AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
10235 036623 312 07 0 00 000005 CAME AC,AC-2 ;TEST AC
|
|
10236 036624 003 07 0 00 004301 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
10237 036625 332 00 0 00 000010 SKIPE AC+1 ;TEST AC+1
|
|
10238 036626 004 10 0 00 004301 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
10239 036627 302 06 0 00 000001 CAIE AC-1,ZZ/2 ;TEST PRODUCT
|
|
10240 036630 005 06 0 00 004301 ER5 AC-1,SN
|
|
10241 036631 321 11 0 00 036620 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
10242
|
|
10243
|
|
10244 004302 SN=SN+1
|
|
10245 000004 ZZ=ZZ+ZZ
|
|
10246 036632 205 05 0 00 200000 MOVSI AC-2,200000 ;SETUP FOR COMPARISON
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 22-1
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0213
|
|
|
|
10247 036633 402 00 0 00 000010 SETZM AC+1 ;SETUP AC+1
|
|
10248 036634 205 07 0 00 200000 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
10249 036635 201 06 0 00 000004 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10250 036636 226 07 0 00 000006 MULM AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
10251 036637 312 07 0 00 000005 CAME AC,AC-2 ;TEST AC
|
|
10252 036640 003 07 0 00 004302 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
10253 036641 332 00 0 00 000010 SKIPE AC+1 ;TEST AC+1
|
|
10254 036642 004 10 0 00 004302 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
10255 036643 302 06 0 00 000002 CAIE AC-1,ZZ/2 ;TEST PRODUCT
|
|
10256 036644 005 06 0 00 004302 ER5 AC-1,SN
|
|
10257 036645 321 11 0 00 036634 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
10258
|
|
10259 PAGE
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 22-2
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0214
|
|
|
|
10260 004400 SN=4400
|
|
10261 000001 ZZ=1
|
|
10262
|
|
10263 ;TEST SAC INH
|
|
10264 F4400: REPEAT ^D2,<
|
|
10265 SN=SN+1
|
|
10266 ZZ=ZZ+ZZ
|
|
10267 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
10268 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10269 MULM AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
10270 TLNN AC,200000 ;TEST FOR ORIGINAL CONTENTS
|
|
10271 ER3 AC,SN
|
|
10272 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
10273 >
|
|
10274
|
|
10275 004401 SN=SN+1
|
|
10276 000002 ZZ=ZZ+ZZ
|
|
10277 036646 205 07 0 00 200000 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
10278 036647 201 06 0 00 000002 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10279 036650 226 07 0 00 000006 MULM AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
10280 036651 607 07 0 00 200000 TLNN AC,200000 ;TEST FOR ORIGINAL CONTENTS
|
|
10281 036652 003 07 0 00 004401 ER3 AC,SN
|
|
10282 036653 321 11 0 00 036646 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
10283
|
|
10284
|
|
10285 004402 SN=SN+1
|
|
10286 000004 ZZ=ZZ+ZZ
|
|
10287 036654 205 07 0 00 200000 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
10288 036655 201 06 0 00 000004 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10289 036656 226 07 0 00 000006 MULM AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
10290 036657 607 07 0 00 200000 TLNN AC,200000 ;TEST FOR ORIGINAL CONTENTS
|
|
10291 036660 003 07 0 00 004402 ER3 AC,SN
|
|
10292 036661 321 11 0 00 036654 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
10293
|
|
10294 PAGE
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 22-3
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0215
|
|
|
|
10295 004500 SN=4500
|
|
10296 000001 ZZ=1
|
|
10297
|
|
10298 ;TEST SAC2 ASSERTED
|
|
10299 F4500: REPEAT ^D2,<
|
|
10300 SN=SN+1
|
|
10301 ZZ=ZZ+ZZ
|
|
10302 SETZ AC+1, ;CLEAR AC+1
|
|
10303 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
10304 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10305 MULM AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
10306 SKIPE AC+1 ;TEST FOR ORIGINAL CONTENTS
|
|
10307 ER4 AC+1,SN
|
|
10308 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
|
|
10309 >
|
|
10310
|
|
10311 004501 SN=SN+1
|
|
10312 000002 ZZ=ZZ+ZZ
|
|
10313 036662 400 10 0 00 000000 SETZ AC+1, ;CLEAR AC+1
|
|
10314 036663 205 07 0 00 200000 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
10315 036664 201 06 0 00 000002 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10316 036665 226 07 0 00 000006 MULM AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
10317 036666 332 00 0 00 000010 SKIPE AC+1 ;TEST FOR ORIGINAL CONTENTS
|
|
10318 036667 004 10 0 00 004501 ER4 AC+1,SN
|
|
10319 036670 321 11 0 00 036662 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
|
|
10320
|
|
10321
|
|
10322 004502 SN=SN+1
|
|
10323 000004 ZZ=ZZ+ZZ
|
|
10324 036671 400 10 0 00 000000 SETZ AC+1, ;CLEAR AC+1
|
|
10325 036672 205 07 0 00 200000 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
10326 036673 201 06 0 00 000004 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10327 036674 226 07 0 00 000006 MULM AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
10328 036675 332 00 0 00 000010 SKIPE AC+1 ;TEST FOR ORIGINAL CONTENTS
|
|
10329 036676 004 10 0 00 004502 ER4 AC+1,SN
|
|
10330 036677 321 11 0 00 036671 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
|
|
10331
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 23
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0216
|
|
|
|
10332 ;TEST MUL-BOTH MODE
|
|
10333 ;TEST ABILITY TO STORE PRODUCT HIGH ORDER
|
|
10334 ;PART IN AC,E
|
|
10335 ;TEST ABILITY TO STORE PRODUCT LOW ORDER
|
|
10336 ;PART IN AC+1
|
|
10337 ;MULTIPLIER = 200000 000000
|
|
10338 ;MULTIPLICAND = 5,7
|
|
10339
|
|
10340 000006 AC=6
|
|
10341 SAVEAC (1,1)^
|
|
10342 036700 201 10 0 00 036700 MOVEI AC+2,. ;SAVE TEST PC
|
|
10343 036701 202 10 0 00 030051 MOVEM AC+2,TESTPC
|
|
10344 036702 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
10345 036703 202 10 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
10346
|
|
10347 004600 SN=4600
|
|
10348 000001 XX=1
|
|
10349 000003 ZZ=3
|
|
10350
|
|
10351 F4600: REPEAT ^D2,<
|
|
10352 SN=SN+1
|
|
10353 XX=XX+1
|
|
10354 ZZ=ZZ+2
|
|
10355 MOVSI AC-2,200000 ;SETUP FOR COMPARISON
|
|
10356 SETZM AC+1 ;SETUP FOR COMPARISON
|
|
10357 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
10358 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10359 MULB AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
10360 CAME AC,AC-1 ;TEST C(AC) = C (E)
|
|
10361 ER3 AC,SN ;SCE FAILED
|
|
10362 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
10363 ER4 AC+1,SN
|
|
10364 CAIE AC-1,XX ;TEST LOW PROD
|
|
10365 ER5 AC-1,SN
|
|
10366 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
10367 >
|
|
10368
|
|
10369 004601 SN=SN+1
|
|
10370 000002 XX=XX+1
|
|
10371 000005 ZZ=ZZ+2
|
|
10372 036704 205 04 0 00 200000 MOVSI AC-2,200000 ;SETUP FOR COMPARISON
|
|
10373 036705 402 00 0 00 000007 SETZM AC+1 ;SETUP FOR COMPARISON
|
|
10374 036706 205 06 0 00 200000 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
10375 036707 201 05 0 00 000005 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10376 036710 227 06 0 00 000005 MULB AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
10377 036711 312 06 0 00 000005 CAME AC,AC-1 ;TEST C(AC) = C (E)
|
|
10378 036712 003 06 0 00 004601 ER3 AC,SN ;SCE FAILED
|
|
10379 036713 312 07 0 00 000004 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
10380 036714 004 07 0 00 004601 ER4 AC+1,SN
|
|
10381 036715 302 05 0 00 000002 CAIE AC-1,XX ;TEST LOW PROD
|
|
10382 036716 005 05 0 00 004601 ER5 AC-1,SN
|
|
10383 036717 321 10 0 00 036704 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
10384
|
|
10385
|
|
10386 004602 SN=SN+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 23-1
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0217
|
|
|
|
10387 000003 XX=XX+1
|
|
10388 000007 ZZ=ZZ+2
|
|
10389 036720 205 04 0 00 200000 MOVSI AC-2,200000 ;SETUP FOR COMPARISON
|
|
10390 036721 402 00 0 00 000007 SETZM AC+1 ;SETUP FOR COMPARISON
|
|
10391 036722 205 06 0 00 200000 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
10392 036723 201 05 0 00 000007 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10393 036724 227 06 0 00 000005 MULB AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
10394 036725 312 06 0 00 000005 CAME AC,AC-1 ;TEST C(AC) = C (E)
|
|
10395 036726 003 06 0 00 004602 ER3 AC,SN ;SCE FAILED
|
|
10396 036727 312 07 0 00 000004 CAME AC+1,AC-2 ;TEST LOW PROD
|
|
10397 036730 004 07 0 00 004602 ER4 AC+1,SN
|
|
10398 036731 302 05 0 00 000003 CAIE AC-1,XX ;TEST LOW PROD
|
|
10399 036732 005 05 0 00 004602 ER5 AC-1,SN
|
|
10400 036733 321 10 0 00 036720 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
10401
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 24
|
|
DAKALM MAC 20-JAN-77 11:20 MAIN TESTING SEQ 0218
|
|
|
|
10402 ;TEST AROV SET-MUL
|
|
10403 ;MULTIPLIER = 400000 000000
|
|
10404 ;MULTIPLICAND = 400000 000000
|
|
10405 ;PRODUCT = 400000 000000 400000 000000
|
|
10406 ;AROV IS SET
|
|
10407
|
|
10408 036734 254 02 1 00 045245 F4710: JRSTF @[.+1] ;CLEAR ALL FLAGS
|
|
10409 036735 205 06 0 00 400000 MOVSI AC,400000 ;SETUP MULTIPLIER
|
|
10410 036736 205 04 0 00 400000 MOVSI AC-2,400000 ;SETUP MULTIPLICAND
|
|
10411 036737 224 06 0 00 000004 MUL AC,AC-2
|
|
10412 036740 265 03 0 00 036741 JSP AC-3,.+1 ;SAVE FLAGS
|
|
10413 036741 312 06 0 00 044765 CAME AC,[1B0] ;TEST HIGH PRODUCT
|
|
10414 036742 003 06 0 00 004711 ER3 AC,4711
|
|
10415 036743 312 07 0 00 044765 CAME AC+1,[1B0] ;TEST LOW PRODUCT
|
|
10416 036744 004 07 0 00 004711 ER4 AC+1,4711
|
|
10417 036745 255 10 0 00 036747 JOV .+2 ;TEST AROV
|
|
10418 036746 013 03 0 00 004711 ER13 AC-3,4711 ;FAIL IF AROV NOT SET
|
|
10419 036747 321 10 0 00 036734 JUMPL AC+2,F4710 ;LOOP ON ERROR SWITCH
|
|
10420
|
|
10421 ;TEST AROV SET-MULB
|
|
10422 ;MULTIPLIER = 400000 000000
|
|
10423 ;MULTIPLICAND = 400000 000000
|
|
10424 ;PRODUCT = 400000 000000 400000 000000
|
|
10425 ;AROV IS SET
|
|
10426
|
|
10427 036750 254 02 1 00 045246 F4720: JRSTF @[.+1] ;CLEAR ALL FLAGS
|
|
10428 036751 205 06 0 00 400000 MOVSI AC,400000 ;SETUP MULTIPLIER
|
|
10429 036752 205 04 0 00 400000 MOVSI AC-2,400000 ;SETUP MULTIPLICAND
|
|
10430 036753 227 06 0 00 000004 MULB AC,AC-2
|
|
10431 036754 265 03 0 00 036755 JSP AC-3,.+1 ;SAVE FLAGS
|
|
10432 036755 312 06 0 00 044765 CAME AC,[1B0] ;TEST HIGH PRODUCT
|
|
10433 036756 003 06 0 00 004721 ER3 AC,4721
|
|
10434 036757 312 07 0 00 044765 CAME AC+1,[1B0] ;TEST LOW PRODUCT
|
|
10435 036760 004 07 0 00 004721 ER4 AC+1,4721
|
|
10436 036761 312 04 0 00 044765 CAME AC-2,[1B0] ;TEST HIGH PRODUCT
|
|
10437 036762 005 04 0 00 004721 ER5 AC-2,4721
|
|
10438 036763 255 10 0 00 036765 JOV .+2 ;TEST AROV
|
|
10439 036764 013 03 0 00 004721 ER13 AC-3,4721 ;FAIL IF AROV NOT SET
|
|
10440 036765 321 10 0 00 036750 JUMPL AC+2,F4720 ;LOOP ON ERROR SWITCH
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 25
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0219
|
|
|
|
10441 SUBTTL DIAGNOSTIC SECTION - INTEGER MPY TEST
|
|
10442
|
|
10443 ;MULTIPLIER =400000 000000
|
|
10444 ;MULTIPLICAND = 2,4
|
|
10445
|
|
10446 000010 AC=10
|
|
10447 SAVEAC (1,1)^
|
|
10448 036766 201 12 0 00 036766 MOVEI AC+2,. ;SAVE TEST PC
|
|
10449 036767 202 12 0 00 030051 MOVEM AC+2,TESTPC
|
|
10450 036770 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
10451 036771 202 12 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
10452 036772 254 02 1 00 045247 JRSTF @[.+1] ;CLEAR ALL FLAGS
|
|
10453
|
|
10454 005000 SN=5000
|
|
10455 000001 ZZ=1
|
|
10456
|
|
10457 F5000: REPEAT ^D2,<
|
|
10458 SN=SN+1
|
|
10459 ZZ=ZZ+ZZ
|
|
10460 MOVSI AC,400000 ;SETUP MULTIPLIER
|
|
10461 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10462 IMUL AC,AC-1 ;MUL 400000 000000 X ZZ
|
|
10463 SKIPE AC ;TEST PROD = 0
|
|
10464 ER3 AC,SN
|
|
10465 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
10466 >
|
|
10467
|
|
10468 005001 SN=SN+1
|
|
10469 000002 ZZ=ZZ+ZZ
|
|
10470 036773 205 10 0 00 400000 MOVSI AC,400000 ;SETUP MULTIPLIER
|
|
10471 036774 201 07 0 00 000002 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10472 036775 220 10 0 00 000007 IMUL AC,AC-1 ;MUL 400000 000000 X ZZ
|
|
10473 036776 332 00 0 00 000010 SKIPE AC ;TEST PROD = 0
|
|
10474 036777 003 10 0 00 005001 ER3 AC,SN
|
|
10475 037000 321 12 0 00 036773 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
10476
|
|
10477
|
|
10478 005002 SN=SN+1
|
|
10479 000004 ZZ=ZZ+ZZ
|
|
10480 037001 205 10 0 00 400000 MOVSI AC,400000 ;SETUP MULTIPLIER
|
|
10481 037002 201 07 0 00 000004 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10482 037003 220 10 0 00 000007 IMUL AC,AC-1 ;MUL 400000 000000 X ZZ
|
|
10483 037004 332 00 0 00 000010 SKIPE AC ;TEST PROD = 0
|
|
10484 037005 003 10 0 00 005002 ER3 AC,SN
|
|
10485 037006 321 12 0 00 037001 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
10486
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 26
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0220
|
|
|
|
10487 ;TEST AROV SET
|
|
10488 ;TEST ABILITY TO SET AROV FLAG
|
|
10489 ;NUMBERS OF LIKE SIGNS ARE MULTIPLIED
|
|
10490 ;AND TESTED FOR OVERFLOW/OVERFLOW NOT
|
|
10491 ;NUMBERS OF UNLIKE SIGNS ARE MULTIPLIED
|
|
10492 ;AND TESTED FOR OVERFLOW NOT
|
|
10493
|
|
10494 000014 AC=14
|
|
10495 SAVEAC (1,1)^
|
|
10496 037007 201 16 0 00 037007 MOVEI AC+2,. ;SAVE TEST PC
|
|
10497 037010 202 16 0 00 030051 MOVEM AC+2,TESTPC
|
|
10498 037011 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
10499 037012 202 16 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
10500
|
|
10501 005100 SN=5100
|
|
10502 200000 XX=200000
|
|
10503 000001 ZZ=1
|
|
10504
|
|
10505 ;TEST 2 POSITS-OVERFLOW NOT
|
|
10506 F5100: REPEAT ^D2,<
|
|
10507 SN=SN+1
|
|
10508 XX=XX+200000
|
|
10509 ZZ=ZZ+1
|
|
10510 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
10511 MOVEI AC,200000 ;SETUP MULTIPLIER
|
|
10512 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10513 IMUL AC,AC-1 ;MUL 000000 200000 X ZZ
|
|
10514 JSP AC+1,.+1
|
|
10515 CAIE AC,XX
|
|
10516 ER3 AC,SN
|
|
10517 JOV .+2 ;TEST FOR SET COND
|
|
10518 JRST .+2 ;FLAG IS NOT SET
|
|
10519 ER13 AC+1,SN ;FLAG IS SET
|
|
10520 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
10521 >
|
|
10522
|
|
10523 005101 SN=SN+1
|
|
10524 400000 XX=XX+200000
|
|
10525 000002 ZZ=ZZ+1
|
|
10526 037013 254 02 1 00 045250 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
10527 037014 201 14 0 00 200000 MOVEI AC,200000 ;SETUP MULTIPLIER
|
|
10528 037015 201 13 0 00 000002 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10529 037016 220 14 0 00 000013 IMUL AC,AC-1 ;MUL 000000 200000 X ZZ
|
|
10530 037017 265 15 0 00 037020 JSP AC+1,.+1
|
|
10531 037020 302 14 0 00 400000 CAIE AC,XX
|
|
10532 037021 003 14 0 00 005101 ER3 AC,SN
|
|
10533 037022 255 10 0 00 037024 JOV .+2 ;TEST FOR SET COND
|
|
10534 037023 254 00 0 00 037025 JRST .+2 ;FLAG IS NOT SET
|
|
10535 037024 013 15 0 00 005101 ER13 AC+1,SN ;FLAG IS SET
|
|
10536 037025 321 16 0 00 037013 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
10537
|
|
10538
|
|
10539 005102 SN=SN+1
|
|
10540 600000 XX=XX+200000
|
|
10541 000003 ZZ=ZZ+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 26-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0221
|
|
|
|
10542 037026 254 02 1 00 045251 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
10543 037027 201 14 0 00 200000 MOVEI AC,200000 ;SETUP MULTIPLIER
|
|
10544 037030 201 13 0 00 000003 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10545 037031 220 14 0 00 000013 IMUL AC,AC-1 ;MUL 000000 200000 X ZZ
|
|
10546 037032 265 15 0 00 037033 JSP AC+1,.+1
|
|
10547 037033 302 14 0 00 600000 CAIE AC,XX
|
|
10548 037034 003 14 0 00 005102 ER3 AC,SN
|
|
10549 037035 255 10 0 00 037037 JOV .+2 ;TEST FOR SET COND
|
|
10550 037036 254 00 0 00 037040 JRST .+2 ;FLAG IS NOT SET
|
|
10551 037037 013 15 0 00 005102 ER13 AC+1,SN ;FLAG IS SET
|
|
10552 037040 321 16 0 00 037026 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
10553
|
|
10554 PAGE
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 26-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0222
|
|
|
|
10555 005200 SN=5200
|
|
10556 040000 XX=40000
|
|
10557 000001 ZZ=1
|
|
10558
|
|
10559 ;TEST 2 POSITS-OVERFLOW
|
|
10560 F5200: REPEAT ^D2,<
|
|
10561 SN=SN+1
|
|
10562 XX=XX+XX
|
|
10563 ZZ=ZZ+1
|
|
10564 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
10565 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
10566 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10567 MOVSI AC-2,XX&200000
|
|
10568 IMUL AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
10569 JSP AC+1,.+1
|
|
10570 CAME AC,AC-2
|
|
10571 ER3 AC,SN ;C(AC) FAILED
|
|
10572 JOV .+2 ;TEST FOR SET CONDITION
|
|
10573 ER13 AC+1,SN ;FLAG DID NOT SET
|
|
10574 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
10575 >
|
|
10576
|
|
10577 005201 SN=SN+1
|
|
10578 100000 XX=XX+XX
|
|
10579 000002 ZZ=ZZ+1
|
|
10580 037041 254 02 1 00 045252 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
10581 037042 205 14 0 00 200000 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
10582 037043 201 13 0 00 000002 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10583 037044 205 12 0 00 000000 MOVSI AC-2,XX&200000
|
|
10584 037045 220 14 0 00 000013 IMUL AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
10585 037046 265 15 0 00 037047 JSP AC+1,.+1
|
|
10586 037047 312 14 0 00 000012 CAME AC,AC-2
|
|
10587 037050 003 14 0 00 005201 ER3 AC,SN ;C(AC) FAILED
|
|
10588 037051 255 10 0 00 037053 JOV .+2 ;TEST FOR SET CONDITION
|
|
10589 037052 013 15 0 00 005201 ER13 AC+1,SN ;FLAG DID NOT SET
|
|
10590 037053 321 16 0 00 037041 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
10591
|
|
10592
|
|
10593 005202 SN=SN+1
|
|
10594 200000 XX=XX+XX
|
|
10595 000003 ZZ=ZZ+1
|
|
10596 037054 254 02 1 00 045253 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
10597 037055 205 14 0 00 200000 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
10598 037056 201 13 0 00 000003 MOVEI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10599 037057 205 12 0 00 200000 MOVSI AC-2,XX&200000
|
|
10600 037060 220 14 0 00 000013 IMUL AC,AC-1 ;MUL 200000 000000 X ZZ
|
|
10601 037061 265 15 0 00 037062 JSP AC+1,.+1
|
|
10602 037062 312 14 0 00 000012 CAME AC,AC-2
|
|
10603 037063 003 14 0 00 005202 ER3 AC,SN ;C(AC) FAILED
|
|
10604 037064 255 10 0 00 037066 JOV .+2 ;TEST FOR SET CONDITION
|
|
10605 037065 013 15 0 00 005202 ER13 AC+1,SN ;FLAG DID NOT SET
|
|
10606 037066 321 16 0 00 037054 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
10607
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 27
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0223
|
|
|
|
10608 005300 SN=5300
|
|
10609 000001 XX=1
|
|
10610 000000 ZZ=0
|
|
10611
|
|
10612 ;TEST 2 NEGATS-OVERFLOW NOT
|
|
10613 F5300: REPEAT ^D2,<
|
|
10614 SN=SN+1
|
|
10615 XX=XX+XX
|
|
10616 ZZ=ZZ-1
|
|
10617 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
10618 HRROI AC,-2 ;SETUP MULTIPLIER
|
|
10619 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10620 IMUL AC,AC-1 ;MULTIPLY -2 X ZZ
|
|
10621 JSP AC+1,.+1
|
|
10622 CAIE AC,XX
|
|
10623 ER3 AC,SN ;C(AC) FAILED
|
|
10624 JOV .+2 ;TEST FOR SET NOT CONDITION
|
|
10625 JRST ,.+2 ;FLAG NOT SET
|
|
10626 ER13 AC+1,SN ;FLAG IS SET
|
|
10627 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
10628 >
|
|
10629
|
|
10630 005301 SN=SN+1
|
|
10631 000002 XX=XX+XX
|
|
10632 777777 777777 ZZ=ZZ-1
|
|
10633 037067 254 02 1 00 045254 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
10634 037070 561 14 0 00 777776 HRROI AC,-2 ;SETUP MULTIPLIER
|
|
10635 037071 561 13 0 00 777777 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10636 037072 220 14 0 00 000013 IMUL AC,AC-1 ;MULTIPLY -2 X ZZ
|
|
10637 037073 265 15 0 00 037074 JSP AC+1,.+1
|
|
10638 037074 302 14 0 00 000002 CAIE AC,XX
|
|
10639 037075 003 14 0 00 005301 ER3 AC,SN ;C(AC) FAILED
|
|
10640 037076 255 10 0 00 037100 JOV .+2 ;TEST FOR SET NOT CONDITION
|
|
10641 037077 254 00 0 00 037101 JRST ,.+2 ;FLAG NOT SET
|
|
10642 037100 013 15 0 00 005301 ER13 AC+1,SN ;FLAG IS SET
|
|
10643 037101 321 16 0 00 037067 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
10644
|
|
10645
|
|
10646 005302 SN=SN+1
|
|
10647 000004 XX=XX+XX
|
|
10648 777777 777776 ZZ=ZZ-1
|
|
10649 037102 254 02 1 00 045255 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
10650 037103 561 14 0 00 777776 HRROI AC,-2 ;SETUP MULTIPLIER
|
|
10651 037104 561 13 0 00 777776 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10652 037105 220 14 0 00 000013 IMUL AC,AC-1 ;MULTIPLY -2 X ZZ
|
|
10653 037106 265 15 0 00 037107 JSP AC+1,.+1
|
|
10654 037107 302 14 0 00 000004 CAIE AC,XX
|
|
10655 037110 003 14 0 00 005302 ER3 AC,SN ;C(AC) FAILED
|
|
10656 037111 255 10 0 00 037113 JOV .+2 ;TEST FOR SET NOT CONDITION
|
|
10657 037112 254 00 0 00 037114 JRST ,.+2 ;FLAG NOT SET
|
|
10658 037113 013 15 0 00 005302 ER13 AC+1,SN ;FLAG IS SET
|
|
10659 037114 321 16 0 00 037102 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
10660
|
|
10661 PAGE
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 27-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0224
|
|
|
|
10662 005400 SN=5400
|
|
10663 777777 777777 ZZ=-1
|
|
10664
|
|
10665 ;TEST 2 NEGATS-OVERFLOW
|
|
10666 F5400: REPEAT ^D2,<
|
|
10667 SN=SN+1
|
|
10668 ZZ=ZZ-1
|
|
10669 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
10670 MOVSI AC,400000 ;SETUP MULTIPLIER
|
|
10671 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10672 IMUL AC,AC-1 ;MUL 400000 000000 X ZZ
|
|
10673 JSP AC+1,.+1
|
|
10674 CAME AC,[1B0] ;TEST PROD
|
|
10675 ER3 AC,SN ;C(AC) FAILED
|
|
10676 JOV .+2 ;TEST FOR SET CONDITION
|
|
10677 ER13 AC+1,SN ;FLAG DID NOT SET
|
|
10678 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
10679 >
|
|
10680
|
|
10681 005401 SN=SN+1
|
|
10682 777777 777776 ZZ=ZZ-1
|
|
10683 037115 254 02 1 00 045256 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
10684 037116 205 14 0 00 400000 MOVSI AC,400000 ;SETUP MULTIPLIER
|
|
10685 037117 561 13 0 00 777776 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10686 037120 220 14 0 00 000013 IMUL AC,AC-1 ;MUL 400000 000000 X ZZ
|
|
10687 037121 265 15 0 00 037122 JSP AC+1,.+1
|
|
10688 037122 312 14 0 00 044765 CAME AC,[1B0] ;TEST PROD
|
|
10689 037123 003 14 0 00 005401 ER3 AC,SN ;C(AC) FAILED
|
|
10690 037124 255 10 0 00 037126 JOV .+2 ;TEST FOR SET CONDITION
|
|
10691 037125 013 15 0 00 005401 ER13 AC+1,SN ;FLAG DID NOT SET
|
|
10692 037126 321 16 0 00 037115 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
10693
|
|
10694
|
|
10695 005402 SN=SN+1
|
|
10696 777777 777775 ZZ=ZZ-1
|
|
10697 037127 254 02 1 00 045257 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
10698 037130 205 14 0 00 400000 MOVSI AC,400000 ;SETUP MULTIPLIER
|
|
10699 037131 561 13 0 00 777775 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10700 037132 220 14 0 00 000013 IMUL AC,AC-1 ;MUL 400000 000000 X ZZ
|
|
10701 037133 265 15 0 00 037134 JSP AC+1,.+1
|
|
10702 037134 312 14 0 00 044765 CAME AC,[1B0] ;TEST PROD
|
|
10703 037135 003 14 0 00 005402 ER3 AC,SN ;C(AC) FAILED
|
|
10704 037136 255 10 0 00 037140 JOV .+2 ;TEST FOR SET CONDITION
|
|
10705 037137 013 15 0 00 005402 ER13 AC+1,SN ;FLAG DID NOT SET
|
|
10706 037140 321 16 0 00 037127 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
10707
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 28
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0225
|
|
|
|
10708 005500 SN=5500
|
|
10709 000001 000000 XX=1000000
|
|
10710 777777 777777 ZZ=-1
|
|
10711
|
|
10712 ;TEST UNLIKE,OVERFLOW NOT
|
|
10713 F5500: REPEAT ^D2,<
|
|
10714 SN=SN+1
|
|
10715 XX=XX/2
|
|
10716 ZZ=ZZ-1
|
|
10717 JRSTF @[.+1] ;CLR ALL FLAGS,EXEC NEXT INST
|
|
10718 MOVEI AC,200000 ;SETUP MULTIPLIER
|
|
10719 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10720 HRROI AC-2,XX
|
|
10721 IMUL AC,AC-1 ;MUL 000000 200000 X ZZ
|
|
10722 JSP AC+1,.+1
|
|
10723 CAME AC,AC-2
|
|
10724 ER3 AC,SN ;C(AC) FAILED
|
|
10725 JOV .+2 ;TEST FOR SET NOT COND
|
|
10726 JRST ,.+2 ;FLAG NOT SET
|
|
10727 ER13 AC+1,SN ;FLAG IS SET
|
|
10728 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
10729 >
|
|
10730
|
|
10731 005501 SN=SN+1
|
|
10732 400000 XX=XX/2
|
|
10733 777777 777776 ZZ=ZZ-1
|
|
10734 037141 254 02 1 00 045260 JRSTF @[.+1] ;CLR ALL FLAGS,EXEC NEXT INST
|
|
10735 037142 201 14 0 00 200000 MOVEI AC,200000 ;SETUP MULTIPLIER
|
|
10736 037143 561 13 0 00 777776 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10737 037144 561 12 0 00 400000 HRROI AC-2,XX
|
|
10738 037145 220 14 0 00 000013 IMUL AC,AC-1 ;MUL 000000 200000 X ZZ
|
|
10739 037146 265 15 0 00 037147 JSP AC+1,.+1
|
|
10740 037147 312 14 0 00 000012 CAME AC,AC-2
|
|
10741 037150 003 14 0 00 005501 ER3 AC,SN ;C(AC) FAILED
|
|
10742 037151 255 10 0 00 037153 JOV .+2 ;TEST FOR SET NOT COND
|
|
10743 037152 254 00 0 00 037154 JRST ,.+2 ;FLAG NOT SET
|
|
10744 037153 013 15 0 00 005501 ER13 AC+1,SN ;FLAG IS SET
|
|
10745 037154 321 16 0 00 037141 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
10746
|
|
10747
|
|
10748 005502 SN=SN+1
|
|
10749 200000 XX=XX/2
|
|
10750 777777 777775 ZZ=ZZ-1
|
|
10751 037155 254 02 1 00 045261 JRSTF @[.+1] ;CLR ALL FLAGS,EXEC NEXT INST
|
|
10752 037156 201 14 0 00 200000 MOVEI AC,200000 ;SETUP MULTIPLIER
|
|
10753 037157 561 13 0 00 777775 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10754 037160 561 12 0 00 200000 HRROI AC-2,XX
|
|
10755 037161 220 14 0 00 000013 IMUL AC,AC-1 ;MUL 000000 200000 X ZZ
|
|
10756 037162 265 15 0 00 037163 JSP AC+1,.+1
|
|
10757 037163 312 14 0 00 000012 CAME AC,AC-2
|
|
10758 037164 003 14 0 00 005502 ER3 AC,SN ;C(AC) FAILED
|
|
10759 037165 255 10 0 00 037167 JOV .+2 ;TEST FOR SET NOT COND
|
|
10760 037166 254 00 0 00 037170 JRST ,.+2 ;FLAG NOT SET
|
|
10761 037167 013 15 0 00 005502 ER13 AC+1,SN ;FLAG IS SET
|
|
10762 037170 321 16 0 00 037155 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 28-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0226
|
|
|
|
10763
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 29
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0227
|
|
|
|
10764 ;PLIER = -1
|
|
10765 ;PLICAND = 1,2
|
|
10766
|
|
10767 000011 AC=11
|
|
10768 SAVEAC (1,1)^
|
|
10769 037171 201 13 0 00 037171 MOVEI AC+2,. ;SAVE TEST PC
|
|
10770 037172 202 13 0 00 030051 MOVEM AC+2,TESTPC
|
|
10771 037173 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
10772 037174 202 13 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
10773
|
|
10774 005600 SN=5600
|
|
10775 000001 000000 XX=1000000
|
|
10776 000000 ZZ=0
|
|
10777
|
|
10778 F5600: REPEAT ^D2,<
|
|
10779 SN=SN+1
|
|
10780 XX=XX-1
|
|
10781 ZZ=ZZ+ZZ
|
|
10782 IFE ZZ,<ZZ=1>
|
|
10783 JRSTF @[.+1] ;CLR ALL FLAGS,EXEC NEXT INST
|
|
10784 SETO AC, ;SETUP MULTIPLIER
|
|
10785 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10786 IMUL AC,AC-1 ;MULTIPLY -1 X ZZ
|
|
10787 JSP AC+1,.+1
|
|
10788 CAIE AC,XX
|
|
10789 ER3 AC,SN ;C(AC) FAILED
|
|
10790 JOV .+2
|
|
10791 JRST ,.+2
|
|
10792 ER13 AC+1,SN
|
|
10793 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
10794 >
|
|
10795
|
|
10796 005601 SN=SN+1
|
|
10797 777777 XX=XX-1
|
|
10798 000000 ZZ=ZZ+ZZ
|
|
10799 000001 IFE ZZ,<ZZ=1>
|
|
10800 037175 254 02 1 00 045262 JRSTF @[.+1] ;CLR ALL FLAGS,EXEC NEXT INST
|
|
10801 037176 474 11 0 00 000000 SETO AC, ;SETUP MULTIPLIER
|
|
10802 037177 561 10 0 00 000001 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10803 037200 220 11 0 00 000010 IMUL AC,AC-1 ;MULTIPLY -1 X ZZ
|
|
10804 037201 265 12 0 00 037202 JSP AC+1,.+1
|
|
10805 037202 302 11 0 00 777777 CAIE AC,XX
|
|
10806 037203 003 11 0 00 005601 ER3 AC,SN ;C(AC) FAILED
|
|
10807 037204 255 10 0 00 037206 JOV .+2
|
|
10808 037205 254 00 0 00 037207 JRST ,.+2
|
|
10809 037206 013 12 0 00 005601 ER13 AC+1,SN
|
|
10810 037207 321 13 0 00 037175 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
10811
|
|
10812
|
|
10813 005602 SN=SN+1
|
|
10814 777776 XX=XX-1
|
|
10815 000002 ZZ=ZZ+ZZ
|
|
10816 IFE ZZ,<ZZ=1>
|
|
10817 037210 254 02 1 00 045263 JRSTF @[.+1] ;CLR ALL FLAGS,EXEC NEXT INST
|
|
10818 037211 474 11 0 00 000000 SETO AC, ;SETUP MULTIPLIER
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 29-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0228
|
|
|
|
10819 037212 561 10 0 00 000002 HRROI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10820 037213 220 11 0 00 000010 IMUL AC,AC-1 ;MULTIPLY -1 X ZZ
|
|
10821 037214 265 12 0 00 037215 JSP AC+1,.+1
|
|
10822 037215 302 11 0 00 777776 CAIE AC,XX
|
|
10823 037216 003 11 0 00 005602 ER3 AC,SN ;C(AC) FAILED
|
|
10824 037217 255 10 0 00 037221 JOV .+2
|
|
10825 037220 254 00 0 00 037222 JRST ,.+2
|
|
10826 037221 013 12 0 00 005602 ER13 AC+1,SN
|
|
10827 037222 321 13 0 00 037210 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
10828
|
|
10829 PAGE
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 29-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0229
|
|
|
|
10830 ;MULTIPLIER = -1
|
|
10831 ;PLICAND = 200000 000000,200000 000010
|
|
10832
|
|
10833 000013 AC=13
|
|
10834 SAVEAC (1,1)^
|
|
10835 037223 201 15 0 00 037223 MOVEI AC+2,. ;SAVE TEST PC
|
|
10836 037224 202 15 0 00 030051 MOVEM AC+2,TESTPC
|
|
10837 037225 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
10838 037226 202 15 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
10839
|
|
10840 005700 SN=5700
|
|
10841 600010 XX=600010
|
|
10842 177770 ZZ=177770
|
|
10843
|
|
10844 F5700: REPEAT ^D2,<
|
|
10845 SN=SN+1
|
|
10846 XX=XX-10
|
|
10847 ZZ=ZZ+10
|
|
10848 JRSTF @[.+1] ;CLR ALL FLAGS,EXEC NEXT INST
|
|
10849 SETO AC, ;SETUP MULTIPLIER
|
|
10850 MOVSI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10851 MOVSI AC-2,XX
|
|
10852 IMUL AC,AC-1 ;MULTIPLY -1 X ZZ
|
|
10853 JSP AC+1,.+1
|
|
10854 CAME AC,AC-2
|
|
10855 ER3 AC,SN ;C(AC) FAILED
|
|
10856 JOV .+2 ;TEST FOR OVERFLOW
|
|
10857 JRST ,.+2
|
|
10858 ER13 AC+1,SN
|
|
10859 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
10860 >
|
|
10861
|
|
10862 005701 SN=SN+1
|
|
10863 600000 XX=XX-10
|
|
10864 200000 ZZ=ZZ+10
|
|
10865 037227 254 02 1 00 045264 JRSTF @[.+1] ;CLR ALL FLAGS,EXEC NEXT INST
|
|
10866 037230 474 13 0 00 000000 SETO AC, ;SETUP MULTIPLIER
|
|
10867 037231 205 12 0 00 200000 MOVSI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
10868 037232 205 11 0 00 600000 MOVSI AC-2,XX
|
|
10869 037233 220 13 0 00 000012 IMUL AC,AC-1 ;MULTIPLY -1 X ZZ
|
|
10870 037234 265 14 0 00 037235 JSP AC+1,.+1
|
|
10871 037235 312 13 0 00 000011 CAME AC,AC-2
|
|
10872 037236 003 13 0 00 005701 ER3 AC,SN ;C(AC) FAILED
|
|
10873 037237 255 10 0 00 037241 JOV .+2 ;TEST FOR OVERFLOW
|
|
10874 037240 254 00 0 00 037242 JRST ,.+2
|
|
10875 037241 013 14 0 00 005701 ER13 AC+1,SN
|
|
10876 037242 321 15 0 00 037227 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
10877
|
|
10878
|
|
10879 005702 SN=SN+1
|
|
10880 577770 XX=XX-10
|
|
10881 200010 ZZ=ZZ+10
|
|
10882 037243 254 02 1 00 045265 JRSTF @[.+1] ;CLR ALL FLAGS,EXEC NEXT INST
|
|
10883 037244 474 13 0 00 000000 SETO AC, ;SETUP MULTIPLIER
|
|
10884 037245 205 12 0 00 200010 MOVSI AC-1,ZZ ;SETUP MULTIPLICAND
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 29-3
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0230
|
|
|
|
10885 037246 205 11 0 00 577770 MOVSI AC-2,XX
|
|
10886 037247 220 13 0 00 000012 IMUL AC,AC-1 ;MULTIPLY -1 X ZZ
|
|
10887 037250 265 14 0 00 037251 JSP AC+1,.+1
|
|
10888 037251 312 13 0 00 000011 CAME AC,AC-2
|
|
10889 037252 003 13 0 00 005702 ER3 AC,SN ;C(AC) FAILED
|
|
10890 037253 255 10 0 00 037255 JOV .+2 ;TEST FOR OVERFLOW
|
|
10891 037254 254 00 0 00 037256 JRST ,.+2
|
|
10892 037255 013 14 0 00 005702 ER13 AC+1,SN
|
|
10893 037256 321 15 0 00 037243 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
10894
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 30
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0231
|
|
|
|
10895 ;MULTIPLIER = 0,1
|
|
10896 ;MULTIPLICAND = 400000 000000
|
|
10897
|
|
10898 000012 AC=12
|
|
10899 SAVEAC (1,1)^
|
|
10900 037257 201 14 0 00 037257 MOVEI AC+2,. ;SAVE TEST PC
|
|
10901 037260 202 14 0 00 030051 MOVEM AC+2,TESTPC
|
|
10902 037261 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
10903 037262 202 14 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
10904
|
|
10905 006000 SN=6000
|
|
10906 100000 XX=100000
|
|
10907 777777 777777 ZZ=-1
|
|
10908
|
|
10909 F6000: REPEAT ^D2,<
|
|
10910 SN=SN+1
|
|
10911 XX=XX+XX
|
|
10912 ZZ=ZZ+1
|
|
10913 JRSTF @[.+1] ;CLR ALL FLAGS,EXEC NEXT INST
|
|
10914 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
10915 MOVSI AC-1,400000 ;SETUP MULTIPLICAND
|
|
10916 MOVSI AC-2,XX&400000
|
|
10917 IMUL AC,AC-1 ;MUL ZZ X 400000 000000
|
|
10918 JSP AC+1,.+1
|
|
10919 CAME AC,AC-2
|
|
10920 ER3 AC,SN ;C(AC) FAILED
|
|
10921 JOV .+2 ;TEST FOR OVERFLOW
|
|
10922 JRST ,.+2 ;BOTH CLEARS ASSERTED
|
|
10923 ER13 AC+1,SN ;EITHER CLEAR FAILED
|
|
10924 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
10925 >
|
|
10926
|
|
10927 006001 SN=SN+1
|
|
10928 200000 XX=XX+XX
|
|
10929 000000 ZZ=ZZ+1
|
|
10930 037263 254 02 1 00 045266 JRSTF @[.+1] ;CLR ALL FLAGS,EXEC NEXT INST
|
|
10931 037264 201 12 0 00 000000 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
10932 037265 205 11 0 00 400000 MOVSI AC-1,400000 ;SETUP MULTIPLICAND
|
|
10933 037266 205 10 0 00 000000 MOVSI AC-2,XX&400000
|
|
10934 037267 220 12 0 00 000011 IMUL AC,AC-1 ;MUL ZZ X 400000 000000
|
|
10935 037270 265 13 0 00 037271 JSP AC+1,.+1
|
|
10936 037271 312 12 0 00 000010 CAME AC,AC-2
|
|
10937 037272 003 12 0 00 006001 ER3 AC,SN ;C(AC) FAILED
|
|
10938 037273 255 10 0 00 037275 JOV .+2 ;TEST FOR OVERFLOW
|
|
10939 037274 254 00 0 00 037276 JRST ,.+2 ;BOTH CLEARS ASSERTED
|
|
10940 037275 013 13 0 00 006001 ER13 AC+1,SN ;EITHER CLEAR FAILED
|
|
10941 037276 321 14 0 00 037263 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
10942
|
|
10943
|
|
10944 006002 SN=SN+1
|
|
10945 400000 XX=XX+XX
|
|
10946 000001 ZZ=ZZ+1
|
|
10947 037277 254 02 1 00 045267 JRSTF @[.+1] ;CLR ALL FLAGS,EXEC NEXT INST
|
|
10948 037300 201 12 0 00 000001 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
10949 037301 205 11 0 00 400000 MOVSI AC-1,400000 ;SETUP MULTIPLICAND
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 30-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0232
|
|
|
|
10950 037302 205 10 0 00 400000 MOVSI AC-2,XX&400000
|
|
10951 037303 220 12 0 00 000011 IMUL AC,AC-1 ;MUL ZZ X 400000 000000
|
|
10952 037304 265 13 0 00 037305 JSP AC+1,.+1
|
|
10953 037305 312 12 0 00 000010 CAME AC,AC-2
|
|
10954 037306 003 12 0 00 006002 ER3 AC,SN ;C(AC) FAILED
|
|
10955 037307 255 10 0 00 037311 JOV .+2 ;TEST FOR OVERFLOW
|
|
10956 037310 254 00 0 00 037312 JRST ,.+2 ;BOTH CLEARS ASSERTED
|
|
10957 037311 013 13 0 00 006002 ER13 AC+1,SN ;EITHER CLEAR FAILED
|
|
10958 037312 321 14 0 00 037277 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
10959
|
|
10960 PAGE
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 30-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0233
|
|
|
|
10961 037313 254 02 1 00 045270 F6010: JRSTF @[.+1] ;CLEAR ALL FLAGS
|
|
10962 037314 205 12 0 00 200000 MOVSI AC,200000 ;SETUP MULTIPLIER
|
|
10963 037315 201 11 0 00 000002 MOVEI AC-1,2 ;SETUP MULTIPLICAND
|
|
10964 037316 223 12 0 00 000011 IMULB AC,AC-1
|
|
10965 037317 265 13 0 00 037320 JSP AC+1,.+1 ;SAVE FLAGS
|
|
10966 037320 302 12 0 00 000000 CAIE AC,0
|
|
10967 037321 003 12 0 00 006011 ER3 AC,6011 ;C(AC) FAILED
|
|
10968 037322 302 11 0 00 000000 CAIE AC-1,0
|
|
10969 037323 005 11 0 00 006011 ER5 AC-1,6011 ;C(E) FAILED
|
|
10970 037324 255 10 0 00 037326 JOV .+2
|
|
10971 037325 013 13 0 00 006011 ER13 AC+1,6011 ;AROV DID NOT SET
|
|
10972 037326 321 14 0 00 037313 JUMPL AC+2,F6010 ;LOOP ON ERROR SWITCH
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 31
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0234
|
|
|
|
10973 ;TEST IMUL-IMMEDIATE MODE
|
|
10974 ;TEST ABILITY TO MULTIPLY WITH THE
|
|
10975 ;EFFECTIVE ADDRESS AS THE MULTIPLICAND
|
|
10976 ;THE PROD WILL EQUAL THE EFFECTIVE
|
|
10977 ;ADDRESS
|
|
10978 ;A FAILURE INDICATES MULTIPLYING
|
|
10979 ;BY C(E) VICE E
|
|
10980
|
|
10981 000010 AC=10
|
|
10982 SAVEAC (1,1)^
|
|
10983 037327 201 12 0 00 037327 MOVEI AC+2,. ;SAVE TEST PC
|
|
10984 037330 202 12 0 00 030051 MOVEM AC+2,TESTPC
|
|
10985 037331 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
10986 037332 202 12 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
10987 037333 254 02 1 00 045271 JRSTF @[.+1] ;CLEAR ALL FLAGS
|
|
10988
|
|
10989 006100 SN=6100
|
|
10990 000001 ZZ=1
|
|
10991
|
|
10992 ;TEST IMMEDIATE MODE
|
|
10993 F6100: REPEAT ^D2,<
|
|
10994 SN=SN+1
|
|
10995 ZZ=ZZ+ZZ
|
|
10996 MOVEI AC-2,AC-1 ;SETUP FOR COMPARISON
|
|
10997 MOVEI AC,1 ;SETUP MULTIPLIER
|
|
10998 MOVEI AC-1,ZZ ;SETUP AC-1
|
|
10999 IMULI AC,AC-1 ;EFFECTIVE ADDRESS=7
|
|
11000 CAME AC,AC-2 ;TEST PROD = ZZ
|
|
11001 ER3 AC,SN ;MULTIPLIED BY C(E) VICE E
|
|
11002 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
|
|
11003 >
|
|
11004
|
|
11005 006101 SN=SN+1
|
|
11006 000002 ZZ=ZZ+ZZ
|
|
11007 037334 201 06 0 00 000007 MOVEI AC-2,AC-1 ;SETUP FOR COMPARISON
|
|
11008 037335 201 10 0 00 000001 MOVEI AC,1 ;SETUP MULTIPLIER
|
|
11009 037336 201 07 0 00 000002 MOVEI AC-1,ZZ ;SETUP AC-1
|
|
11010 037337 221 10 0 00 000007 IMULI AC,AC-1 ;EFFECTIVE ADDRESS=7
|
|
11011 037340 312 10 0 00 000006 CAME AC,AC-2 ;TEST PROD = ZZ
|
|
11012 037341 003 10 0 00 006101 ER3 AC,SN ;MULTIPLIED BY C(E) VICE E
|
|
11013 037342 321 12 0 00 037334 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
|
|
11014
|
|
11015
|
|
11016 006102 SN=SN+1
|
|
11017 000004 ZZ=ZZ+ZZ
|
|
11018 037343 201 06 0 00 000007 MOVEI AC-2,AC-1 ;SETUP FOR COMPARISON
|
|
11019 037344 201 10 0 00 000001 MOVEI AC,1 ;SETUP MULTIPLIER
|
|
11020 037345 201 07 0 00 000004 MOVEI AC-1,ZZ ;SETUP AC-1
|
|
11021 037346 221 10 0 00 000007 IMULI AC,AC-1 ;EFFECTIVE ADDRESS=7
|
|
11022 037347 312 10 0 00 000006 CAME AC,AC-2 ;TEST PROD = ZZ
|
|
11023 037350 003 10 0 00 006102 ER3 AC,SN ;MULTIPLIED BY C(E) VICE E
|
|
11024 037351 321 12 0 00 037343 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
|
|
11025
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 32
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0235
|
|
|
|
11026 ;TEST IMUL-MEMORY MODE
|
|
11027
|
|
11028 000007 AC=7
|
|
11029 SAVEAC (1,1)^
|
|
11030 037352 201 11 0 00 037352 MOVEI AC+2,. ;SAVE TEST PC
|
|
11031 037353 202 11 0 00 030051 MOVEM AC+2,TESTPC
|
|
11032 037354 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
11033 037355 202 11 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
11034
|
|
11035 006300 SN=6300
|
|
11036 000001 ZZ=1
|
|
11037
|
|
11038 F6300: REPEAT ^D2,<
|
|
11039 SN=SN+1
|
|
11040 ZZ=ZZ+ZZ
|
|
11041 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
11042 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
11043 MOVEI AC-1,7 ;SETUP MULTIPLICAND
|
|
11044 IMULM AC,AC-1 ;MULTIPLY ZZ X 7
|
|
11045 CAME AC,AC-2 ;TEST FOR PRODUCT IN AC
|
|
11046 ER3 AC,SN
|
|
11047 CAIE AC-1,ZZ*7 ;TEST FOR PROD IN E
|
|
11048 ER5 AC-1,SN
|
|
11049 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11050 >
|
|
11051
|
|
11052 006301 SN=SN+1
|
|
11053 000002 ZZ=ZZ+ZZ
|
|
11054 037356 201 05 0 00 000002 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
11055 037357 201 07 0 00 000002 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
11056 037360 201 06 0 00 000007 MOVEI AC-1,7 ;SETUP MULTIPLICAND
|
|
11057 037361 222 07 0 00 000006 IMULM AC,AC-1 ;MULTIPLY ZZ X 7
|
|
11058 037362 312 07 0 00 000005 CAME AC,AC-2 ;TEST FOR PRODUCT IN AC
|
|
11059 037363 003 07 0 00 006301 ER3 AC,SN
|
|
11060 037364 302 06 0 00 000016 CAIE AC-1,ZZ*7 ;TEST FOR PROD IN E
|
|
11061 037365 005 06 0 00 006301 ER5 AC-1,SN
|
|
11062 037366 321 11 0 00 037356 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11063
|
|
11064
|
|
11065 006302 SN=SN+1
|
|
11066 000004 ZZ=ZZ+ZZ
|
|
11067 037367 201 05 0 00 000004 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
11068 037370 201 07 0 00 000004 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
11069 037371 201 06 0 00 000007 MOVEI AC-1,7 ;SETUP MULTIPLICAND
|
|
11070 037372 222 07 0 00 000006 IMULM AC,AC-1 ;MULTIPLY ZZ X 7
|
|
11071 037373 312 07 0 00 000005 CAME AC,AC-2 ;TEST FOR PRODUCT IN AC
|
|
11072 037374 003 07 0 00 006302 ER3 AC,SN
|
|
11073 037375 302 06 0 00 000034 CAIE AC-1,ZZ*7 ;TEST FOR PROD IN E
|
|
11074 037376 005 06 0 00 006302 ER5 AC-1,SN
|
|
11075 037377 321 11 0 00 037367 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11076
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 33
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER MPY TEST SEQ 0236
|
|
|
|
11077 ;TEST IMUL-BOTH MODE
|
|
11078 ;TEST ABILITY TO STORE PRODUCT IN AC,E
|
|
11079 ;AC, AC-1 ARE COMPARED FOLLOWING
|
|
11080 ;MULTIPLY
|
|
11081 ;AN ERROR WILL OCCUR IF AC DIFFERS FROM
|
|
11082 ;AC-1
|
|
11083 000006 AC=6
|
|
11084 SAVEAC (1,1)^
|
|
11085 037400 201 10 0 00 037400 MOVEI AC+2,. ;SAVE TEST PC
|
|
11086 037401 202 10 0 00 030051 MOVEM AC+2,TESTPC
|
|
11087 037402 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
11088 037403 202 10 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
11089 006500 SN=6500
|
|
11090 000004 ZZ=4
|
|
11091 ;TEST STORING AC,E
|
|
11092 F6500: REPEAT ^D2,<
|
|
11093 SN=SN+1
|
|
11094 ZZ=ZZ+ZZ
|
|
11095 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
11096 MOVEI AC-1,2 ;SETUP MULTIPLICAND
|
|
11097 IMULB AC,AC-1 ;MULTIPLY ZZ X 2
|
|
11098 CAME AC,AC-1 ;COMPARE AC,AC-1
|
|
11099 ER3 AC,SN
|
|
11100 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
11101 >
|
|
11102
|
|
11103 006501 SN=SN+1
|
|
11104 000010 ZZ=ZZ+ZZ
|
|
11105 037404 201 06 0 00 000010 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
11106 037405 201 05 0 00 000002 MOVEI AC-1,2 ;SETUP MULTIPLICAND
|
|
11107 037406 223 06 0 00 000005 IMULB AC,AC-1 ;MULTIPLY ZZ X 2
|
|
11108 037407 312 06 0 00 000005 CAME AC,AC-1 ;COMPARE AC,AC-1
|
|
11109 037410 003 06 0 00 006501 ER3 AC,SN
|
|
11110 037411 321 10 0 00 037404 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
11111
|
|
11112
|
|
11113 006502 SN=SN+1
|
|
11114 000020 ZZ=ZZ+ZZ
|
|
11115 037412 201 06 0 00 000020 MOVEI AC,ZZ ;SETUP MULTIPLIER
|
|
11116 037413 201 05 0 00 000002 MOVEI AC-1,2 ;SETUP MULTIPLICAND
|
|
11117 037414 223 06 0 00 000005 IMULB AC,AC-1 ;MULTIPLY ZZ X 2
|
|
11118 037415 312 06 0 00 000005 CAME AC,AC-1 ;COMPARE AC,AC-1
|
|
11119 037416 003 06 0 00 006502 ER3 AC,SN
|
|
11120 037417 321 10 0 00 037412 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
11121
|
|
11122
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 34
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0237
|
|
|
|
11123 SUBTTL DIAGNOSTIC SECTION - INTEGER DIVIDE TEST
|
|
11124
|
|
11125 ;TEST FETCH,STORE AND DECODE
|
|
11126 ;TEST ABILITY TO FETCH CONTENTS OF E
|
|
11127 ;TEST ABILITY TO STORE AC,AC+1
|
|
11128 ;DVND = 000000 777777,000000 777776
|
|
11129 ;DVSR = 000000 777777,000000 777776
|
|
11130 ;DVND = 000000 3400000
|
|
11131 ;DVSR = 2
|
|
11132
|
|
11133 000007 AC=7
|
|
11134 SAVEAC (1,1)^
|
|
11135 037420 201 11 0 00 037420 MOVEI AC+2,. ;SAVE TEST PC
|
|
11136 037421 202 11 0 00 030051 MOVEM AC+2,TESTPC
|
|
11137 037422 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
11138 037423 202 11 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
11139
|
|
11140 006600 SN=6600
|
|
11141 000000 ZZ=0
|
|
11142
|
|
11143 ;TEST SAC,SAC2 FAILING
|
|
11144 F6600: REPEAT ^D2,<
|
|
11145 SN=SN+1
|
|
11146 ZZ=<ZZ+ZZ>&777777
|
|
11147 IFE ZZ,<ZZ=777777>
|
|
11148 JRSTF @[.+1] ;CLR ALL FLGS,EXEC NEXT INST
|
|
11149 MOVEI AC,ZZ ;SETUP DVND
|
|
11150 MOVEI AC+1,ZZ ;SETUP DVSR
|
|
11151 IDIV AC,AC+1 ;DIVIDE ZZ BY ZZ
|
|
11152 JSP AC-3,.+1
|
|
11153 JOV .+2 ;TEST FOR OVFL
|
|
11154 JRST .+2
|
|
11155 ER13 AC-3,SN
|
|
11156 CAIE AC,1 ;TEST AC FOR QUOTIENT = 1
|
|
11157 ER3 AC,SN
|
|
11158 CAIE AC+1,0 ;TEST AC+1 FOR REMAINDER = 0
|
|
11159 ER4 AC+1,SN
|
|
11160 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH
|
|
11161 JRSTF @[.+1] ;CLEAR ALL FLAGS
|
|
11162 >
|
|
11163
|
|
11164 006601 SN=SN+1
|
|
11165 000000 ZZ=<ZZ+ZZ>&777777
|
|
11166 777777 IFE ZZ,<ZZ=777777>
|
|
11167 037424 254 02 1 00 045272 JRSTF @[.+1] ;CLR ALL FLGS,EXEC NEXT INST
|
|
11168 037425 201 07 0 00 777777 MOVEI AC,ZZ ;SETUP DVND
|
|
11169 037426 201 10 0 00 777777 MOVEI AC+1,ZZ ;SETUP DVSR
|
|
11170 037427 230 07 0 00 000010 IDIV AC,AC+1 ;DIVIDE ZZ BY ZZ
|
|
11171 037430 265 04 0 00 037431 JSP AC-3,.+1
|
|
11172 037431 255 10 0 00 037433 JOV .+2 ;TEST FOR OVFL
|
|
11173 037432 254 00 0 00 037434 JRST .+2
|
|
11174 037433 013 04 0 00 006601 ER13 AC-3,SN
|
|
11175 037434 302 07 0 00 000001 CAIE AC,1 ;TEST AC FOR QUOTIENT = 1
|
|
11176 037435 003 07 0 00 006601 ER3 AC,SN
|
|
11177 037436 302 10 0 00 000000 CAIE AC+1,0 ;TEST AC+1 FOR REMAINDER = 0
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 34-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0238
|
|
|
|
11178 037437 004 10 0 00 006601 ER4 AC+1,SN
|
|
11179 037440 321 11 0 00 037423 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH
|
|
11180 037441 254 02 1 00 045273 JRSTF @[.+1] ;CLEAR ALL FLAGS
|
|
11181
|
|
11182
|
|
11183 006602 SN=SN+1
|
|
11184 777776 ZZ=<ZZ+ZZ>&777777
|
|
11185 IFE ZZ,<ZZ=777777>
|
|
11186 037442 254 02 1 00 045274 JRSTF @[.+1] ;CLR ALL FLGS,EXEC NEXT INST
|
|
11187 037443 201 07 0 00 777776 MOVEI AC,ZZ ;SETUP DVND
|
|
11188 037444 201 10 0 00 777776 MOVEI AC+1,ZZ ;SETUP DVSR
|
|
11189 037445 230 07 0 00 000010 IDIV AC,AC+1 ;DIVIDE ZZ BY ZZ
|
|
11190 037446 265 04 0 00 037447 JSP AC-3,.+1
|
|
11191 037447 255 10 0 00 037451 JOV .+2 ;TEST FOR OVFL
|
|
11192 037450 254 00 0 00 037452 JRST .+2
|
|
11193 037451 013 04 0 00 006602 ER13 AC-3,SN
|
|
11194 037452 302 07 0 00 000001 CAIE AC,1 ;TEST AC FOR QUOTIENT = 1
|
|
11195 037453 003 07 0 00 006602 ER3 AC,SN
|
|
11196 037454 302 10 0 00 000000 CAIE AC+1,0 ;TEST AC+1 FOR REMAINDER = 0
|
|
11197 037455 004 10 0 00 006602 ER4 AC+1,SN
|
|
11198 037456 321 11 0 00 037441 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH
|
|
11199 037457 254 02 1 00 045275 JRSTF @[.+1] ;CLEAR ALL FLAGS
|
|
11200
|
|
11201 PAGE
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 34-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0239
|
|
|
|
11202 ;TEST FCE FAILING
|
|
11203 037460 201 05 0 00 160000 F6700: MOVEI AC-2,160000 ;SETUP FOR COMPARISON
|
|
11204 037461 201 07 0 00 340000 MOVEI AC,340000 ;SETUP DVND
|
|
11205 037462 201 10 0 00 000002 MOVEI AC+1,2 ;SETUP DVSR
|
|
11206 037463 230 07 0 00 000010 IDIV AC,AC+1 ;DIV 000000 340000 BY 2
|
|
11207 037464 312 07 0 00 000005 CAME AC,AC-2 ;TEST QUOT = 000000 020000
|
|
11208 037465 003 07 0 00 006701 ER3 AC,6701
|
|
11209 037466 321 11 0 00 037460 JUMPL AC+2,F6700 ;LOOP ON ERROR SWITCH
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 35
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0240
|
|
|
|
11210 ;DVND = 4,10
|
|
11211 ;DVSR = 2
|
|
11212 ;FAILURE RESULTS IN A QUOT = 0,
|
|
11213 ;A REMD = DVND (SIGN IS NEGATIVE)
|
|
11214
|
|
11215 000007 AC=7
|
|
11216 SAVEAC (1,1)^
|
|
11217 037467 201 11 0 00 037467 MOVEI AC+2,. ;SAVE TEST PC
|
|
11218 037470 202 11 0 00 030051 MOVEM AC+2,TESTPC
|
|
11219 037471 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
11220 037472 202 11 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
11221
|
|
11222 007000 SN=7000
|
|
11223 000002 ZZ=2
|
|
11224 F7000: REPEAT ^D2,<
|
|
11225 SN=SN+1
|
|
11226 ZZ=ZZ+ZZ
|
|
11227 MOVEI AC,ZZ ;SETUP DVND
|
|
11228 MOVEI AC-1,2 ;SETUP DVSR
|
|
11229 IDIV AC,AC-1 ;DIVIDE ZZ BY 2
|
|
11230 SKIPE AC+1 ;TEST REMD
|
|
11231 ER4 AC+1,SN
|
|
11232 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
11233 >
|
|
11234
|
|
11235 007001 SN=SN+1
|
|
11236 000004 ZZ=ZZ+ZZ
|
|
11237 037473 201 07 0 00 000004 MOVEI AC,ZZ ;SETUP DVND
|
|
11238 037474 201 06 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
11239 037475 230 07 0 00 000006 IDIV AC,AC-1 ;DIVIDE ZZ BY 2
|
|
11240 037476 332 00 0 00 000010 SKIPE AC+1 ;TEST REMD
|
|
11241 037477 004 10 0 00 007001 ER4 AC+1,SN
|
|
11242 037500 321 11 0 00 037471 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
11243
|
|
11244
|
|
11245 007002 SN=SN+1
|
|
11246 000010 ZZ=ZZ+ZZ
|
|
11247 037501 201 07 0 00 000010 MOVEI AC,ZZ ;SETUP DVND
|
|
11248 037502 201 06 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
11249 037503 230 07 0 00 000006 IDIV AC,AC-1 ;DIVIDE ZZ BY 2
|
|
11250 037504 332 00 0 00 000010 SKIPE AC+1 ;TEST REMD
|
|
11251 037505 004 10 0 00 007002 ER4 AC+1,SN
|
|
11252 037506 321 11 0 00 037477 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
11253
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 36
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0241
|
|
|
|
11254 ;TEST AROV SET
|
|
11255 ;DVND = 4,10
|
|
11256 ;DVSR = 0 (DIVIDE CHECK CONDITION)
|
|
11257
|
|
11258 000014 AC=14
|
|
11259 SAVEAC (1,1)^
|
|
11260 037507 201 16 0 00 037507 MOVEI AC+2,. ;SAVE TEST PC
|
|
11261 037510 202 16 0 00 030051 MOVEM AC+2,TESTPC
|
|
11262 037511 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
11263 037512 202 16 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
11264
|
|
11265 007100 SN=7100
|
|
11266 000002 ZZ=2
|
|
11267
|
|
11268 ;TEST OVERFLOW COND
|
|
11269 F7100: REPEAT ^D2,<
|
|
11270 SN=SN+1
|
|
11271 ZZ=ZZ+ZZ
|
|
11272 JRSTF @[.+1] ;CLR ALL FLGS,EXEC NEXT INST
|
|
11273 MOVEI AC,ZZ ;SETUP DVND
|
|
11274 MOVEI AC+1,ZZ
|
|
11275 SETZ AC-1, ;SETUP DVSR
|
|
11276 IDIV AC,AC-1 ;DIVIDE (ZZ) BY 0
|
|
11277 JSP AC-3,.+1
|
|
11278 CAIE AC,ZZ
|
|
11279 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
11280 CAIE AC+1,ZZ
|
|
11281 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
11282 JOV .+2 ;TEST FOR OVERFLOW
|
|
11283 ER13 AC-3,.+1 ;AROV FAILED TO SET
|
|
11284 TLNN AC-3,DCK
|
|
11285 ER13 AC-3,SN ;DCK NOT SET
|
|
11286 JUMPL AC+2,.-^D14 ;LOOP ON ERROR SWITCH
|
|
11287 >
|
|
11288
|
|
11289 007101 SN=SN+1
|
|
11290 000004 ZZ=ZZ+ZZ
|
|
11291 037513 254 02 1 00 045276 JRSTF @[.+1] ;CLR ALL FLGS,EXEC NEXT INST
|
|
11292 037514 201 14 0 00 000004 MOVEI AC,ZZ ;SETUP DVND
|
|
11293 037515 201 15 0 00 000004 MOVEI AC+1,ZZ
|
|
11294 037516 400 13 0 00 000000 SETZ AC-1, ;SETUP DVSR
|
|
11295 037517 230 14 0 00 000013 IDIV AC,AC-1 ;DIVIDE (ZZ) BY 0
|
|
11296 037520 265 11 0 00 037521 JSP AC-3,.+1
|
|
11297 037521 302 14 0 00 000004 CAIE AC,ZZ
|
|
11298 037522 003 14 0 00 007101 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
11299 037523 302 15 0 00 000004 CAIE AC+1,ZZ
|
|
11300 037524 004 15 0 00 007101 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
11301 037525 255 10 0 00 037527 JOV .+2 ;TEST FOR OVERFLOW
|
|
11302 037526 013 11 0 00 037527 ER13 AC-3,.+1 ;AROV FAILED TO SET
|
|
11303 037527 607 11 0 00 000040 TLNN AC-3,DCK
|
|
11304 037530 013 11 0 00 007101 ER13 AC-3,SN ;DCK NOT SET
|
|
11305 037531 321 16 0 00 037513 JUMPL AC+2,.-^D14 ;LOOP ON ERROR SWITCH
|
|
11306
|
|
11307
|
|
11308 007102 SN=SN+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 36-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0242
|
|
|
|
11309 000010 ZZ=ZZ+ZZ
|
|
11310 037532 254 02 1 00 045277 JRSTF @[.+1] ;CLR ALL FLGS,EXEC NEXT INST
|
|
11311 037533 201 14 0 00 000010 MOVEI AC,ZZ ;SETUP DVND
|
|
11312 037534 201 15 0 00 000010 MOVEI AC+1,ZZ
|
|
11313 037535 400 13 0 00 000000 SETZ AC-1, ;SETUP DVSR
|
|
11314 037536 230 14 0 00 000013 IDIV AC,AC-1 ;DIVIDE (ZZ) BY 0
|
|
11315 037537 265 11 0 00 037540 JSP AC-3,.+1
|
|
11316 037540 302 14 0 00 000010 CAIE AC,ZZ
|
|
11317 037541 003 14 0 00 007102 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
11318 037542 302 15 0 00 000010 CAIE AC+1,ZZ
|
|
11319 037543 004 15 0 00 007102 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
11320 037544 255 10 0 00 037546 JOV .+2 ;TEST FOR OVERFLOW
|
|
11321 037545 013 11 0 00 037546 ER13 AC-3,.+1 ;AROV FAILED TO SET
|
|
11322 037546 607 11 0 00 000040 TLNN AC-3,DCK
|
|
11323 037547 013 11 0 00 007102 ER13 AC-3,SN ;DCK NOT SET
|
|
11324 037550 321 16 0 00 037532 JUMPL AC+2,.-^D14 ;LOOP ON ERROR SWITCH
|
|
11325
|
|
11326 PAGE
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 36-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0243
|
|
|
|
11327 ;DVND = 4,10
|
|
11328 ;DVSR = 4,10
|
|
11329
|
|
11330 000011 AC=11
|
|
11331 SAVEAC (1,1)^
|
|
11332 037551 201 13 0 00 037551 MOVEI AC+2,. ;SAVE TEST PC
|
|
11333 037552 202 13 0 00 030051 MOVEM AC+2,TESTPC
|
|
11334 037553 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
11335 037554 202 13 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
11336
|
|
11337 007400 SN=7400
|
|
11338 000002 ZZ=2
|
|
11339
|
|
11340 F7400: REPEAT ^D2,<
|
|
11341 SN=SN+1
|
|
11342 ZZ=ZZ+ZZ
|
|
11343 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
11344 MOVEI AC,ZZ ;SETUP DVND
|
|
11345 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
11346 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
11347 JSP AC-2,.+1
|
|
11348 CAIE AC,1
|
|
11349 ER3 AC,SN ;C(AC) FAILED
|
|
11350 CAIE AC+1,0
|
|
11351 ER4 AC+1,SN ;C(AC+1) FAILED
|
|
11352 JOV .+2 ;TEST FOR OVERFLOW
|
|
11353 JRST ,.+2
|
|
11354 ER13 AC-2,SN
|
|
11355 JUMPL AC+2,.-^D12
|
|
11356 >
|
|
11357
|
|
11358 007401 SN=SN+1
|
|
11359 000004 ZZ=ZZ+ZZ
|
|
11360 037555 254 02 1 00 045300 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
11361 037556 201 11 0 00 000004 MOVEI AC,ZZ ;SETUP DVND
|
|
11362 037557 201 10 0 00 000004 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
11363 037560 230 11 0 00 000010 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
11364 037561 265 07 0 00 037562 JSP AC-2,.+1
|
|
11365 037562 302 11 0 00 000001 CAIE AC,1
|
|
11366 037563 003 11 0 00 007401 ER3 AC,SN ;C(AC) FAILED
|
|
11367 037564 302 12 0 00 000000 CAIE AC+1,0
|
|
11368 037565 004 12 0 00 007401 ER4 AC+1,SN ;C(AC+1) FAILED
|
|
11369 037566 255 10 0 00 037570 JOV .+2 ;TEST FOR OVERFLOW
|
|
11370 037567 254 00 0 00 037571 JRST ,.+2
|
|
11371 037570 013 07 0 00 007401 ER13 AC-2,SN
|
|
11372 037571 321 13 0 00 037555 JUMPL AC+2,.-^D12
|
|
11373
|
|
11374
|
|
11375 007402 SN=SN+1
|
|
11376 000010 ZZ=ZZ+ZZ
|
|
11377 037572 254 02 1 00 045301 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
11378 037573 201 11 0 00 000010 MOVEI AC,ZZ ;SETUP DVND
|
|
11379 037574 201 10 0 00 000010 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
11380 037575 230 11 0 00 000010 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
11381 037576 265 07 0 00 037577 JSP AC-2,.+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 36-3
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0244
|
|
|
|
11382 037577 302 11 0 00 000001 CAIE AC,1
|
|
11383 037600 003 11 0 00 007402 ER3 AC,SN ;C(AC) FAILED
|
|
11384 037601 302 12 0 00 000000 CAIE AC+1,0
|
|
11385 037602 004 12 0 00 007402 ER4 AC+1,SN ;C(AC+1) FAILED
|
|
11386 037603 255 10 0 00 037605 JOV .+2 ;TEST FOR OVERFLOW
|
|
11387 037604 254 00 0 00 037606 JRST ,.+2
|
|
11388 037605 013 07 0 00 007402 ER13 AC-2,SN
|
|
11389 037606 321 13 0 00 037572 JUMPL AC+2,.-^D12
|
|
11390
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 37
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0245
|
|
|
|
11391 ;DVND = 2,4
|
|
11392 ;DVSR = 400000 000000
|
|
11393
|
|
11394 000007 AC=7
|
|
11395 SAVEAC (1,1)^
|
|
11396 037607 201 11 0 00 037607 MOVEI AC+2,. ;SAVE TEST PC
|
|
11397 037610 202 11 0 00 030051 MOVEM AC+2,TESTPC
|
|
11398 037611 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
11399 037612 202 11 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
11400
|
|
11401 007500 SN=7500
|
|
11402 000001 ZZ=1
|
|
11403
|
|
11404 F7500: REPEAT ^D2,<
|
|
11405 SN=SN+1
|
|
11406 ZZ=ZZ+ZZ
|
|
11407 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
11408 MOVEI AC,ZZ ;SETUP DVND
|
|
11409 MOVSI AC-1,400000 ;SETUP DVSR
|
|
11410 IDIV AC,AC-1 ;DIVIDE (ZZ) BY (-N)
|
|
11411 JSP AC-2,.+1
|
|
11412 CAIE AC,0
|
|
11413 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
11414 CAIE AC+1,ZZ
|
|
11415 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
11416 JOV .+2 ;TEST FOR OVERFLOW
|
|
11417 JRST ,.+2
|
|
11418 ER13 AC-2,SN
|
|
11419 JUMPL AC+2,.-^D12
|
|
11420 >
|
|
11421
|
|
11422 007501 SN=SN+1
|
|
11423 000002 ZZ=ZZ+ZZ
|
|
11424 037613 254 02 1 00 045302 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
11425 037614 201 07 0 00 000002 MOVEI AC,ZZ ;SETUP DVND
|
|
11426 037615 205 06 0 00 400000 MOVSI AC-1,400000 ;SETUP DVSR
|
|
11427 037616 230 07 0 00 000006 IDIV AC,AC-1 ;DIVIDE (ZZ) BY (-N)
|
|
11428 037617 265 05 0 00 037620 JSP AC-2,.+1
|
|
11429 037620 302 07 0 00 000000 CAIE AC,0
|
|
11430 037621 003 07 0 00 007501 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
11431 037622 302 10 0 00 000002 CAIE AC+1,ZZ
|
|
11432 037623 004 10 0 00 007501 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
11433 037624 255 10 0 00 037626 JOV .+2 ;TEST FOR OVERFLOW
|
|
11434 037625 254 00 0 00 037627 JRST ,.+2
|
|
11435 037626 013 05 0 00 007501 ER13 AC-2,SN
|
|
11436 037627 321 11 0 00 037613 JUMPL AC+2,.-^D12
|
|
11437
|
|
11438
|
|
11439 007502 SN=SN+1
|
|
11440 000004 ZZ=ZZ+ZZ
|
|
11441 037630 254 02 1 00 045303 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
11442 037631 201 07 0 00 000004 MOVEI AC,ZZ ;SETUP DVND
|
|
11443 037632 205 06 0 00 400000 MOVSI AC-1,400000 ;SETUP DVSR
|
|
11444 037633 230 07 0 00 000006 IDIV AC,AC-1 ;DIVIDE (ZZ) BY (-N)
|
|
11445 037634 265 05 0 00 037635 JSP AC-2,.+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 37-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0246
|
|
|
|
11446 037635 302 07 0 00 000000 CAIE AC,0
|
|
11447 037636 003 07 0 00 007502 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
11448 037637 302 10 0 00 000004 CAIE AC+1,ZZ
|
|
11449 037640 004 10 0 00 007502 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
11450 037641 255 10 0 00 037643 JOV .+2 ;TEST FOR OVERFLOW
|
|
11451 037642 254 00 0 00 037644 JRST ,.+2
|
|
11452 037643 013 05 0 00 007502 ER13 AC-2,SN
|
|
11453 037644 321 11 0 00 037630 JUMPL AC+2,.-^D12
|
|
11454
|
|
11455 PAGE
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 37-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0247
|
|
|
|
11456 ;DVND = 7,13
|
|
11457 ;DVSR = 2
|
|
11458
|
|
11459 000006 AC=6
|
|
11460 SAVEAC (1,1)^
|
|
11461 037645 201 10 0 00 037645 MOVEI AC+2,. ;SAVE TEST PC
|
|
11462 037646 202 10 0 00 030051 MOVEM AC+2,TESTPC
|
|
11463 037647 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
11464 037650 202 10 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
11465 037651 254 02 1 00 045304 JRSTF @[.+1] ;CLEAR ALL FLAGS
|
|
11466
|
|
11467 007600 SN=7600
|
|
11468 000003 ZZ=3
|
|
11469
|
|
11470 F7600: REPEAT ^D2,<
|
|
11471 SN=SN+1
|
|
11472 ZZ=ZZ+4
|
|
11473 MOVEI AC,ZZ ;SETUP DVND
|
|
11474 MOVEI AC-1,2 ;SETUP DVSR
|
|
11475 IDIV AC,AC-1 ;DIVIDE (ZZ) BY 2
|
|
11476 CAIE AC,ZZ/2 ;TEST QUOT
|
|
11477 ER3 AC,SN
|
|
11478 CAIE AC+1,1 ;TEST REMD
|
|
11479 ER4 AC+1,SN
|
|
11480 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
11481 >
|
|
11482
|
|
11483 007601 SN=SN+1
|
|
11484 000007 ZZ=ZZ+4
|
|
11485 037652 201 06 0 00 000007 MOVEI AC,ZZ ;SETUP DVND
|
|
11486 037653 201 05 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
11487 037654 230 06 0 00 000005 IDIV AC,AC-1 ;DIVIDE (ZZ) BY 2
|
|
11488 037655 302 06 0 00 000003 CAIE AC,ZZ/2 ;TEST QUOT
|
|
11489 037656 003 06 0 00 007601 ER3 AC,SN
|
|
11490 037657 302 07 0 00 000001 CAIE AC+1,1 ;TEST REMD
|
|
11491 037660 004 07 0 00 007601 ER4 AC+1,SN
|
|
11492 037661 321 10 0 00 037652 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
11493
|
|
11494
|
|
11495 007602 SN=SN+1
|
|
11496 000013 ZZ=ZZ+4
|
|
11497 037662 201 06 0 00 000013 MOVEI AC,ZZ ;SETUP DVND
|
|
11498 037663 201 05 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
11499 037664 230 06 0 00 000005 IDIV AC,AC-1 ;DIVIDE (ZZ) BY 2
|
|
11500 037665 302 06 0 00 000005 CAIE AC,ZZ/2 ;TEST QUOT
|
|
11501 037666 003 06 0 00 007602 ER3 AC,SN
|
|
11502 037667 302 07 0 00 000001 CAIE AC+1,1 ;TEST REMD
|
|
11503 037670 004 07 0 00 007602 ER4 AC+1,SN
|
|
11504 037671 321 10 0 00 037662 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
11505
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 38
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0248
|
|
|
|
11506 ;DVND = 2,4
|
|
11507 ;DVSR = 2,4
|
|
11508
|
|
11509 000005 AC=5
|
|
11510 SAVEAC (1,1)^
|
|
11511 037672 201 07 0 00 037672 MOVEI AC+2,. ;SAVE TEST PC
|
|
11512 037673 202 07 0 00 030051 MOVEM AC+2,TESTPC
|
|
11513 037674 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
11514 037675 202 07 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
11515
|
|
11516 007700 SN=7700
|
|
11517 000000 XX=0
|
|
11518 000001 ZZ=1
|
|
11519
|
|
11520 F7700: REPEAT ^D2,<
|
|
11521 SN=SN+1
|
|
11522 XX=XX+XX
|
|
11523 ZZ=ZZ+ZZ
|
|
11524 IFE XX,<XX=1>
|
|
11525 SETOM AC+1 ;INITIALIZE REMAINDER
|
|
11526 MOVEI AC,ZZ ;SETUP DVND
|
|
11527 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
11528 IDIV AC,AC-1 ;DIVIDE (ZZ) BY (ZZ)
|
|
11529 CAIE AC,1 ;TEST QUOT
|
|
11530 ER3 AC,SN
|
|
11531 SKIPE AC+1 ;TEST REMD
|
|
11532 ER4 AC+1,SN
|
|
11533 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11534 >
|
|
11535
|
|
11536 007701 SN=SN+1
|
|
11537 000000 XX=XX+XX
|
|
11538 000002 ZZ=ZZ+ZZ
|
|
11539 000001 IFE XX,<XX=1>
|
|
11540 037676 476 00 0 00 000006 SETOM AC+1 ;INITIALIZE REMAINDER
|
|
11541 037677 201 05 0 00 000002 MOVEI AC,ZZ ;SETUP DVND
|
|
11542 037700 201 04 0 00 000002 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
11543 037701 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE (ZZ) BY (ZZ)
|
|
11544 037702 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT
|
|
11545 037703 003 05 0 00 007701 ER3 AC,SN
|
|
11546 037704 332 00 0 00 000006 SKIPE AC+1 ;TEST REMD
|
|
11547 037705 004 06 0 00 007701 ER4 AC+1,SN
|
|
11548 037706 321 07 0 00 037676 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11549
|
|
11550
|
|
11551 007702 SN=SN+1
|
|
11552 000002 XX=XX+XX
|
|
11553 000004 ZZ=ZZ+ZZ
|
|
11554 IFE XX,<XX=1>
|
|
11555 037707 476 00 0 00 000006 SETOM AC+1 ;INITIALIZE REMAINDER
|
|
11556 037710 201 05 0 00 000004 MOVEI AC,ZZ ;SETUP DVND
|
|
11557 037711 201 04 0 00 000004 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
11558 037712 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE (ZZ) BY (ZZ)
|
|
11559 037713 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT
|
|
11560 037714 003 05 0 00 007702 ER3 AC,SN
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 38-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0249
|
|
|
|
11561 037715 332 00 0 00 000006 SKIPE AC+1 ;TEST REMD
|
|
11562 037716 004 06 0 00 007702 ER4 AC+1,SN
|
|
11563 037717 321 07 0 00 037707 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11564
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 39
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0250
|
|
|
|
11565 ;DVND = 177777 777777,0777777 777777
|
|
11566 ;DVSR = 1
|
|
11567
|
|
11568 000004 AC=4
|
|
11569 SAVEAC (1,1)^
|
|
11570 037720 201 06 0 00 037720 MOVEI AC+2,. ;SAVE TEST PC
|
|
11571 037721 202 06 0 00 030051 MOVEM AC+2,TESTPC
|
|
11572 037722 201 06 0 00 000006 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
11573 037723 202 06 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
11574
|
|
11575 010000 SN=10000
|
|
11576 377777 ZZ=377777
|
|
11577
|
|
11578 F10000: REPEAT ^D2,<
|
|
11579 SN=SN+1
|
|
11580 ZZ=ZZ/2
|
|
11581 HRLOI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
11582 HRLOI AC,ZZ ;SETUP DVND
|
|
11583 MOVEI AC-1,1 ;SETUP DVSR
|
|
11584 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
11585 CAME AC,AC-2 ;TEST QUOTIENT
|
|
11586 ER3 AC,SN
|
|
11587 SKIPE AC+1 ;TEST REMAINDER
|
|
11588 ER4 AC+1,SN
|
|
11589 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11590 >
|
|
11591
|
|
11592 010001 SN=SN+1
|
|
11593 177777 ZZ=ZZ/2
|
|
11594 037724 525 02 0 00 177777 HRLOI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
11595 037725 525 04 0 00 177777 HRLOI AC,ZZ ;SETUP DVND
|
|
11596 037726 201 03 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
11597 037727 230 04 0 00 000003 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
11598 037730 312 04 0 00 000002 CAME AC,AC-2 ;TEST QUOTIENT
|
|
11599 037731 003 04 0 00 010001 ER3 AC,SN
|
|
11600 037732 332 00 0 00 000005 SKIPE AC+1 ;TEST REMAINDER
|
|
11601 037733 004 05 0 00 010001 ER4 AC+1,SN
|
|
11602 037734 321 06 0 00 037724 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11603
|
|
11604
|
|
11605 010002 SN=SN+1
|
|
11606 077777 ZZ=ZZ/2
|
|
11607 037735 525 02 0 00 077777 HRLOI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
11608 037736 525 04 0 00 077777 HRLOI AC,ZZ ;SETUP DVND
|
|
11609 037737 201 03 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
11610 037740 230 04 0 00 000003 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
11611 037741 312 04 0 00 000002 CAME AC,AC-2 ;TEST QUOTIENT
|
|
11612 037742 003 04 0 00 010002 ER3 AC,SN
|
|
11613 037743 332 00 0 00 000005 SKIPE AC+1 ;TEST REMAINDER
|
|
11614 037744 004 05 0 00 010002 ER4 AC+1,SN
|
|
11615 037745 321 06 0 00 037735 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11616
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 40
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0251
|
|
|
|
11617 ;TEST ABILITY TO SWAP REMD
|
|
11618 ;AND QUOT
|
|
11619 ;DVND = 5,13
|
|
11620 ;DVSR - 3
|
|
11621 ;FAILURE RESULTS IN A QUOT
|
|
11622 ;EQUAL TO THE REMD
|
|
11623
|
|
11624 000014 AC=14
|
|
11625 SAVEAC (1,1)^
|
|
11626 037746 201 16 0 00 037746 MOVEI AC+2,. ;SAVE TEST PC
|
|
11627 037747 202 16 0 00 030051 MOVEM AC+2,TESTPC
|
|
11628 037750 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
11629 037751 202 16 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
11630
|
|
11631 010300 SN=10300
|
|
11632 777777 777777 ZZ=-1
|
|
11633
|
|
11634 F10300: REPEAT ^D2,<
|
|
11635 SN=SN+1
|
|
11636 ZZ=ZZ+6
|
|
11637 MOVEI AC-2,2
|
|
11638 MOVEI AC,ZZ ;SETUP DVND
|
|
11639 MOVEI AC-1,3 ;SETUP DVSR
|
|
11640 IDIV AC,AC-1 ;DIVIDE ZZ BY 3
|
|
11641 CAIE AC,ZZ/3 ;TEST QUOT
|
|
11642 ER3 AC,SN
|
|
11643 CAME AC+1,AC-2 ;TEST REMD
|
|
11644 ER4 AC+1,SN
|
|
11645 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11646 >
|
|
11647
|
|
11648 010301 SN=SN+1
|
|
11649 000005 ZZ=ZZ+6
|
|
11650 037752 201 12 0 00 000002 MOVEI AC-2,2
|
|
11651 037753 201 14 0 00 000005 MOVEI AC,ZZ ;SETUP DVND
|
|
11652 037754 201 13 0 00 000003 MOVEI AC-1,3 ;SETUP DVSR
|
|
11653 037755 230 14 0 00 000013 IDIV AC,AC-1 ;DIVIDE ZZ BY 3
|
|
11654 037756 302 14 0 00 000001 CAIE AC,ZZ/3 ;TEST QUOT
|
|
11655 037757 003 14 0 00 010301 ER3 AC,SN
|
|
11656 037760 312 15 0 00 000012 CAME AC+1,AC-2 ;TEST REMD
|
|
11657 037761 004 15 0 00 010301 ER4 AC+1,SN
|
|
11658 037762 321 16 0 00 037752 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11659
|
|
11660
|
|
11661 010302 SN=SN+1
|
|
11662 000013 ZZ=ZZ+6
|
|
11663 037763 201 12 0 00 000002 MOVEI AC-2,2
|
|
11664 037764 201 14 0 00 000013 MOVEI AC,ZZ ;SETUP DVND
|
|
11665 037765 201 13 0 00 000003 MOVEI AC-1,3 ;SETUP DVSR
|
|
11666 037766 230 14 0 00 000013 IDIV AC,AC-1 ;DIVIDE ZZ BY 3
|
|
11667 037767 302 14 0 00 000003 CAIE AC,ZZ/3 ;TEST QUOT
|
|
11668 037770 003 14 0 00 010302 ER3 AC,SN
|
|
11669 037771 312 15 0 00 000012 CAME AC+1,AC-2 ;TEST REMD
|
|
11670 037772 004 15 0 00 010302 ER4 AC+1,SN
|
|
11671 037773 321 16 0 00 037763 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 40-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0252
|
|
|
|
11672
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 41
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0253
|
|
|
|
11673 ;DVND = 2,4
|
|
11674 ;DVSR = 1
|
|
11675 ;DVND = 377777 777777,177777 777777
|
|
11676 ;DVSR = 1
|
|
11677
|
|
11678 000013 AC=13
|
|
11679 SAVEAC (1,1)^
|
|
11680 037774 201 15 0 00 037774 MOVEI AC+2,. ;SAVE TEST PC
|
|
11681 037775 202 15 0 00 030051 MOVEM AC+2,TESTPC
|
|
11682 037776 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
11683 037777 202 15 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
11684
|
|
11685 010400 SN=10400
|
|
11686 000001 ZZ=1
|
|
11687
|
|
11688 F10400: REPEAT ^D2,<
|
|
11689 SN=SN+1
|
|
11690 ZZ=ZZ+ZZ
|
|
11691 MOVEI AC,ZZ ;SETUP DVND
|
|
11692 MOVEI AC-1,1 ;SETUP DVSR
|
|
11693 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
11694 CAIE AC,ZZ ;TEST QUOT
|
|
11695 ER3 AC,SN
|
|
11696 SKIPE AC+1 ;TEST REMD
|
|
11697 ER4 AC+1,SN
|
|
11698 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11699 >
|
|
11700
|
|
11701 010401 SN=SN+1
|
|
11702 000002 ZZ=ZZ+ZZ
|
|
11703 040000 201 13 0 00 000002 MOVEI AC,ZZ ;SETUP DVND
|
|
11704 040001 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
11705 040002 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
11706 040003 302 13 0 00 000002 CAIE AC,ZZ ;TEST QUOT
|
|
11707 040004 003 13 0 00 010401 ER3 AC,SN
|
|
11708 040005 332 00 0 00 000014 SKIPE AC+1 ;TEST REMD
|
|
11709 040006 004 14 0 00 010401 ER4 AC+1,SN
|
|
11710 040007 321 15 0 00 037777 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11711
|
|
11712
|
|
11713 010402 SN=SN+1
|
|
11714 000004 ZZ=ZZ+ZZ
|
|
11715 040010 201 13 0 00 000004 MOVEI AC,ZZ ;SETUP DVND
|
|
11716 040011 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
11717 040012 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
11718 040013 302 13 0 00 000004 CAIE AC,ZZ ;TEST QUOT
|
|
11719 040014 003 13 0 00 010402 ER3 AC,SN
|
|
11720 040015 332 00 0 00 000014 SKIPE AC+1 ;TEST REMD
|
|
11721 040016 004 14 0 00 010402 ER4 AC+1,SN
|
|
11722 040017 321 15 0 00 040007 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11723
|
|
11724 PAGE
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 41-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0254
|
|
|
|
11725 010500 SN=10500
|
|
11726 000000 ZZ=0
|
|
11727
|
|
11728 F10500: REPEAT ^D2,<
|
|
11729 SN=SN+1
|
|
11730 ZZ=ZZ/2
|
|
11731 IFE ZZ,<ZZ=377777>
|
|
11732 HRLOI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
11733 HRLOI AC,ZZ ;SETUP DVND
|
|
11734 MOVEI AC-1,1 ;SETUP DVSR
|
|
11735 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
11736 CAME AC,AC-2 ;TEST QUOT
|
|
11737 ER3 AC,SN
|
|
11738 SKIPE AC+1 ;TEST REMD
|
|
11739 ER4 AC+1,SN
|
|
11740 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11741 >
|
|
11742
|
|
11743 010501 SN=SN+1
|
|
11744 000000 ZZ=ZZ/2
|
|
11745 377777 IFE ZZ,<ZZ=377777>
|
|
11746 040020 525 11 0 00 377777 HRLOI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
11747 040021 525 13 0 00 377777 HRLOI AC,ZZ ;SETUP DVND
|
|
11748 040022 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
11749 040023 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
11750 040024 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT
|
|
11751 040025 003 13 0 00 010501 ER3 AC,SN
|
|
11752 040026 332 00 0 00 000014 SKIPE AC+1 ;TEST REMD
|
|
11753 040027 004 14 0 00 010501 ER4 AC+1,SN
|
|
11754 040030 321 15 0 00 040020 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11755
|
|
11756
|
|
11757 010502 SN=SN+1
|
|
11758 177777 ZZ=ZZ/2
|
|
11759 IFE ZZ,<ZZ=377777>
|
|
11760 040031 525 11 0 00 177777 HRLOI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
11761 040032 525 13 0 00 177777 HRLOI AC,ZZ ;SETUP DVND
|
|
11762 040033 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
11763 040034 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
11764 040035 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT
|
|
11765 040036 003 13 0 00 010502 ER3 AC,SN
|
|
11766 040037 332 00 0 00 000014 SKIPE AC+1 ;TEST REMD
|
|
11767 040040 004 14 0 00 010502 ER4 AC+1,SN
|
|
11768 040041 321 15 0 00 040031 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11769
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 42
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0255
|
|
|
|
11770 ;DVND = 100
|
|
11771 ;DVSR = 2,4
|
|
11772 ;FAILURE RESULTS IN A QUOT = 252525 252525
|
|
11773
|
|
11774 000004 AC=4
|
|
11775 SAVEAC (1,1)^
|
|
11776 040042 201 06 0 00 040042 MOVEI AC+2,. ;SAVE TEST PC
|
|
11777 040043 202 06 0 00 030051 MOVEM AC+2,TESTPC
|
|
11778 040044 201 06 0 00 000006 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
11779 040045 202 06 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
11780
|
|
11781 011300 SN=11300
|
|
11782 000001 ZZ=1
|
|
11783
|
|
11784 F11300: REPEAT ^D2,<
|
|
11785 SN=SN+1
|
|
11786 ZZ=ZZ+ZZ
|
|
11787 MOVEI AC,100 ;SETUP DVND
|
|
11788 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
11789 IDIV AC,AC-1 ;DIVIDE 100 BY (ZZ)
|
|
11790 CAIE AC,100/ZZ ;TEST QUOT
|
|
11791 ER3 AC,SN
|
|
11792 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
11793 >
|
|
11794
|
|
11795 011301 SN=SN+1
|
|
11796 000002 ZZ=ZZ+ZZ
|
|
11797 040046 201 04 0 00 000100 MOVEI AC,100 ;SETUP DVND
|
|
11798 040047 201 03 0 00 000002 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
11799 040050 230 04 0 00 000003 IDIV AC,AC-1 ;DIVIDE 100 BY (ZZ)
|
|
11800 040051 302 04 0 00 000040 CAIE AC,100/ZZ ;TEST QUOT
|
|
11801 040052 003 04 0 00 011301 ER3 AC,SN
|
|
11802 040053 321 06 0 00 040044 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
11803
|
|
11804
|
|
11805 011302 SN=SN+1
|
|
11806 000004 ZZ=ZZ+ZZ
|
|
11807 040054 201 04 0 00 000100 MOVEI AC,100 ;SETUP DVND
|
|
11808 040055 201 03 0 00 000004 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
11809 040056 230 04 0 00 000003 IDIV AC,AC-1 ;DIVIDE 100 BY (ZZ)
|
|
11810 040057 302 04 0 00 000020 CAIE AC,100/ZZ ;TEST QUOT
|
|
11811 040060 003 04 0 00 011302 ER3 AC,SN
|
|
11812 040061 321 06 0 00 040052 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
11813
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 43
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0256
|
|
|
|
11814 ;DVND = 4,10
|
|
11815 ;DVSR = -2
|
|
11816 ;FAILURE OF EITHER RESULTS IN A QUOT
|
|
11817 ;= 2'S COMP ACTUAL,A REMD = 0
|
|
11818
|
|
11819 000011 AC=11
|
|
11820 SAVEAC (1,1)^
|
|
11821 040062 201 13 0 00 040062 MOVEI AC+2,. ;SAVE TEST PC
|
|
11822 040063 202 13 0 00 030051 MOVEM AC+2,TESTPC
|
|
11823 040064 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
11824 040065 202 13 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
11825
|
|
11826 011400 SN=11400
|
|
11827 777777 777777 XX=-1
|
|
11828 000002 ZZ=2
|
|
11829
|
|
11830 F11400: REPEAT ^D2,<
|
|
11831 SN=SN+1
|
|
11832 XX=XX+XX
|
|
11833 ZZ=ZZ+ZZ
|
|
11834 HRROI AC-2,XX ;SETUP FOR COMPARISON
|
|
11835 MOVEI AC,ZZ ;SETUP DVND
|
|
11836 HRROI AC-1,-2 ;SETUP DVSR
|
|
11837 IDIV AC,AC-1 ;DIVIDE (ZZ) BY -2
|
|
11838 SKIPE AC+1 ;TEST REMD = 0
|
|
11839 ER4 AC+1,SN
|
|
11840 CAME AC,AC-2 ;TEST QUOTIENT
|
|
11841 ER3 AC,SN
|
|
11842 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11843 >
|
|
11844
|
|
11845 011401 SN=SN+1
|
|
11846 777777 777776 XX=XX+XX
|
|
11847 000004 ZZ=ZZ+ZZ
|
|
11848 040066 561 07 0 00 777776 HRROI AC-2,XX ;SETUP FOR COMPARISON
|
|
11849 040067 201 11 0 00 000004 MOVEI AC,ZZ ;SETUP DVND
|
|
11850 040070 561 10 0 00 777776 HRROI AC-1,-2 ;SETUP DVSR
|
|
11851 040071 230 11 0 00 000010 IDIV AC,AC-1 ;DIVIDE (ZZ) BY -2
|
|
11852 040072 332 00 0 00 000012 SKIPE AC+1 ;TEST REMD = 0
|
|
11853 040073 004 12 0 00 011401 ER4 AC+1,SN
|
|
11854 040074 312 11 0 00 000007 CAME AC,AC-2 ;TEST QUOTIENT
|
|
11855 040075 003 11 0 00 011401 ER3 AC,SN
|
|
11856 040076 321 13 0 00 040066 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11857
|
|
11858
|
|
11859 011402 SN=SN+1
|
|
11860 777777 777774 XX=XX+XX
|
|
11861 000010 ZZ=ZZ+ZZ
|
|
11862 040077 561 07 0 00 777774 HRROI AC-2,XX ;SETUP FOR COMPARISON
|
|
11863 040100 201 11 0 00 000010 MOVEI AC,ZZ ;SETUP DVND
|
|
11864 040101 561 10 0 00 777776 HRROI AC-1,-2 ;SETUP DVSR
|
|
11865 040102 230 11 0 00 000010 IDIV AC,AC-1 ;DIVIDE (ZZ) BY -2
|
|
11866 040103 332 00 0 00 000012 SKIPE AC+1 ;TEST REMD = 0
|
|
11867 040104 004 12 0 00 011402 ER4 AC+1,SN
|
|
11868 040105 312 11 0 00 000007 CAME AC,AC-2 ;TEST QUOTIENT
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 43-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0257
|
|
|
|
11869 040106 003 11 0 00 011402 ER3 AC,SN
|
|
11870 040107 321 13 0 00 040077 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11871
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 45
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0258
|
|
|
|
11872 ;DVND = 377777 777777,177777 777777
|
|
11873 ;DVSR = 2
|
|
11874
|
|
11875 000012 AC=12
|
|
11876 SAVEAC (1,1)^
|
|
11877 040110 201 14 0 00 040110 MOVEI AC+2,. ;SAVE TEST PC
|
|
11878 040111 202 14 0 00 030051 MOVEM AC+2,TESTPC
|
|
11879 040112 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
11880 040113 202 14 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
11881
|
|
11882 012000 SN=12000
|
|
11883 377777 XX=377777
|
|
11884 000000 ZZ=0
|
|
11885
|
|
11886 F12000: REPEAT ^D2,<
|
|
11887 SN=SN+1
|
|
11888 XX=XX/2
|
|
11889 ZZ=ZZ/2
|
|
11890 IFE ZZ,<ZZ=377777>
|
|
11891 HRLOI AC-2,XX ;SETUP FOR COMPARISON
|
|
11892 HRLOI AC,ZZ ;SETUP DVND
|
|
11893 MOVEI AC-1,2 ;SETUP DVSR
|
|
11894 IDIV AC,AC-1 ;DIVIDE (ZZ) BY 2
|
|
11895 CAIE AC+1,1
|
|
11896 ER4 AC+1,SN
|
|
11897 CAME AC,AC-2 ;TEST QUOT = 1/2 DVND
|
|
11898 ER3 AC,SN
|
|
11899 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11900 >
|
|
11901
|
|
11902 012001 SN=SN+1
|
|
11903 177777 XX=XX/2
|
|
11904 000000 ZZ=ZZ/2
|
|
11905 377777 IFE ZZ,<ZZ=377777>
|
|
11906 040114 525 10 0 00 177777 HRLOI AC-2,XX ;SETUP FOR COMPARISON
|
|
11907 040115 525 12 0 00 377777 HRLOI AC,ZZ ;SETUP DVND
|
|
11908 040116 201 11 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
11909 040117 230 12 0 00 000011 IDIV AC,AC-1 ;DIVIDE (ZZ) BY 2
|
|
11910 040120 302 13 0 00 000001 CAIE AC+1,1
|
|
11911 040121 004 13 0 00 012001 ER4 AC+1,SN
|
|
11912 040122 312 12 0 00 000010 CAME AC,AC-2 ;TEST QUOT = 1/2 DVND
|
|
11913 040123 003 12 0 00 012001 ER3 AC,SN
|
|
11914 040124 321 14 0 00 040114 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11915
|
|
11916
|
|
11917 012002 SN=SN+1
|
|
11918 077777 XX=XX/2
|
|
11919 177777 ZZ=ZZ/2
|
|
11920 IFE ZZ,<ZZ=377777>
|
|
11921 040125 525 10 0 00 077777 HRLOI AC-2,XX ;SETUP FOR COMPARISON
|
|
11922 040126 525 12 0 00 177777 HRLOI AC,ZZ ;SETUP DVND
|
|
11923 040127 201 11 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
11924 040130 230 12 0 00 000011 IDIV AC,AC-1 ;DIVIDE (ZZ) BY 2
|
|
11925 040131 302 13 0 00 000001 CAIE AC+1,1
|
|
11926 040132 004 13 0 00 012002 ER4 AC+1,SN
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 45-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0259
|
|
|
|
11927 040133 312 12 0 00 000010 CAME AC,AC-2 ;TEST QUOT = 1/2 DVND
|
|
11928 040134 003 12 0 00 012002 ER3 AC,SN
|
|
11929 040135 321 14 0 00 040125 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11930
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 46
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0260
|
|
|
|
11931 ;DVND = 4,10
|
|
11932 ;DVSR = 400000 000000
|
|
11933
|
|
11934 012300 SN=12300
|
|
11935 000002 ZZ=2
|
|
11936
|
|
11937 F12300: REPEAT ^D2,<
|
|
11938 SN=SN+1
|
|
11939 ZZ=ZZ+ZZ
|
|
11940 MOVEI AC,ZZ ;SETUP DVND
|
|
11941 MOVSI AC-1,400000 ;SETUP DVSR
|
|
11942 IDIV AC,AC-1 ;DIVIDE (ZZ) BY (-N)
|
|
11943 SKIPE AC ;TEST QUOT
|
|
11944 ER3 AC,SN
|
|
11945 CAIE AC+1,ZZ ;TEST REMD
|
|
11946 ER4 AC+1,SN
|
|
11947 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11948 >
|
|
11949
|
|
11950 012301 SN=SN+1
|
|
11951 000004 ZZ=ZZ+ZZ
|
|
11952 040136 201 12 0 00 000004 MOVEI AC,ZZ ;SETUP DVND
|
|
11953 040137 205 11 0 00 400000 MOVSI AC-1,400000 ;SETUP DVSR
|
|
11954 040140 230 12 0 00 000011 IDIV AC,AC-1 ;DIVIDE (ZZ) BY (-N)
|
|
11955 040141 332 00 0 00 000012 SKIPE AC ;TEST QUOT
|
|
11956 040142 003 12 0 00 012301 ER3 AC,SN
|
|
11957 040143 302 13 0 00 000004 CAIE AC+1,ZZ ;TEST REMD
|
|
11958 040144 004 13 0 00 012301 ER4 AC+1,SN
|
|
11959 040145 321 14 0 00 040135 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11960
|
|
11961
|
|
11962 012302 SN=SN+1
|
|
11963 000010 ZZ=ZZ+ZZ
|
|
11964 040146 201 12 0 00 000010 MOVEI AC,ZZ ;SETUP DVND
|
|
11965 040147 205 11 0 00 400000 MOVSI AC-1,400000 ;SETUP DVSR
|
|
11966 040150 230 12 0 00 000011 IDIV AC,AC-1 ;DIVIDE (ZZ) BY (-N)
|
|
11967 040151 332 00 0 00 000012 SKIPE AC ;TEST QUOT
|
|
11968 040152 003 12 0 00 012302 ER3 AC,SN
|
|
11969 040153 302 13 0 00 000010 CAIE AC+1,ZZ ;TEST REMD
|
|
11970 040154 004 13 0 00 012302 ER4 AC+1,SN
|
|
11971 040155 321 14 0 00 040145 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
11972
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 47
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0261
|
|
|
|
11973 ;DVND = -40,-20
|
|
11974 ;DVSR = 2
|
|
11975
|
|
11976 000006 AC=6
|
|
11977 SAVEAC (1,1)^
|
|
11978 040156 201 10 0 00 040156 MOVEI AC+2,. ;SAVE TEST PC
|
|
11979 040157 202 10 0 00 030051 MOVEM AC+2,TESTPC
|
|
11980 040160 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
11981 040161 202 10 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
11982
|
|
11983 012600 SN=12600
|
|
11984 777777 777700 ZZ=-100
|
|
11985
|
|
11986 F12600: REPEAT ^D2,<
|
|
11987 SN=SN+1
|
|
11988 ZZ=ZZ/2
|
|
11989 HRROI AC,ZZ ;SETUP DVND
|
|
11990 MOVEI AC-1,2 ;SETUP DVSR
|
|
11991 IDIV AC,AC-1 ;DIVIDE ZZ BY 2
|
|
11992 CAME AC,[ZZ/2] ;TEST QUOT = 0
|
|
11993 ER3 AC,SN
|
|
11994 SKIPE AC+1 ;TEST REMD
|
|
11995 ER4 AC+1,SN
|
|
11996 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
11997 >
|
|
11998
|
|
11999 012601 SN=SN+1
|
|
12000 777777 777740 ZZ=ZZ/2
|
|
12001 040162 561 06 0 00 777740 HRROI AC,ZZ ;SETUP DVND
|
|
12002 040163 201 05 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
12003 040164 230 06 0 00 000005 IDIV AC,AC-1 ;DIVIDE ZZ BY 2
|
|
12004 040165 312 06 0 00 045243 CAME AC,[ZZ/2] ;TEST QUOT = 0
|
|
12005 040166 003 06 0 00 012601 ER3 AC,SN
|
|
12006 040167 332 00 0 00 000007 SKIPE AC+1 ;TEST REMD
|
|
12007 040170 004 07 0 00 012601 ER4 AC+1,SN
|
|
12008 040171 321 10 0 00 040162 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
12009
|
|
12010
|
|
12011 012602 SN=SN+1
|
|
12012 777777 777760 ZZ=ZZ/2
|
|
12013 040172 561 06 0 00 777760 HRROI AC,ZZ ;SETUP DVND
|
|
12014 040173 201 05 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
12015 040174 230 06 0 00 000005 IDIV AC,AC-1 ;DIVIDE ZZ BY 2
|
|
12016 040175 312 06 0 00 045305 CAME AC,[ZZ/2] ;TEST QUOT = 0
|
|
12017 040176 003 06 0 00 012602 ER3 AC,SN
|
|
12018 040177 332 00 0 00 000007 SKIPE AC+1 ;TEST REMD
|
|
12019 040200 004 07 0 00 012602 ER4 AC+1,SN
|
|
12020 040201 321 10 0 00 040172 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
12021
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 48
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0262
|
|
|
|
12022 ;DVND = -100,-40
|
|
12023 ;DVSR = 2
|
|
12024
|
|
12025 000004 AC=4
|
|
12026 SAVEAC (1,1)^
|
|
12027 040202 201 06 0 00 040202 MOVEI AC+2,. ;SAVE TEST PC
|
|
12028 040203 202 06 0 00 030051 MOVEM AC+2,TESTPC
|
|
12029 040204 201 06 0 00 000006 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12030 040205 202 06 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
12031
|
|
12032 013000 SN=13000
|
|
12033 777777 777600 ZZ=-200
|
|
12034
|
|
12035 F13000: REPEAT ^D2,<
|
|
12036 SN=SN+1
|
|
12037 ZZ=ZZ/2
|
|
12038 HRROI AC-2,ZZ/2 ;SETUP FOR COMPARISON
|
|
12039 HRROI AC,ZZ ;SETUP DVND
|
|
12040 MOVEI AC-1,2 ;SETUP DVSR
|
|
12041 IDIV AC,AC-1 ;DIVIDE (-ZZ) BY 2
|
|
12042 CAME AC,AC-2 ;TEST QUOT
|
|
12043 ER3 AC,SN
|
|
12044 SKIPE AC+1 ;TEST REMD
|
|
12045 ER4 AC+1,SN
|
|
12046 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
12047 >
|
|
12048
|
|
12049 013001 SN=SN+1
|
|
12050 777777 777700 ZZ=ZZ/2
|
|
12051 040206 561 02 0 00 777740 HRROI AC-2,ZZ/2 ;SETUP FOR COMPARISON
|
|
12052 040207 561 04 0 00 777700 HRROI AC,ZZ ;SETUP DVND
|
|
12053 040210 201 03 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
12054 040211 230 04 0 00 000003 IDIV AC,AC-1 ;DIVIDE (-ZZ) BY 2
|
|
12055 040212 312 04 0 00 000002 CAME AC,AC-2 ;TEST QUOT
|
|
12056 040213 003 04 0 00 013001 ER3 AC,SN
|
|
12057 040214 332 00 0 00 000005 SKIPE AC+1 ;TEST REMD
|
|
12058 040215 004 05 0 00 013001 ER4 AC+1,SN
|
|
12059 040216 321 06 0 00 040205 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
12060
|
|
12061
|
|
12062 013002 SN=SN+1
|
|
12063 777777 777740 ZZ=ZZ/2
|
|
12064 040217 561 02 0 00 777760 HRROI AC-2,ZZ/2 ;SETUP FOR COMPARISON
|
|
12065 040220 561 04 0 00 777740 HRROI AC,ZZ ;SETUP DVND
|
|
12066 040221 201 03 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
12067 040222 230 04 0 00 000003 IDIV AC,AC-1 ;DIVIDE (-ZZ) BY 2
|
|
12068 040223 312 04 0 00 000002 CAME AC,AC-2 ;TEST QUOT
|
|
12069 040224 003 04 0 00 013002 ER3 AC,SN
|
|
12070 040225 332 00 0 00 000005 SKIPE AC+1 ;TEST REMD
|
|
12071 040226 004 05 0 00 013002 ER4 AC+1,SN
|
|
12072 040227 321 06 0 00 040216 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
12073
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 49
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0263
|
|
|
|
12074 ;FAILURE RESULTS IN A QUOT AND
|
|
12075 ;REMD WHICH ARE THE TWO'S
|
|
12076 ;COMPLEMENT OF ACTUAL
|
|
12077 ;DVND = -7,-17
|
|
12078 ;DVSR = 4
|
|
12079
|
|
12080 000014 AC=14
|
|
12081 SAVEAC (1,1)^
|
|
12082 040230 201 16 0 00 040230 MOVEI AC+2,. ;SAVE TEST PC
|
|
12083 040231 202 16 0 00 030051 MOVEM AC+2,TESTPC
|
|
12084 040232 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12085 040233 202 16 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
12086
|
|
12087 013200 SN=13200
|
|
12088 000001 ZZ=1
|
|
12089
|
|
12090 F13200: REPEAT ^D2,<
|
|
12091 SN=SN+1
|
|
12092 ZZ=ZZ-10
|
|
12093 HRROI AC-2,ZZ/4 ;SETUP FOR COMPARISON
|
|
12094 HRROI AC,ZZ ;SETUP DVND
|
|
12095 MOVEI AC-1,4 ;SETUP DVSR
|
|
12096 IDIV AC,AC-1 ;DIVIDE (-ZZ) BY 4
|
|
12097 CAME AC,AC-2 ;TEST QUOT
|
|
12098 ER3 AC,SN
|
|
12099 HRROI AC-2,-3 ;SETUP FOR COMPARISON
|
|
12100 CAME AC+1,AC-2 ;TEST REMD
|
|
12101 ER4 AC+1,SN
|
|
12102 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
12103 >
|
|
12104
|
|
12105 013201 SN=SN+1
|
|
12106 777777 777771 ZZ=ZZ-10
|
|
12107 040234 561 12 0 00 777777 HRROI AC-2,ZZ/4 ;SETUP FOR COMPARISON
|
|
12108 040235 561 14 0 00 777771 HRROI AC,ZZ ;SETUP DVND
|
|
12109 040236 201 13 0 00 000004 MOVEI AC-1,4 ;SETUP DVSR
|
|
12110 040237 230 14 0 00 000013 IDIV AC,AC-1 ;DIVIDE (-ZZ) BY 4
|
|
12111 040240 312 14 0 00 000012 CAME AC,AC-2 ;TEST QUOT
|
|
12112 040241 003 14 0 00 013201 ER3 AC,SN
|
|
12113 040242 561 12 0 00 777775 HRROI AC-2,-3 ;SETUP FOR COMPARISON
|
|
12114 040243 312 15 0 00 000012 CAME AC+1,AC-2 ;TEST REMD
|
|
12115 040244 004 15 0 00 013201 ER4 AC+1,SN
|
|
12116 040245 321 16 0 00 040234 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
12117
|
|
12118
|
|
12119 013202 SN=SN+1
|
|
12120 777777 777761 ZZ=ZZ-10
|
|
12121 040246 561 12 0 00 777775 HRROI AC-2,ZZ/4 ;SETUP FOR COMPARISON
|
|
12122 040247 561 14 0 00 777761 HRROI AC,ZZ ;SETUP DVND
|
|
12123 040250 201 13 0 00 000004 MOVEI AC-1,4 ;SETUP DVSR
|
|
12124 040251 230 14 0 00 000013 IDIV AC,AC-1 ;DIVIDE (-ZZ) BY 4
|
|
12125 040252 312 14 0 00 000012 CAME AC,AC-2 ;TEST QUOT
|
|
12126 040253 003 14 0 00 013202 ER3 AC,SN
|
|
12127 040254 561 12 0 00 777775 HRROI AC-2,-3 ;SETUP FOR COMPARISON
|
|
12128 040255 312 15 0 00 000012 CAME AC+1,AC-2 ;TEST REMD
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 49-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0264
|
|
|
|
12129 040256 004 15 0 00 013202 ER4 AC+1,SN
|
|
12130 040257 321 16 0 00 040246 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
12131
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 50
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0265
|
|
|
|
12132 ;DVND = -77,-37
|
|
12133 ;DVSR = 2
|
|
12134
|
|
12135 000013 AC=13
|
|
12136 SAVEAC (1,1)^
|
|
12137 040260 201 15 0 00 040260 MOVEI AC+2,. ;SAVE TEST PC
|
|
12138 040261 202 15 0 00 030051 MOVEM AC+2,TESTPC
|
|
12139 040262 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12140 040263 202 15 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
12141
|
|
12142 013300 SN=13300
|
|
12143 777777 777601 ZZ=-177
|
|
12144
|
|
12145 F13300: REPEAT ^D2,<
|
|
12146 SN=SN+1
|
|
12147 ZZ=ZZ/2
|
|
12148 HRROI AC-2,-1 ;SETUP FOR COMPARISON
|
|
12149 HRROI AC,ZZ ;SETUP DVND
|
|
12150 MOVEI AC-1,2 ;SETUP DVSR
|
|
12151 IDIV AC,AC-1 ;DIVIDE (-ZZ) BY 2
|
|
12152 CAME AC+1,AC-2 ;TEST REMD
|
|
12153 ER4 AC+1,SN
|
|
12154 HRROI AC-2,ZZ/2 ;SETUP FOR COMPARISON
|
|
12155 CAME AC,AC-2 ;TEST QUOTIENT
|
|
12156 ER3 AC,AC-2
|
|
12157 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
12158 >
|
|
12159
|
|
12160 013301 SN=SN+1
|
|
12161 777777 777701 ZZ=ZZ/2
|
|
12162 040264 561 11 0 00 777777 HRROI AC-2,-1 ;SETUP FOR COMPARISON
|
|
12163 040265 561 13 0 00 777701 HRROI AC,ZZ ;SETUP DVND
|
|
12164 040266 201 12 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
12165 040267 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE (-ZZ) BY 2
|
|
12166 040270 312 14 0 00 000011 CAME AC+1,AC-2 ;TEST REMD
|
|
12167 040271 004 14 0 00 013301 ER4 AC+1,SN
|
|
12168 040272 561 11 0 00 777741 HRROI AC-2,ZZ/2 ;SETUP FOR COMPARISON
|
|
12169 040273 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOTIENT
|
|
12170 040274 003 13 0 00 000011 ER3 AC,AC-2
|
|
12171 040275 321 15 0 00 040264 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
12172
|
|
12173
|
|
12174 013302 SN=SN+1
|
|
12175 777777 777741 ZZ=ZZ/2
|
|
12176 040276 561 11 0 00 777777 HRROI AC-2,-1 ;SETUP FOR COMPARISON
|
|
12177 040277 561 13 0 00 777741 HRROI AC,ZZ ;SETUP DVND
|
|
12178 040300 201 12 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
12179 040301 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE (-ZZ) BY 2
|
|
12180 040302 312 14 0 00 000011 CAME AC+1,AC-2 ;TEST REMD
|
|
12181 040303 004 14 0 00 013302 ER4 AC+1,SN
|
|
12182 040304 561 11 0 00 777761 HRROI AC-2,ZZ/2 ;SETUP FOR COMPARISON
|
|
12183 040305 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOTIENT
|
|
12184 040306 003 13 0 00 000011 ER3 AC,AC-2
|
|
12185 040307 321 15 0 00 040276 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
12186
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 51
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0266
|
|
|
|
12187 ;DVND = -4,-10
|
|
12188 ;DVSR = 2
|
|
12189
|
|
12190 000012 AC=12
|
|
12191 SAVEAC (1,1)^
|
|
12192 040310 201 14 0 00 040310 MOVEI AC+2,. ;SAVE TEST PC
|
|
12193 040311 202 14 0 00 030051 MOVEM AC+2,TESTPC
|
|
12194 040312 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12195 040313 202 14 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
12196
|
|
12197 013500 SN=13500
|
|
12198 777777 777776 ZZ=-2
|
|
12199
|
|
12200 F13500: REPEAT ^D2,<
|
|
12201 SN=SN+1
|
|
12202 ZZ=ZZ+ZZ
|
|
12203 HRROI AC-2,ZZ/2 ;SETUP FOR COMPARISON
|
|
12204 HRROI AC,ZZ ;SETUP DVND
|
|
12205 MOVEI AC-1,2 ;SETUP DVSR
|
|
12206 IDIV AC,AC-1 ;DIVIDE (-ZZ) BY 2
|
|
12207 CAME AC,AC-2 ;TEST QUOTIENT
|
|
12208 ER3 AC,SN
|
|
12209 SKIPE AC+1 ;TEST REMAINDER
|
|
12210 ER4 AC+1,SN
|
|
12211 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
12212 >
|
|
12213
|
|
12214 013501 SN=SN+1
|
|
12215 777777 777774 ZZ=ZZ+ZZ
|
|
12216 040314 561 10 0 00 777776 HRROI AC-2,ZZ/2 ;SETUP FOR COMPARISON
|
|
12217 040315 561 12 0 00 777774 HRROI AC,ZZ ;SETUP DVND
|
|
12218 040316 201 11 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
12219 040317 230 12 0 00 000011 IDIV AC,AC-1 ;DIVIDE (-ZZ) BY 2
|
|
12220 040320 312 12 0 00 000010 CAME AC,AC-2 ;TEST QUOTIENT
|
|
12221 040321 003 12 0 00 013501 ER3 AC,SN
|
|
12222 040322 332 00 0 00 000013 SKIPE AC+1 ;TEST REMAINDER
|
|
12223 040323 004 13 0 00 013501 ER4 AC+1,SN
|
|
12224 040324 321 14 0 00 040314 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
12225
|
|
12226
|
|
12227 013502 SN=SN+1
|
|
12228 777777 777770 ZZ=ZZ+ZZ
|
|
12229 040325 561 10 0 00 777774 HRROI AC-2,ZZ/2 ;SETUP FOR COMPARISON
|
|
12230 040326 561 12 0 00 777770 HRROI AC,ZZ ;SETUP DVND
|
|
12231 040327 201 11 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
12232 040330 230 12 0 00 000011 IDIV AC,AC-1 ;DIVIDE (-ZZ) BY 2
|
|
12233 040331 312 12 0 00 000010 CAME AC,AC-2 ;TEST QUOTIENT
|
|
12234 040332 003 12 0 00 013502 ER3 AC,SN
|
|
12235 040333 332 00 0 00 000013 SKIPE AC+1 ;TEST REMAINDER
|
|
12236 040334 004 13 0 00 013502 ER4 AC+1,SN
|
|
12237 040335 321 14 0 00 040325 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
12238
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 52
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0267
|
|
|
|
12239 ;TEST IDIV- TWO NEGATIVES
|
|
12240 ;TEST ABILITY TO DIVIDE TWO
|
|
12241 ;NEGATIVE NUMBERS
|
|
12242 ;TEST EXERCISES MAJORITY
|
|
12243 ;OF IDIV LOGIC GATES
|
|
12244 ;DVND = -2,-4
|
|
12245 ;DVSR = -2,-4
|
|
12246
|
|
12247 000007 AC=7
|
|
12248 SAVEAC (1,1)^
|
|
12249 040336 201 11 0 00 040336 MOVEI AC+2,. ;SAVE TEST PC
|
|
12250 040337 202 11 0 00 030051 MOVEM AC+2,TESTPC
|
|
12251 040340 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12252 040341 202 11 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
12253
|
|
12254 014000 SN=14000
|
|
12255 777777 777777 ZZ=-1
|
|
12256
|
|
12257 ;DIVIDE TWO NEGATIVES
|
|
12258 F14000: REPEAT ^D2,<
|
|
12259 SN=SN+1
|
|
12260 ZZ=ZZ+ZZ
|
|
12261 HRROI AC,ZZ ;SETUP DVND
|
|
12262 HRROI AC-1,ZZ ;SETUP DVSR
|
|
12263 IDIV AC,AC-1 ;DIVIDE (-ZZ) BY (-ZZ)
|
|
12264 CAIE AC,1 ;TEST QUOT (POSITIVE)
|
|
12265 ER3 AC,SN ;INCORRECT SIGN
|
|
12266 SKIPE AC+1 ;TEST REMAINDER
|
|
12267 ER4 AC+1,SN
|
|
12268 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
12269 >
|
|
12270
|
|
12271 014001 SN=SN+1
|
|
12272 777777 777776 ZZ=ZZ+ZZ
|
|
12273 040342 561 07 0 00 777776 HRROI AC,ZZ ;SETUP DVND
|
|
12274 040343 561 06 0 00 777776 HRROI AC-1,ZZ ;SETUP DVSR
|
|
12275 040344 230 07 0 00 000006 IDIV AC,AC-1 ;DIVIDE (-ZZ) BY (-ZZ)
|
|
12276 040345 302 07 0 00 000001 CAIE AC,1 ;TEST QUOT (POSITIVE)
|
|
12277 040346 003 07 0 00 014001 ER3 AC,SN ;INCORRECT SIGN
|
|
12278 040347 332 00 0 00 000010 SKIPE AC+1 ;TEST REMAINDER
|
|
12279 040350 004 10 0 00 014001 ER4 AC+1,SN
|
|
12280 040351 321 11 0 00 040342 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
12281
|
|
12282
|
|
12283 014002 SN=SN+1
|
|
12284 777777 777774 ZZ=ZZ+ZZ
|
|
12285 040352 561 07 0 00 777774 HRROI AC,ZZ ;SETUP DVND
|
|
12286 040353 561 06 0 00 777774 HRROI AC-1,ZZ ;SETUP DVSR
|
|
12287 040354 230 07 0 00 000006 IDIV AC,AC-1 ;DIVIDE (-ZZ) BY (-ZZ)
|
|
12288 040355 302 07 0 00 000001 CAIE AC,1 ;TEST QUOT (POSITIVE)
|
|
12289 040356 003 07 0 00 014002 ER3 AC,SN ;INCORRECT SIGN
|
|
12290 040357 332 00 0 00 000010 SKIPE AC+1 ;TEST REMAINDER
|
|
12291 040360 004 10 0 00 014002 ER4 AC+1,SN
|
|
12292 040361 321 11 0 00 040352 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
12293
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 53
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0268
|
|
|
|
12294 ;TEST IDIV -IMMEDIATE MODE
|
|
12295 ;TEST ABILITY TO DIVIDE BY E VICE C(E)
|
|
12296 ;DVND = 2,4
|
|
12297 ;DVSR = E (C(E)=0)
|
|
12298
|
|
12299 014100 SN=14100
|
|
12300 000012 AC=12
|
|
12301 000001 ZZ=1
|
|
12302
|
|
12303 ;TEST IDIV-IMM MODE
|
|
12304 F14100: REPEAT ^D2,<
|
|
12305 SN=SN+1
|
|
12306 ZZ=ZZ+ZZ
|
|
12307 AC=AC-1
|
|
12308 SAVEAC (1,1) ;SAVE ERROR AC
|
|
12309 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
12310 MOVEI AC,ZZ ;SETUP DVND
|
|
12311 SETZ AC-1, ;SETUP OVFL CONDITION
|
|
12312 IDIVI AC,AC-1 ;DIVIDE (ZZ) BY E
|
|
12313 JSP AC-1,.+1
|
|
12314 CAIE AC,0
|
|
12315 ER3 AC,SN ;C(AC) FAILED
|
|
12316 CAIE AC+1,ZZ
|
|
12317 ER4 AC+1,SN ;C(AC+1) FAILED
|
|
12318 JOV .+2 ;TEST FOR OVERFLOW
|
|
12319 JRST ,.+2 ;DIVIDED (ZZ) BY E
|
|
12320 ER13 AC-1,SN ;DIVIDED (ZZ) BY C(E)
|
|
12321 JUMPL AC+2,.-^D14 ;LOOP ON ERROR SWITCH
|
|
12322 >
|
|
12323
|
|
12324 014101 SN=SN+1
|
|
12325 000002 ZZ=ZZ+ZZ
|
|
12326 000011 AC=AC-1
|
|
12327 SAVEAC (1,1)^
|
|
12328 040362 201 13 0 00 040362 MOVEI AC+2,. ;SAVE TEST PC
|
|
12329 040363 202 13 0 00 030051 MOVEM AC+2,TESTPC
|
|
12330 040364 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12331 040365 202 13 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ ;SAVE ERROR AC
|
|
12332 040366 254 02 1 00 045306 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
12333 040367 201 11 0 00 000002 MOVEI AC,ZZ ;SETUP DVND
|
|
12334 040370 400 10 0 00 000000 SETZ AC-1, ;SETUP OVFL CONDITION
|
|
12335 040371 231 11 0 00 000010 IDIVI AC,AC-1 ;DIVIDE (ZZ) BY E
|
|
12336 040372 265 10 0 00 040373 JSP AC-1,.+1
|
|
12337 040373 302 11 0 00 000000 CAIE AC,0
|
|
12338 040374 003 11 0 00 014101 ER3 AC,SN ;C(AC) FAILED
|
|
12339 040375 302 12 0 00 000002 CAIE AC+1,ZZ
|
|
12340 040376 004 12 0 00 014101 ER4 AC+1,SN ;C(AC+1) FAILED
|
|
12341 040377 255 10 0 00 040401 JOV .+2 ;TEST FOR OVERFLOW
|
|
12342 040400 254 00 0 00 040402 JRST ,.+2 ;DIVIDED (ZZ) BY E
|
|
12343 040401 013 10 0 00 014101 ER13 AC-1,SN ;DIVIDED (ZZ) BY C(E)
|
|
12344 040402 321 13 0 00 040364 JUMPL AC+2,.-^D14 ;LOOP ON ERROR SWITCH
|
|
12345
|
|
12346
|
|
12347 014102 SN=SN+1
|
|
12348 000004 ZZ=ZZ+ZZ
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 53-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0269
|
|
|
|
12349 000010 AC=AC-1
|
|
12350 SAVEAC (1,1)^
|
|
12351 040403 201 12 0 00 040403 MOVEI AC+2,. ;SAVE TEST PC
|
|
12352 040404 202 12 0 00 030051 MOVEM AC+2,TESTPC
|
|
12353 040405 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12354 040406 202 12 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ ;SAVE ERROR AC
|
|
12355 040407 254 02 1 00 045307 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
12356 040410 201 10 0 00 000004 MOVEI AC,ZZ ;SETUP DVND
|
|
12357 040411 400 07 0 00 000000 SETZ AC-1, ;SETUP OVFL CONDITION
|
|
12358 040412 231 10 0 00 000007 IDIVI AC,AC-1 ;DIVIDE (ZZ) BY E
|
|
12359 040413 265 07 0 00 040414 JSP AC-1,.+1
|
|
12360 040414 302 10 0 00 000000 CAIE AC,0
|
|
12361 040415 003 10 0 00 014102 ER3 AC,SN ;C(AC) FAILED
|
|
12362 040416 302 11 0 00 000004 CAIE AC+1,ZZ
|
|
12363 040417 004 11 0 00 014102 ER4 AC+1,SN ;C(AC+1) FAILED
|
|
12364 040420 255 10 0 00 040422 JOV .+2 ;TEST FOR OVERFLOW
|
|
12365 040421 254 00 0 00 040423 JRST ,.+2 ;DIVIDED (ZZ) BY E
|
|
12366 040422 013 07 0 00 014102 ER13 AC-1,SN ;DIVIDED (ZZ) BY C(E)
|
|
12367 040423 321 12 0 00 040405 JUMPL AC+2,.-^D14 ;LOOP ON ERROR SWITCH
|
|
12368
|
|
12369 PAGE
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 53-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0270
|
|
|
|
12370 ;TEST IDIV-MEMORY MODE
|
|
12371 ;DVND = 10,20
|
|
12372 ;DVSR = 2
|
|
12373
|
|
12374 000014 AC=14
|
|
12375 SAVEAC (1,1)^
|
|
12376 040424 201 16 0 00 040424 MOVEI AC+2,. ;SAVE TEST PC
|
|
12377 040425 202 16 0 00 030051 MOVEM AC+2,TESTPC
|
|
12378 040426 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12379 040427 202 16 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
12380 040430 254 02 1 00 045310 JRSTF @[.+1] ;CLEAR ALL FLAGS
|
|
12381
|
|
12382 014200 SN=14200
|
|
12383 000004 ZZ=4
|
|
12384
|
|
12385 ;TEST IDIV-MEMORY MODE
|
|
12386 F14200: REPEAT ^D2,<
|
|
12387 SN=SN+1
|
|
12388 ZZ=ZZ+ZZ
|
|
12389 MOVEI AC+1,ZZ ;SETUP FOR COMPARISON
|
|
12390 MOVEI AC,ZZ ;SETUP DVND
|
|
12391 MOVEI AC-1,2 ;SETUP DVSR
|
|
12392 IDIVM AC,AC-1 ;DIVIDE (ZZ) BY 2
|
|
12393 CAME AC,AC+1
|
|
12394 ER3 AC,SN
|
|
12395 CAIE AC-1,ZZ/2 ;TEST SCE
|
|
12396 ER5 AC-1,SN
|
|
12397 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
12398 >
|
|
12399
|
|
12400 014201 SN=SN+1
|
|
12401 000010 ZZ=ZZ+ZZ
|
|
12402 040431 201 15 0 00 000010 MOVEI AC+1,ZZ ;SETUP FOR COMPARISON
|
|
12403 040432 201 14 0 00 000010 MOVEI AC,ZZ ;SETUP DVND
|
|
12404 040433 201 13 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
12405 040434 232 14 0 00 000013 IDIVM AC,AC-1 ;DIVIDE (ZZ) BY 2
|
|
12406 040435 312 14 0 00 000015 CAME AC,AC+1
|
|
12407 040436 003 14 0 00 014201 ER3 AC,SN
|
|
12408 040437 302 13 0 00 000004 CAIE AC-1,ZZ/2 ;TEST SCE
|
|
12409 040440 005 13 0 00 014201 ER5 AC-1,SN
|
|
12410 040441 321 16 0 00 040431 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
12411
|
|
12412
|
|
12413 014202 SN=SN+1
|
|
12414 000020 ZZ=ZZ+ZZ
|
|
12415 040442 201 15 0 00 000020 MOVEI AC+1,ZZ ;SETUP FOR COMPARISON
|
|
12416 040443 201 14 0 00 000020 MOVEI AC,ZZ ;SETUP DVND
|
|
12417 040444 201 13 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
12418 040445 232 14 0 00 000013 IDIVM AC,AC-1 ;DIVIDE (ZZ) BY 2
|
|
12419 040446 312 14 0 00 000015 CAME AC,AC+1
|
|
12420 040447 003 14 0 00 014202 ER3 AC,SN
|
|
12421 040450 302 13 0 00 000010 CAIE AC-1,ZZ/2 ;TEST SCE
|
|
12422 040451 005 13 0 00 014202 ER5 AC-1,SN
|
|
12423 040452 321 16 0 00 040442 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
12424
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 54
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0271
|
|
|
|
12425 ;TEST IDIV-BOTH MODE
|
|
12426 ;TEST ABILITY TO STORE QUOT
|
|
12427 ;IN AC AND E
|
|
12428 ;TEST ABILITY TO STORE REMD
|
|
12429 ;IN AC+1
|
|
12430
|
|
12431 000013 AC=13
|
|
12432 SAVEAC (1,1)^
|
|
12433 040453 201 15 0 00 040453 MOVEI AC+2,. ;SAVE TEST PC
|
|
12434 040454 202 15 0 00 030051 MOVEM AC+2,TESTPC
|
|
12435 040455 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12436 040456 202 15 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
12437
|
|
12438 014300 SN=14300
|
|
12439 000001 ZZ=1
|
|
12440
|
|
12441 ;TEST IDIV-BOTH MODE
|
|
12442 F14300: REPEAT ^D2,<
|
|
12443 SN=SN+1
|
|
12444 ZZ=ZZ+2
|
|
12445 SETZ AC+1, ;CLEAR AC+1
|
|
12446 MOVEI AC,ZZ ;SETUP DVND
|
|
12447 MOVEI AC-1,2 ;SETUP DVSR
|
|
12448 IDIVB AC,AC-1 ;DIVIDE (ZZ) BY 2
|
|
12449 CAME AC,AC-1 ;TEST QUOT (C(AC)=C(E))
|
|
12450 ER3 AC,SN ;STORE QUOTIENT FAILED
|
|
12451 CAIE AC+1,1 ;TEST REMD(=1)
|
|
12452 ER4 AC+1,SN ;STORE REMAINDER FAILED
|
|
12453 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
12454 >
|
|
12455
|
|
12456 014301 SN=SN+1
|
|
12457 000003 ZZ=ZZ+2
|
|
12458 040457 400 14 0 00 000000 SETZ AC+1, ;CLEAR AC+1
|
|
12459 040460 201 13 0 00 000003 MOVEI AC,ZZ ;SETUP DVND
|
|
12460 040461 201 12 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
12461 040462 233 13 0 00 000012 IDIVB AC,AC-1 ;DIVIDE (ZZ) BY 2
|
|
12462 040463 312 13 0 00 000012 CAME AC,AC-1 ;TEST QUOT (C(AC)=C(E))
|
|
12463 040464 003 13 0 00 014301 ER3 AC,SN ;STORE QUOTIENT FAILED
|
|
12464 040465 302 14 0 00 000001 CAIE AC+1,1 ;TEST REMD(=1)
|
|
12465 040466 004 14 0 00 014301 ER4 AC+1,SN ;STORE REMAINDER FAILED
|
|
12466 040467 321 15 0 00 040457 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
12467
|
|
12468
|
|
12469 014302 SN=SN+1
|
|
12470 000005 ZZ=ZZ+2
|
|
12471 040470 400 14 0 00 000000 SETZ AC+1, ;CLEAR AC+1
|
|
12472 040471 201 13 0 00 000005 MOVEI AC,ZZ ;SETUP DVND
|
|
12473 040472 201 12 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
12474 040473 233 13 0 00 000012 IDIVB AC,AC-1 ;DIVIDE (ZZ) BY 2
|
|
12475 040474 312 13 0 00 000012 CAME AC,AC-1 ;TEST QUOT (C(AC)=C(E))
|
|
12476 040475 003 13 0 00 014302 ER3 AC,SN ;STORE QUOTIENT FAILED
|
|
12477 040476 302 14 0 00 000001 CAIE AC+1,1 ;TEST REMD(=1)
|
|
12478 040477 004 14 0 00 014302 ER4 AC+1,SN ;STORE REMAINDER FAILED
|
|
12479 040500 321 15 0 00 040470 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 54-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0272
|
|
|
|
12480
|
|
12481 PAGE
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 54-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0273
|
|
|
|
12482 ;TEST IDIV
|
|
12483 ;DVND = 400000000000
|
|
12484 ;DVSR = 2
|
|
12485 ;QUOT = 600000000000
|
|
12486 ;REMND = 0
|
|
12487
|
|
12488 000013 AC=13
|
|
12489 SAVEAC (1,1)^
|
|
12490 040501 201 15 0 00 040501 MOVEI AC+2,. ;SAVE TEST PC
|
|
12491 040502 202 15 0 00 030051 MOVEM AC+2,TESTPC
|
|
12492 040503 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12493 040504 202 15 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
12494
|
|
12495 400000 ZZ=400000
|
|
12496 600000 XX=600000
|
|
12497
|
|
12498 040505 474 14 0 00 000000 F14400: SETO AC+1, ;INITIALIZE REMAINDER STORAGE
|
|
12499 040506 205 11 0 00 600000 MOVSI AC-2,XX ;SET UP COMPARISON FOR QUOTIENT
|
|
12500 040507 400 10 0 00 000000 SETZ AC-3, ;SET UP COMPARISON FOR REMAINDER
|
|
12501 040510 205 13 0 00 400000 MOVSI AC,ZZ ;SET UP DIVIDEND
|
|
12502 040511 201 12 0 00 000002 MOVEI AC-1,2 ;SET UP DIVISOR
|
|
12503 040512 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE 400000000000 BY 2
|
|
12504 040513 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOTIENT
|
|
12505 040514 003 13 0 00 014401 ER3 AC,14401 ;STORE QUOTIENT FAILED
|
|
12506 040515 312 14 0 00 000010 CAME AC+1,AC-3 ;TEST REMAINDER
|
|
12507 040516 004 14 0 00 014401 ER4 AC+1,14401 ;STORE REMAINDER FAILED
|
|
12508 040517 321 15 0 00 040505 JUMPL AC+2,F14400 ;LOOP ON ERROR SWITCH
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 55
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - INTEGER DIVIDE TEST SEQ 0274
|
|
|
|
12509 ;TEST IDIVB (DIVIDE CHECK)
|
|
12510
|
|
12511 040520 254 02 1 00 045311 F14410: JRSTF @[.+1] ;CLEAR ALL FLAGS
|
|
12512 040521 201 13 0 00 000004 MOVEI AC,4 ;SETUP DIVIDEND
|
|
12513 040522 201 14 0 00 000004 MOVEI AC+1,4 ;SETUP REMAINDER
|
|
12514 040523 400 12 0 00 000000 SETZ AC-1, ;SETUP DIVISOR
|
|
12515 040524 233 13 0 00 000012 IDIVB AC,AC-1
|
|
12516 040525 265 11 0 00 040526 JSP AC-2,.+1 ;SAVE FLAGS
|
|
12517 040526 302 13 0 00 000004 CAIE AC,4
|
|
12518 040527 003 13 0 00 014411 ER3 AC,14411 ;C(AC) WAS CLOBBERED
|
|
12519 040530 302 14 0 00 000004 CAIE AC+1,4
|
|
12520 040531 004 14 0 00 014411 ER4 AC+1,14411 ;C(AC+1) WAS CLOBBERED
|
|
12521 040532 302 12 0 00 000000 CAIE AC-1,0
|
|
12522 040533 005 12 0 00 014411 ER5 AC-1,14411 ;C(E) WAS CLOBBERED
|
|
12523 040534 255 10 0 00 040536 JOV .+2
|
|
12524 040535 013 11 0 00 014411 ER13 AC-2,14411 ;ARCV FAILED TO SET
|
|
12525 040536 607 11 0 00 000040 TLNN AC-2,DCK
|
|
12526 040537 013 11 0 00 014411 ER13 AC-2,14411 ;'DCK' FAILED TO SET
|
|
12527 040540 321 15 0 00 040520 JUMPL AC+2,F14410 ;LOOP ON ERROR SWITCH
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 56
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0275
|
|
|
|
12528 SUBTTL DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST
|
|
12529
|
|
12530 ;TEST FAC2 AND DECODE
|
|
12531 ;TEST OF ABILITY TO ASSERT IRDIV
|
|
12532 ;TEST ABILITY TO FETCH C(AC+1)
|
|
12533
|
|
12534 000013 AC=13
|
|
12535 SAVEAC (1,1)^
|
|
12536 040541 201 15 0 00 040541 MOVEI AC+2,. ;SAVE TEST PC
|
|
12537 040542 202 15 0 00 030051 MOVEM AC+2,TESTPC
|
|
12538 040543 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12539 040544 202 15 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
12540 040545 254 02 1 00 045312 JRSTF @[.+1] ;CLEAR ALL FLAGS
|
|
12541
|
|
12542 014500 SN=14500
|
|
12543 004000 000001 XX=4000000001
|
|
12544 000002 ZZ=2
|
|
12545
|
|
12546 ;TEST FAC2 FAILING(IRDIV)
|
|
12547 F14500: REPEAT ^D2,<
|
|
12548 SN=SN+1
|
|
12549 XX=XX+XX-1
|
|
12550 ZZ=ZZ+ZZ
|
|
12551 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
12552 MOVEI AC+1,200 ;SETUP LOW DVND
|
|
12553 MOVEI AC-1,200 ;SETUP DVSR
|
|
12554 DIV AC,AC-1 ;DIVIDE (N) BY 200
|
|
12555 CAME AC,[XX] ;TEST BIT 35(1) (ODD QUOT)
|
|
12556 ER3 AC,SN
|
|
12557 SKIPE <AC+1>&17 ;TEST REMD = 0
|
|
12558 ER4 AC+1,SN
|
|
12559 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
12560 >
|
|
12561
|
|
12562 014501 SN=SN+1
|
|
12563 010000 000001 XX=XX+XX-1
|
|
12564 000004 ZZ=ZZ+ZZ
|
|
12565 040546 201 13 0 00 000004 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
12566 040547 201 14 0 00 000200 MOVEI AC+1,200 ;SETUP LOW DVND
|
|
12567 040550 201 12 0 00 000200 MOVEI AC-1,200 ;SETUP DVSR
|
|
12568 040551 234 13 0 00 000012 DIV AC,AC-1 ;DIVIDE (N) BY 200
|
|
12569 040552 312 13 0 00 045160 CAME AC,[XX] ;TEST BIT 35(1) (ODD QUOT)
|
|
12570 040553 003 13 0 00 014501 ER3 AC,SN
|
|
12571 040554 332 00 0 00 000014 SKIPE <AC+1>&17 ;TEST REMD = 0
|
|
12572 040555 004 14 0 00 014501 ER4 AC+1,SN
|
|
12573 040556 321 15 0 00 040546 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
12574
|
|
12575
|
|
12576 014502 SN=SN+1
|
|
12577 020000 000001 XX=XX+XX-1
|
|
12578 000010 ZZ=ZZ+ZZ
|
|
12579 040557 201 13 0 00 000010 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
12580 040560 201 14 0 00 000200 MOVEI AC+1,200 ;SETUP LOW DVND
|
|
12581 040561 201 12 0 00 000200 MOVEI AC-1,200 ;SETUP DVSR
|
|
12582 040562 234 13 0 00 000012 DIV AC,AC-1 ;DIVIDE (N) BY 200
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 56-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0276
|
|
|
|
12583 040563 312 13 0 00 045162 CAME AC,[XX] ;TEST BIT 35(1) (ODD QUOT)
|
|
12584 040564 003 13 0 00 014502 ER3 AC,SN
|
|
12585 040565 332 00 0 00 000014 SKIPE <AC+1>&17 ;TEST REMD = 0
|
|
12586 040566 004 14 0 00 014502 ER4 AC+1,SN
|
|
12587 040567 321 15 0 00 040557 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
12588
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 57
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0277
|
|
|
|
12589 ;HIGH DVND = 2,4
|
|
12590 ;LOW DVND = 0
|
|
12591 ;DVSR = 2,4
|
|
12592
|
|
12593 000006 AC=6
|
|
12594 SAVEAC (1,1)^
|
|
12595 040570 201 10 0 00 040570 MOVEI AC+2,. ;SAVE TEST PC
|
|
12596 040571 202 10 0 00 030051 MOVEM AC+2,TESTPC
|
|
12597 040572 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12598 040573 202 10 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
12599
|
|
12600 014600 SN=14600
|
|
12601 000001 ZZ=1
|
|
12602
|
|
12603 F14600: REPEAT ^D2,<
|
|
12604 SN=SN+1
|
|
12605 ZZ=ZZ+ZZ
|
|
12606 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
12607 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
12608 SETZ AC+1, ;SETUP LOW DVND
|
|
12609 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
12610 DIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
12611 JSP AC-2,.+1
|
|
12612 JOV .+2 ;TEST AROV FLAG
|
|
12613 ER13 AC-2,SN
|
|
12614 TLNN AC-2,DCK
|
|
12615 ER13 AC-2,SN ;DCK FAILED TO SET
|
|
12616 CAIE AC,ZZ ;EXAMINE QUOTIENT
|
|
12617 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
12618 SKIPE <AC+1>&17 ;EXAMINE REMAINDER
|
|
12619 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
12620 JUMPL AC+2,.-^D14 ;LOOP ON ERROR SWITCH
|
|
12621 >
|
|
12622
|
|
12623 014601 SN=SN+1
|
|
12624 000002 ZZ=ZZ+ZZ
|
|
12625 040574 254 02 1 00 045313 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
12626 040575 201 06 0 00 000002 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
12627 040576 400 07 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
12628 040577 201 05 0 00 000002 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
12629 040600 234 06 0 00 000005 DIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
12630 040601 265 04 0 00 040602 JSP AC-2,.+1
|
|
12631 040602 255 10 0 00 040604 JOV .+2 ;TEST AROV FLAG
|
|
12632 040603 013 04 0 00 014601 ER13 AC-2,SN
|
|
12633 040604 607 04 0 00 000040 TLNN AC-2,DCK
|
|
12634 040605 013 04 0 00 014601 ER13 AC-2,SN ;DCK FAILED TO SET
|
|
12635 040606 302 06 0 00 000002 CAIE AC,ZZ ;EXAMINE QUOTIENT
|
|
12636 040607 003 06 0 00 014601 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
12637 040610 332 00 0 00 000007 SKIPE <AC+1>&17 ;EXAMINE REMAINDER
|
|
12638 040611 004 07 0 00 014601 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
12639 040612 321 10 0 00 040574 JUMPL AC+2,.-^D14 ;LOOP ON ERROR SWITCH
|
|
12640
|
|
12641
|
|
12642 014602 SN=SN+1
|
|
12643 000004 ZZ=ZZ+ZZ
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 57-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0278
|
|
|
|
12644 040613 254 02 1 00 045314 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
12645 040614 201 06 0 00 000004 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
12646 040615 400 07 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
12647 040616 201 05 0 00 000004 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
12648 040617 234 06 0 00 000005 DIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
12649 040620 265 04 0 00 040621 JSP AC-2,.+1
|
|
12650 040621 255 10 0 00 040623 JOV .+2 ;TEST AROV FLAG
|
|
12651 040622 013 04 0 00 014602 ER13 AC-2,SN
|
|
12652 040623 607 04 0 00 000040 TLNN AC-2,DCK
|
|
12653 040624 013 04 0 00 014602 ER13 AC-2,SN ;DCK FAILED TO SET
|
|
12654 040625 302 06 0 00 000004 CAIE AC,ZZ ;EXAMINE QUOTIENT
|
|
12655 040626 003 06 0 00 014602 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
12656 040627 332 00 0 00 000007 SKIPE <AC+1>&17 ;EXAMINE REMAINDER
|
|
12657 040630 004 07 0 00 014602 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
12658 040631 321 10 0 00 040613 JUMPL AC+2,.-^D14 ;LOOP ON ERROR SWITCH
|
|
12659
|
|
12660 PAGE
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 57-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0279
|
|
|
|
12661 ;=2
|
|
12662 ;HIGH DVND = 4
|
|
12663 ;LOW DVND = 4
|
|
12664 ;DVSR = 10,20
|
|
12665
|
|
12666 000005 AC=5
|
|
12667 SAVEAC (1,1)^
|
|
12668 040632 201 07 0 00 040632 MOVEI AC+2,. ;SAVE TEST PC
|
|
12669 040633 202 07 0 00 030051 MOVEM AC+2,TESTPC
|
|
12670 040634 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12671 040635 202 07 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
12672 040636 254 02 1 00 045315 JRSTF @[.+1] ;CLEAR ALL FLAGS
|
|
12673
|
|
12674 014700 SN=14700
|
|
12675 000004 ZZ=4
|
|
12676
|
|
12677 F14700: REPEAT ^D2,<
|
|
12678 SN=SN+1
|
|
12679 ZZ=ZZ+ZZ
|
|
12680 MOVEI AC-2,4 ;SETUP FOR COMPARISON
|
|
12681 MOVEI AC,4 ;SETUP HIGH DVND
|
|
12682 MOVEI AC+1,4 ;SETUP LOW DVND
|
|
12683 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
12684 DIV AC,AC-1 ;DIVIDE (N) BY ZZ
|
|
12685 CAME AC+1,AC-2 ;TEST REMD = 2
|
|
12686 ER4 AC+1,SN
|
|
12687 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
12688 >
|
|
12689
|
|
12690 014701 SN=SN+1
|
|
12691 000010 ZZ=ZZ+ZZ
|
|
12692 040637 201 03 0 00 000004 MOVEI AC-2,4 ;SETUP FOR COMPARISON
|
|
12693 040640 201 05 0 00 000004 MOVEI AC,4 ;SETUP HIGH DVND
|
|
12694 040641 201 06 0 00 000004 MOVEI AC+1,4 ;SETUP LOW DVND
|
|
12695 040642 201 04 0 00 000010 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
12696 040643 234 05 0 00 000004 DIV AC,AC-1 ;DIVIDE (N) BY ZZ
|
|
12697 040644 312 06 0 00 000003 CAME AC+1,AC-2 ;TEST REMD = 2
|
|
12698 040645 004 06 0 00 014701 ER4 AC+1,SN
|
|
12699 040646 321 07 0 00 040637 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
12700
|
|
12701
|
|
12702 014702 SN=SN+1
|
|
12703 000020 ZZ=ZZ+ZZ
|
|
12704 040647 201 03 0 00 000004 MOVEI AC-2,4 ;SETUP FOR COMPARISON
|
|
12705 040650 201 05 0 00 000004 MOVEI AC,4 ;SETUP HIGH DVND
|
|
12706 040651 201 06 0 00 000004 MOVEI AC+1,4 ;SETUP LOW DVND
|
|
12707 040652 201 04 0 00 000020 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
12708 040653 234 05 0 00 000004 DIV AC,AC-1 ;DIVIDE (N) BY ZZ
|
|
12709 040654 312 06 0 00 000003 CAME AC+1,AC-2 ;TEST REMD = 2
|
|
12710 040655 004 06 0 00 014702 ER4 AC+1,SN
|
|
12711 040656 321 07 0 00 040647 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
12712
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 58
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0280
|
|
|
|
12713 ;HIGH DVND = -1
|
|
12714 ;LOW DVND = -4,-10
|
|
12715 ;DVSR = 2
|
|
12716
|
|
12717 000013 AC=13
|
|
12718 SAVEAC (1,1)^
|
|
12719 040657 201 15 0 00 040657 MOVEI AC+2,. ;SAVE TEST PC
|
|
12720 040660 202 15 0 00 030051 MOVEM AC+2,TESTPC
|
|
12721 040661 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12722 040662 202 15 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
12723
|
|
12724 015000 SN=15000
|
|
12725 777777 777777 XX=-1
|
|
12726 777777 777776 ZZ=-2
|
|
12727
|
|
12728 F15000: REPEAT ^D2,<
|
|
12729 SN=SN+1
|
|
12730 XX=XX+XX
|
|
12731 ZZ=ZZ+ZZ
|
|
12732 HRROI AC-2,XX ;SETUP FOR COMPARISON
|
|
12733 SETO AC, ;SETUP HIGH DVND
|
|
12734 HRROI AC+1,ZZ ;SETUP LOW DVND
|
|
12735 MOVEI AC-1,2 ;SETUP DVSR
|
|
12736 DIV AC,AC-1 ;DIVIDE ZZ BY 2
|
|
12737 SKIPE AC+1 ;TEST REMD = 0
|
|
12738 ER4 AC+1,SN
|
|
12739 CAME AC,AC-2 ;TEST QUOT
|
|
12740 ER3 AC,SN
|
|
12741 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
12742 >
|
|
12743
|
|
12744 015001 SN=SN+1
|
|
12745 777777 777776 XX=XX+XX
|
|
12746 777777 777774 ZZ=ZZ+ZZ
|
|
12747 040663 561 11 0 00 777776 HRROI AC-2,XX ;SETUP FOR COMPARISON
|
|
12748 040664 474 13 0 00 000000 SETO AC, ;SETUP HIGH DVND
|
|
12749 040665 561 14 0 00 777774 HRROI AC+1,ZZ ;SETUP LOW DVND
|
|
12750 040666 201 12 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
12751 040667 234 13 0 00 000012 DIV AC,AC-1 ;DIVIDE ZZ BY 2
|
|
12752 040670 332 00 0 00 000014 SKIPE AC+1 ;TEST REMD = 0
|
|
12753 040671 004 14 0 00 015001 ER4 AC+1,SN
|
|
12754 040672 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT
|
|
12755 040673 003 13 0 00 015001 ER3 AC,SN
|
|
12756 040674 321 15 0 00 040663 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
12757
|
|
12758
|
|
12759 015002 SN=SN+1
|
|
12760 777777 777774 XX=XX+XX
|
|
12761 777777 777770 ZZ=ZZ+ZZ
|
|
12762 040675 561 11 0 00 777774 HRROI AC-2,XX ;SETUP FOR COMPARISON
|
|
12763 040676 474 13 0 00 000000 SETO AC, ;SETUP HIGH DVND
|
|
12764 040677 561 14 0 00 777770 HRROI AC+1,ZZ ;SETUP LOW DVND
|
|
12765 040700 201 12 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
12766 040701 234 13 0 00 000012 DIV AC,AC-1 ;DIVIDE ZZ BY 2
|
|
12767 040702 332 00 0 00 000014 SKIPE AC+1 ;TEST REMD = 0
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 58-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0281
|
|
|
|
12768 040703 004 14 0 00 015002 ER4 AC+1,SN
|
|
12769 040704 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT
|
|
12770 040705 003 13 0 00 015002 ER3 AC,SN
|
|
12771 040706 321 15 0 00 040675 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
12772
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 59
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0282
|
|
|
|
12773 ;HIGH DVND = -1
|
|
12774 ;LOW DVND = 2,4
|
|
12775 ;DVSR = -2,-4
|
|
12776
|
|
12777 000014 AC=14
|
|
12778 SAVEAC (1,1)^
|
|
12779 040707 201 16 0 00 040707 MOVEI AC+2,. ;SAVE TEST PC
|
|
12780 040710 202 16 0 00 030051 MOVEM AC+2,TESTPC
|
|
12781 040711 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12782 040712 202 16 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
12783
|
|
12784 015100 SN=15100
|
|
12785 777777 777777 XX=-1
|
|
12786 377777 YY=377777
|
|
12787 000001 ZZ=1
|
|
12788
|
|
12789 F15100: REPEAT ^D2,<
|
|
12790 SN=SN+1
|
|
12791 XX=XX+XX
|
|
12792 YY=YY/2
|
|
12793 ZZ=ZZ+ZZ
|
|
12794 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
12795 SETO AC, ;SETUP HIGH DVND
|
|
12796 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
12797 HRROI AC-1,XX ;SETUP DVSR
|
|
12798 HRLOI AC-3,YY
|
|
12799 DIV AC,AC-1 ;DIVIDE (-N) BY (XX)
|
|
12800 JSP AC-2,.+1
|
|
12801 CAME AC,<AC-3>&17
|
|
12802 ER3 AC,SN ;C(AC) FAILED
|
|
12803 CAIE AC+1,0
|
|
12804 ER4 AC+1,SN ;C(AC+1) FAILED
|
|
12805 JOV .+2 ;TEST AROV FLAG
|
|
12806 JRST ,.+2
|
|
12807 ER13 AC-2,SN ;AROV SET
|
|
12808 TLNE AC-2,DCK
|
|
12809 ER13 AC-2,SN ;DCK SET
|
|
12810 JUMPL AC+2,.-^D16 ;LOOP ON ERROR SWITCH
|
|
12811 >
|
|
12812
|
|
12813 015101 SN=SN+1
|
|
12814 777777 777776 XX=XX+XX
|
|
12815 177777 YY=YY/2
|
|
12816 000002 ZZ=ZZ+ZZ
|
|
12817 040713 254 02 1 00 045316 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
12818 040714 474 14 0 00 000000 SETO AC, ;SETUP HIGH DVND
|
|
12819 040715 201 15 0 00 000002 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
12820 040716 561 13 0 00 777776 HRROI AC-1,XX ;SETUP DVSR
|
|
12821 040717 525 11 0 00 177777 HRLOI AC-3,YY
|
|
12822 040720 234 14 0 00 000013 DIV AC,AC-1 ;DIVIDE (-N) BY (XX)
|
|
12823 040721 265 12 0 00 040722 JSP AC-2,.+1
|
|
12824 040722 312 14 0 00 000011 CAME AC,<AC-3>&17
|
|
12825 040723 003 14 0 00 015101 ER3 AC,SN ;C(AC) FAILED
|
|
12826 040724 302 15 0 00 000000 CAIE AC+1,0
|
|
12827 040725 004 15 0 00 015101 ER4 AC+1,SN ;C(AC+1) FAILED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 59-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0283
|
|
|
|
12828 040726 255 10 0 00 040730 JOV .+2 ;TEST AROV FLAG
|
|
12829 040727 254 00 0 00 040731 JRST ,.+2
|
|
12830 040730 013 12 0 00 015101 ER13 AC-2,SN ;AROV SET
|
|
12831 040731 603 12 0 00 000040 TLNE AC-2,DCK
|
|
12832 040732 013 12 0 00 015101 ER13 AC-2,SN ;DCK SET
|
|
12833 040733 321 16 0 00 040713 JUMPL AC+2,.-^D16 ;LOOP ON ERROR SWITCH
|
|
12834
|
|
12835
|
|
12836 015102 SN=SN+1
|
|
12837 777777 777774 XX=XX+XX
|
|
12838 077777 YY=YY/2
|
|
12839 000004 ZZ=ZZ+ZZ
|
|
12840 040734 254 02 1 00 045317 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
12841 040735 474 14 0 00 000000 SETO AC, ;SETUP HIGH DVND
|
|
12842 040736 201 15 0 00 000004 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
12843 040737 561 13 0 00 777774 HRROI AC-1,XX ;SETUP DVSR
|
|
12844 040740 525 11 0 00 077777 HRLOI AC-3,YY
|
|
12845 040741 234 14 0 00 000013 DIV AC,AC-1 ;DIVIDE (-N) BY (XX)
|
|
12846 040742 265 12 0 00 040743 JSP AC-2,.+1
|
|
12847 040743 312 14 0 00 000011 CAME AC,<AC-3>&17
|
|
12848 040744 003 14 0 00 015102 ER3 AC,SN ;C(AC) FAILED
|
|
12849 040745 302 15 0 00 000000 CAIE AC+1,0
|
|
12850 040746 004 15 0 00 015102 ER4 AC+1,SN ;C(AC+1) FAILED
|
|
12851 040747 255 10 0 00 040751 JOV .+2 ;TEST AROV FLAG
|
|
12852 040750 254 00 0 00 040752 JRST ,.+2
|
|
12853 040751 013 12 0 00 015102 ER13 AC-2,SN ;AROV SET
|
|
12854 040752 603 12 0 00 000040 TLNE AC-2,DCK
|
|
12855 040753 013 12 0 00 015102 ER13 AC-2,SN ;DCK SET
|
|
12856 040754 321 16 0 00 040734 JUMPL AC+2,.-^D16 ;LOOP ON ERROR SWITCH
|
|
12857
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 60
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0284
|
|
|
|
12858 ;HIGH DVND = -2,-4
|
|
12859 ;LOW DVND = -1
|
|
12860 ;DVSR = 2,4
|
|
12861
|
|
12862 000012 AC=12
|
|
12863 SAVEAC (1,1)^
|
|
12864 040755 201 14 0 00 040755 MOVEI AC+2,. ;SAVE TEST PC
|
|
12865 040756 202 14 0 00 030051 MOVEM AC+2,TESTPC
|
|
12866 040757 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12867 040760 202 14 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
12868 040761 254 02 1 00 045320 JRSTF @[.+1] ;CLEAR ALL FLAGS
|
|
12869
|
|
12870 015200 SN=15200
|
|
12871 000001 XX=1
|
|
12872 400000 000000 YY=1B0
|
|
12873 777777 777777 ZZ=-1
|
|
12874
|
|
12875 F15200: REPEAT ^D2,<
|
|
12876 SN=SN+1
|
|
12877 XX=XX+XX
|
|
12878 YY=YY_-1
|
|
12879 ZZ=ZZ+ZZ
|
|
12880 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
12881 SETO AC+1, ;SETUP LOW DVND
|
|
12882 MOVEI AC-1,XX ;SETUP DVSR
|
|
12883 DIV AC,AC-1 ;DIVIDE (-N) BY (XX)
|
|
12884 CAME AC,[1B0+YY] ;TEST FOR ODD NUMBER QUOTIENT
|
|
12885 ER3 AC,SN
|
|
12886 CAME AC+1,[-1] ;TEST REMD
|
|
12887 ER4 AC+1,SN
|
|
12888 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
12889 >
|
|
12890
|
|
12891 015201 SN=SN+1
|
|
12892 000002 XX=XX+XX
|
|
12893 200000 000000 YY=YY_-1
|
|
12894 777777 777776 ZZ=ZZ+ZZ
|
|
12895 040762 561 12 0 00 777776 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
12896 040763 474 13 0 00 000000 SETO AC+1, ;SETUP LOW DVND
|
|
12897 040764 201 11 0 00 000002 MOVEI AC-1,XX ;SETUP DVSR
|
|
12898 040765 234 12 0 00 000011 DIV AC,AC-1 ;DIVIDE (-N) BY (XX)
|
|
12899 040766 312 12 0 00 044762 CAME AC,[1B0+YY] ;TEST FOR ODD NUMBER QUOTIENT
|
|
12900 040767 003 12 0 00 015201 ER3 AC,SN
|
|
12901 040770 312 13 0 00 044617 CAME AC+1,[-1] ;TEST REMD
|
|
12902 040771 004 13 0 00 015201 ER4 AC+1,SN
|
|
12903 040772 321 14 0 00 040762 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
12904
|
|
12905
|
|
12906 015202 SN=SN+1
|
|
12907 000004 XX=XX+XX
|
|
12908 100000 000000 YY=YY_-1
|
|
12909 777777 777774 ZZ=ZZ+ZZ
|
|
12910 040773 561 12 0 00 777774 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
12911 040774 474 13 0 00 000000 SETO AC+1, ;SETUP LOW DVND
|
|
12912 040775 201 11 0 00 000004 MOVEI AC-1,XX ;SETUP DVSR
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 60-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0285
|
|
|
|
12913 040776 234 12 0 00 000011 DIV AC,AC-1 ;DIVIDE (-N) BY (XX)
|
|
12914 040777 312 12 0 00 044757 CAME AC,[1B0+YY] ;TEST FOR ODD NUMBER QUOTIENT
|
|
12915 041000 003 12 0 00 015202 ER3 AC,SN
|
|
12916 041001 312 13 0 00 044617 CAME AC+1,[-1] ;TEST REMD
|
|
12917 041002 004 13 0 00 015202 ER4 AC+1,SN
|
|
12918 041003 321 14 0 00 040773 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
12919
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 63
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0286
|
|
|
|
12920 ;OPERANDS SELECTED SHOULD RESULT
|
|
12921 ;IN OVERFLOW
|
|
12922 ;HIGH DVND = -100,-40
|
|
12923 ;LOW DVND = 0
|
|
12924 ;DVSR = 100,40
|
|
12925
|
|
12926 000006 AC=6
|
|
12927 SAVEAC (1,1)^
|
|
12928 041004 201 10 0 00 041004 MOVEI AC+2,. ;SAVE TEST PC
|
|
12929 041005 202 10 0 00 030051 MOVEM AC+2,TESTPC
|
|
12930 041006 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
12931 041007 202 10 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
12932
|
|
12933 015600 SN=15600
|
|
12934 777777 777600 WW=-200
|
|
12935 000200 XX=200
|
|
12936 777777 777600 ZZ=-200
|
|
12937
|
|
12938 F15600: REPEAT ^D2,<
|
|
12939 SN=SN+1
|
|
12940 WW=WW/2
|
|
12941 XX=XX/2
|
|
12942 ZZ=ZZ/2
|
|
12943 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
12944 HRROI AC-2,WW ;SETUP AC-2 FOR COMPARISON
|
|
12945 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
12946 SETZ AC+1, ;SETUP LOW DVND
|
|
12947 MOVEI AC-1,XX ;SETUP DVSR
|
|
12948 DIV AC,AC-1 ;DIVIDE (-N) BY (N)
|
|
12949 JSP AC-3,.+1
|
|
12950 JOV .+2 ;TEST FOR OVERFLOW
|
|
12951 ER13 AC-3,SN
|
|
12952 TLNN AC-3,DCK
|
|
12953 ER13 AC-3,SN ;DCK NOT SET
|
|
12954 CAME AC,AC-2 ;TEST FOR UNIQUE QUOTIENT
|
|
12955 ER3 AC,SN
|
|
12956 CAIE AC+1,0
|
|
12957 ER4 AC+1,SN ;C(AC+1) FAILED
|
|
12958 JUMPL AC+2,.-^D16 ;LOOP ON ERROR SWITCH
|
|
12959 >
|
|
12960
|
|
12961 015601 SN=SN+1
|
|
12962 777777 777700 WW=WW/2
|
|
12963 000100 XX=XX/2
|
|
12964 777777 777700 ZZ=ZZ/2
|
|
12965 041010 254 02 1 00 045321 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
12966 041011 561 04 0 00 777700 HRROI AC-2,WW ;SETUP AC-2 FOR COMPARISON
|
|
12967 041012 561 06 0 00 777700 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
12968 041013 400 07 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
12969 041014 201 05 0 00 000100 MOVEI AC-1,XX ;SETUP DVSR
|
|
12970 041015 234 06 0 00 000005 DIV AC,AC-1 ;DIVIDE (-N) BY (N)
|
|
12971 041016 265 03 0 00 041017 JSP AC-3,.+1
|
|
12972 041017 255 10 0 00 041021 JOV .+2 ;TEST FOR OVERFLOW
|
|
12973 041020 013 03 0 00 015601 ER13 AC-3,SN
|
|
12974 041021 607 03 0 00 000040 TLNN AC-3,DCK
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 63-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0287
|
|
|
|
12975 041022 013 03 0 00 015601 ER13 AC-3,SN ;DCK NOT SET
|
|
12976 041023 312 06 0 00 000004 CAME AC,AC-2 ;TEST FOR UNIQUE QUOTIENT
|
|
12977 041024 003 06 0 00 015601 ER3 AC,SN
|
|
12978 041025 302 07 0 00 000000 CAIE AC+1,0
|
|
12979 041026 004 07 0 00 015601 ER4 AC+1,SN ;C(AC+1) FAILED
|
|
12980 041027 321 10 0 00 041007 JUMPL AC+2,.-^D16 ;LOOP ON ERROR SWITCH
|
|
12981
|
|
12982
|
|
12983 015602 SN=SN+1
|
|
12984 777777 777740 WW=WW/2
|
|
12985 000040 XX=XX/2
|
|
12986 777777 777740 ZZ=ZZ/2
|
|
12987 041030 254 02 1 00 045322 JRSTF @[.+1] ;CLR ALL FLAGS, EXEC NEXT INST
|
|
12988 041031 561 04 0 00 777740 HRROI AC-2,WW ;SETUP AC-2 FOR COMPARISON
|
|
12989 041032 561 06 0 00 777740 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
12990 041033 400 07 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
12991 041034 201 05 0 00 000040 MOVEI AC-1,XX ;SETUP DVSR
|
|
12992 041035 234 06 0 00 000005 DIV AC,AC-1 ;DIVIDE (-N) BY (N)
|
|
12993 041036 265 03 0 00 041037 JSP AC-3,.+1
|
|
12994 041037 255 10 0 00 041041 JOV .+2 ;TEST FOR OVERFLOW
|
|
12995 041040 013 03 0 00 015602 ER13 AC-3,SN
|
|
12996 041041 607 03 0 00 000040 TLNN AC-3,DCK
|
|
12997 041042 013 03 0 00 015602 ER13 AC-3,SN ;DCK NOT SET
|
|
12998 041043 312 06 0 00 000004 CAME AC,AC-2 ;TEST FOR UNIQUE QUOTIENT
|
|
12999 041044 003 06 0 00 015602 ER3 AC,SN
|
|
13000 041045 302 07 0 00 000000 CAIE AC+1,0
|
|
13001 041046 004 07 0 00 015602 ER4 AC+1,SN ;C(AC+1) FAILED
|
|
13002 041047 321 10 0 00 041027 JUMPL AC+2,.-^D16 ;LOOP ON ERROR SWITCH
|
|
13003
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 64
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0288
|
|
|
|
13004 ;OPERANDS SELECTED SHOULD RESULT IN OVERFLOW
|
|
13005 ;HIGH DVND = -2,-4
|
|
13006 ;LOW DVND = 0
|
|
13007 ;DVSR = 2
|
|
13008
|
|
13009 000005 AC=5
|
|
13010 SAVEAC (1,1)^
|
|
13011 041050 201 07 0 00 041050 MOVEI AC+2,. ;SAVE TEST PC
|
|
13012 041051 202 07 0 00 030051 MOVEM AC+2,TESTPC
|
|
13013 041052 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
13014 041053 202 07 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
13015
|
|
13016 015700 SN=15700
|
|
13017 777777 777777 XX=-1
|
|
13018 777777 777777 ZZ=-1
|
|
13019
|
|
13020 F15700: REPEAT ^D2,<
|
|
13021 SN=SN+1
|
|
13022 XX=XX+XX
|
|
13023 ZZ=ZZ+ZZ
|
|
13024 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
13025 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
13026 SETZ AC+1, ;SETUP LOW DVND
|
|
13027 MOVEI AC-1,2 ;SETUP DVSR
|
|
13028 DIV AC,AC-1 ;DIVIDE (-N) BY 2
|
|
13029 JSP AC-2,.+1
|
|
13030 JOV .+2 ;TEST FOR OVERFLOW
|
|
13031 ER13 AC-2,SN
|
|
13032 CAME AC,[XX] ;TEST QUOT
|
|
13033 ER3 AC,SN
|
|
13034 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
13035 >
|
|
13036
|
|
13037 015701 SN=SN+1
|
|
13038 777777 777776 XX=XX+XX
|
|
13039 777777 777776 ZZ=ZZ+ZZ
|
|
13040 041054 254 02 1 00 045323 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
13041 041055 561 05 0 00 777776 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
13042 041056 400 06 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
13043 041057 201 04 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
13044 041060 234 05 0 00 000004 DIV AC,AC-1 ;DIVIDE (-N) BY 2
|
|
13045 041061 265 03 0 00 041062 JSP AC-2,.+1
|
|
13046 041062 255 10 0 00 041064 JOV .+2 ;TEST FOR OVERFLOW
|
|
13047 041063 013 03 0 00 015701 ER13 AC-2,SN
|
|
13048 041064 312 05 0 00 044621 CAME AC,[XX] ;TEST QUOT
|
|
13049 041065 003 05 0 00 015701 ER3 AC,SN
|
|
13050 041066 321 07 0 00 041054 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
13051
|
|
13052
|
|
13053 015702 SN=SN+1
|
|
13054 777777 777774 XX=XX+XX
|
|
13055 777777 777774 ZZ=ZZ+ZZ
|
|
13056 041067 254 02 1 00 045324 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
13057 041070 561 05 0 00 777774 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
13058 041071 400 06 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 64-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0289
|
|
|
|
13059 041072 201 04 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
13060 041073 234 05 0 00 000004 DIV AC,AC-1 ;DIVIDE (-N) BY 2
|
|
13061 041074 265 03 0 00 041075 JSP AC-2,.+1
|
|
13062 041075 255 10 0 00 041077 JOV .+2 ;TEST FOR OVERFLOW
|
|
13063 041076 013 03 0 00 015702 ER13 AC-2,SN
|
|
13064 041077 312 05 0 00 045325 CAME AC,[XX] ;TEST QUOT
|
|
13065 041100 003 05 0 00 015702 ER3 AC,SN
|
|
13066 041101 321 07 0 00 041067 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
13067
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 66
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0290
|
|
|
|
13068 ;OPERANDS SELECTED WILL NOT OVERFLOW
|
|
13069 ;HIGH DVND = -1,-2
|
|
13070 ;LOW DVND = -1
|
|
13071 ;DVSR = -1,-2
|
|
13072
|
|
13073 000014 AC=14
|
|
13074 SAVEAC (1,1)^
|
|
13075 041102 201 16 0 00 041102 MOVEI AC+2,. ;SAVE TEST PC
|
|
13076 041103 202 16 0 00 030051 MOVEM AC+2,TESTPC
|
|
13077 041104 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
13078 041105 202 16 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
13079
|
|
13080 016100 SN=16100
|
|
13081 000000 ZZ=0
|
|
13082
|
|
13083 F16100: REPEAT ^D2,<
|
|
13084 SN=SN+1
|
|
13085 ZZ=ZZ+ZZ
|
|
13086 IFE ZZ,<ZZ=-1>
|
|
13087 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
13088 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
13089 SETO AC+1, ;SETUP LOW DVND
|
|
13090 HRROI AC-1,ZZ ;SETUP DVSR
|
|
13091 DIV AC,AC-1 ;DIVIDE (-N) BY (-N)
|
|
13092 JSP AC-3,.+1
|
|
13093 JOV .+2 ;TEST FOR OVERFLOW
|
|
13094 JRST ,.+2
|
|
13095 ER13 AC-3,SN
|
|
13096 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
13097 >
|
|
13098
|
|
13099 016101 SN=SN+1
|
|
13100 000000 ZZ=ZZ+ZZ
|
|
13101 777777 777777 IFE ZZ,<ZZ=-1>
|
|
13102 041106 254 02 1 00 045326 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
13103 041107 561 14 0 00 777777 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
13104 041110 474 15 0 00 000000 SETO AC+1, ;SETUP LOW DVND
|
|
13105 041111 561 13 0 00 777777 HRROI AC-1,ZZ ;SETUP DVSR
|
|
13106 041112 234 14 0 00 000013 DIV AC,AC-1 ;DIVIDE (-N) BY (-N)
|
|
13107 041113 265 11 0 00 041114 JSP AC-3,.+1
|
|
13108 041114 255 10 0 00 041116 JOV .+2 ;TEST FOR OVERFLOW
|
|
13109 041115 254 00 0 00 041117 JRST ,.+2
|
|
13110 041116 013 11 0 00 016101 ER13 AC-3,SN
|
|
13111 041117 321 16 0 00 041106 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
13112
|
|
13113
|
|
13114 016102 SN=SN+1
|
|
13115 777777 777776 ZZ=ZZ+ZZ
|
|
13116 IFE ZZ,<ZZ=-1>
|
|
13117 041120 254 02 1 00 045327 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
13118 041121 561 14 0 00 777776 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
13119 041122 474 15 0 00 000000 SETO AC+1, ;SETUP LOW DVND
|
|
13120 041123 561 13 0 00 777776 HRROI AC-1,ZZ ;SETUP DVSR
|
|
13121 041124 234 14 0 00 000013 DIV AC,AC-1 ;DIVIDE (-N) BY (-N)
|
|
13122 041125 265 11 0 00 041126 JSP AC-3,.+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 66-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0291
|
|
|
|
13123 041126 255 10 0 00 041130 JOV .+2 ;TEST FOR OVERFLOW
|
|
13124 041127 254 00 0 00 041131 JRST ,.+2
|
|
13125 041130 013 11 0 00 016102 ER13 AC-3,SN
|
|
13126 041131 321 16 0 00 041120 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
13127
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 67
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0292
|
|
|
|
13128 ;TEST DIV-IMMEDIATE MODE
|
|
13129 ;TEST ABILITY TO DIVIDE BY E
|
|
13130 ;VICE C(E)
|
|
13131 ;TEST ABILITY TO INHIBIT ASSERTION
|
|
13132 ;OF IRMDFCE
|
|
13133
|
|
13134 016200 SN=16200
|
|
13135 000007 AC=7
|
|
13136 000017 ZZ=17
|
|
13137
|
|
13138 ;TEST DIV-IMM MODE
|
|
13139 F16200: REPEAT ^D2,<
|
|
13140 SN=SN+1
|
|
13141 AC=AC-1
|
|
13142 ZZ=ZZ-1
|
|
13143 SAVEAC (1,1) ;SAVE ERROR AC
|
|
13144 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
13145 MOVEI AC,4 ;SETUP HIGH DVND
|
|
13146 SETZ AC+1, ;SETUP LOW DVND
|
|
13147 MOVEI AC-1,2 ;SETUP OVERFLOW CONDITION
|
|
13148 DIVI AC,ZZ ;DIVIDE (N) BY E
|
|
13149 JSP AC-3,.+1
|
|
13150 JOV .+2 ;TEST FOR OVERFLOW
|
|
13151 JRST ,.+2 ;DIVIDED BY E
|
|
13152 ER13 AC-3,SN ;DIVIDED BY C(E)
|
|
13153 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
13154 >
|
|
13155
|
|
13156 016201 SN=SN+1
|
|
13157 000006 AC=AC-1
|
|
13158 000016 ZZ=ZZ-1
|
|
13159 SAVEAC (1,1)^
|
|
13160 041132 201 10 0 00 041132 MOVEI AC+2,. ;SAVE TEST PC
|
|
13161 041133 202 10 0 00 030051 MOVEM AC+2,TESTPC
|
|
13162 041134 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
13163 041135 202 10 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ ;SAVE ERROR AC
|
|
13164 041136 254 02 1 00 045330 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
13165 041137 201 06 0 00 000004 MOVEI AC,4 ;SETUP HIGH DVND
|
|
13166 041140 400 07 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
13167 041141 201 05 0 00 000002 MOVEI AC-1,2 ;SETUP OVERFLOW CONDITION
|
|
13168 041142 235 06 0 00 000016 DIVI AC,ZZ ;DIVIDE (N) BY E
|
|
13169 041143 265 03 0 00 041144 JSP AC-3,.+1
|
|
13170 041144 255 10 0 00 041146 JOV .+2 ;TEST FOR OVERFLOW
|
|
13171 041145 254 00 0 00 041147 JRST ,.+2 ;DIVIDED BY E
|
|
13172 041146 013 03 0 00 016201 ER13 AC-3,SN ;DIVIDED BY C(E)
|
|
13173 041147 321 10 0 00 041136 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
13174
|
|
13175
|
|
13176 016202 SN=SN+1
|
|
13177 000005 AC=AC-1
|
|
13178 000015 ZZ=ZZ-1
|
|
13179 SAVEAC (1,1)^
|
|
13180 041150 201 07 0 00 041150 MOVEI AC+2,. ;SAVE TEST PC
|
|
13181 041151 202 07 0 00 030051 MOVEM AC+2,TESTPC
|
|
13182 041152 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 67-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0293
|
|
|
|
13183 041153 202 07 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ ;SAVE ERROR AC
|
|
13184 041154 254 02 1 00 045331 JRSTF @[.+1] ;CLR ALL FLGS, EXEC NEXT INST
|
|
13185 041155 201 05 0 00 000004 MOVEI AC,4 ;SETUP HIGH DVND
|
|
13186 041156 400 06 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
13187 041157 201 04 0 00 000002 MOVEI AC-1,2 ;SETUP OVERFLOW CONDITION
|
|
13188 041160 235 05 0 00 000015 DIVI AC,ZZ ;DIVIDE (N) BY E
|
|
13189 041161 265 02 0 00 041162 JSP AC-3,.+1
|
|
13190 041162 255 10 0 00 041164 JOV .+2 ;TEST FOR OVERFLOW
|
|
13191 041163 254 00 0 00 041165 JRST ,.+2 ;DIVIDED BY E
|
|
13192 041164 013 02 0 00 016202 ER13 AC-3,SN ;DIVIDED BY C(E)
|
|
13193 041165 321 07 0 00 041154 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
13194
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 68
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0294
|
|
|
|
13195 ;TEST DIV-MEMORY MODE
|
|
13196 ;TEST ABILITY TO ASSERT IRMDSCE
|
|
13197 ;TEST ABILITY TO ASSERT IRMDSACINH
|
|
13198
|
|
13199 000005 AC=5
|
|
13200 SAVEAC (1,1)^
|
|
13201 041166 201 07 0 00 041166 MOVEI AC+2,. ;SAVE TEST PC
|
|
13202 041167 202 07 0 00 030051 MOVEM AC+2,TESTPC
|
|
13203 041170 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
13204 041171 202 07 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
13205 041172 254 02 1 00 045332 JRSTF @[.+1] ;CLEAR ALL FLAGS
|
|
13206
|
|
13207 016300 SN=16300
|
|
13208 010000 XX=10000
|
|
13209 000002 ZZ=2
|
|
13210
|
|
13211 ;TEST DIV-MEM MODE
|
|
13212 F16300: REPEAT ^D2,<
|
|
13213 SN=SN+1
|
|
13214 XX=XX+XX
|
|
13215 ZZ=ZZ+ZZ
|
|
13216 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
13217 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
13218 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
13219 MOVEI AC-1,100 ;SETUP DVSR
|
|
13220 DIVM AC,AC-1 ;DIVIDE (+N) BY 100
|
|
13221 CAME AC-1,AC-2 ;TEST SCE
|
|
13222 ER5 AC-1,SN
|
|
13223 CAME AC,AC+1 ;TEST SAC INH
|
|
13224 ER3 AC,SN
|
|
13225 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
13226 >
|
|
13227
|
|
13228 016301 SN=SN+1
|
|
13229 020000 XX=XX+XX
|
|
13230 000004 ZZ=ZZ+ZZ
|
|
13231 041173 205 03 0 00 020000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
13232 041174 201 05 0 00 000004 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
13233 041175 201 06 0 00 000004 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
13234 041176 201 04 0 00 000100 MOVEI AC-1,100 ;SETUP DVSR
|
|
13235 041177 236 05 0 00 000004 DIVM AC,AC-1 ;DIVIDE (+N) BY 100
|
|
13236 041200 312 04 0 00 000003 CAME AC-1,AC-2 ;TEST SCE
|
|
13237 041201 005 04 0 00 016301 ER5 AC-1,SN
|
|
13238 041202 312 05 0 00 000006 CAME AC,AC+1 ;TEST SAC INH
|
|
13239 041203 003 05 0 00 016301 ER3 AC,SN
|
|
13240 041204 321 07 0 00 041173 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
13241
|
|
13242
|
|
13243 016302 SN=SN+1
|
|
13244 040000 XX=XX+XX
|
|
13245 000010 ZZ=ZZ+ZZ
|
|
13246 041205 205 03 0 00 040000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
13247 041206 201 05 0 00 000010 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
13248 041207 201 06 0 00 000010 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
13249 041210 201 04 0 00 000100 MOVEI AC-1,100 ;SETUP DVSR
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 68-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0295
|
|
|
|
13250 041211 236 05 0 00 000004 DIVM AC,AC-1 ;DIVIDE (+N) BY 100
|
|
13251 041212 312 04 0 00 000003 CAME AC-1,AC-2 ;TEST SCE
|
|
13252 041213 005 04 0 00 016302 ER5 AC-1,SN
|
|
13253 041214 312 05 0 00 000006 CAME AC,AC+1 ;TEST SAC INH
|
|
13254 041215 003 05 0 00 016302 ER3 AC,SN
|
|
13255 041216 321 07 0 00 041205 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
|
|
13256
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 69
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0296
|
|
|
|
13257 ;TEST DIV-BOTH MODE
|
|
13258 ;TEST ABILITY TO STORE QUOT
|
|
13259 ;IN AC,E
|
|
13260 ;TEST ABILITY TO STORE REMD
|
|
13261 ;IN AC+1
|
|
13262
|
|
13263 000014 AC=14
|
|
13264 SAVEAC (1,1)^
|
|
13265 041217 201 16 0 00 041217 MOVEI AC+2,. ;SAVE TEST PC
|
|
13266 041220 202 16 0 00 030051 MOVEM AC+2,TESTPC
|
|
13267 041221 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
13268 041222 202 16 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
13269
|
|
13270 016400 SN=16400
|
|
13271 000002 ZZ=2
|
|
13272
|
|
13273 ;TEST DIV-BOTH MODE
|
|
13274 F16400: REPEAT ^D2,<
|
|
13275 SN=SN+1
|
|
13276 ZZ=ZZ+ZZ
|
|
13277 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
13278 MOVEI AC+1,100 ;SETUP LOW DVND
|
|
13279 MOVEI AC-1,100 ;SETUP DVSR
|
|
13280 DIVB AC,AC-1 ;DIVIDE (+N) BY 100
|
|
13281 CAME AC,AC-1 ;TEST STORE QUOTIENT
|
|
13282 ER3 AC,SN ;STORE QUOTIENT FAILED
|
|
13283 SKIPE AC+1 ;TEST STORE REMAINDER
|
|
13284 ER4 AC+1,SN ;STORE REMAINDER FAILED
|
|
13285 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
13286 >
|
|
13287
|
|
13288 016401 SN=SN+1
|
|
13289 000004 ZZ=ZZ+ZZ
|
|
13290 041223 201 14 0 00 000004 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
13291 041224 201 15 0 00 000100 MOVEI AC+1,100 ;SETUP LOW DVND
|
|
13292 041225 201 13 0 00 000100 MOVEI AC-1,100 ;SETUP DVSR
|
|
13293 041226 237 14 0 00 000013 DIVB AC,AC-1 ;DIVIDE (+N) BY 100
|
|
13294 041227 312 14 0 00 000013 CAME AC,AC-1 ;TEST STORE QUOTIENT
|
|
13295 041230 003 14 0 00 016401 ER3 AC,SN ;STORE QUOTIENT FAILED
|
|
13296 041231 332 00 0 00 000015 SKIPE AC+1 ;TEST STORE REMAINDER
|
|
13297 041232 004 15 0 00 016401 ER4 AC+1,SN ;STORE REMAINDER FAILED
|
|
13298 041233 321 16 0 00 041223 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
13299
|
|
13300
|
|
13301 016402 SN=SN+1
|
|
13302 000010 ZZ=ZZ+ZZ
|
|
13303 041234 201 14 0 00 000010 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
13304 041235 201 15 0 00 000100 MOVEI AC+1,100 ;SETUP LOW DVND
|
|
13305 041236 201 13 0 00 000100 MOVEI AC-1,100 ;SETUP DVSR
|
|
13306 041237 237 14 0 00 000013 DIVB AC,AC-1 ;DIVIDE (+N) BY 100
|
|
13307 041240 312 14 0 00 000013 CAME AC,AC-1 ;TEST STORE QUOTIENT
|
|
13308 041241 003 14 0 00 016402 ER3 AC,SN ;STORE QUOTIENT FAILED
|
|
13309 041242 332 00 0 00 000015 SKIPE AC+1 ;TEST STORE REMAINDER
|
|
13310 041243 004 15 0 00 016402 ER4 AC+1,SN ;STORE REMAINDER FAILED
|
|
13311 041244 321 16 0 00 041234 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 69-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0297
|
|
|
|
13312
|
|
13313 PAGE
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 69-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST SEQ 0298
|
|
|
|
13314 ;TEST DIVB (DIVIDE CHECK)
|
|
13315
|
|
13316 041245 254 02 1 00 045333 F16410: JRSTF @[.+1] ;CLEAR ALL FLAGS
|
|
13317 041246 201 14 0 00 000004 MOVEI AC,4 ;SETUP HIGH DIVIDEND
|
|
13318 041247 201 15 0 00 000001 MOVEI AC+1,1 ;SETUP LOW DIVIDEND
|
|
13319 041250 201 13 0 00 000001 MOVEI AC-1,1 ;SETUP DIVISOR
|
|
13320 041251 237 14 0 00 000013 DIVB AC,AC-1
|
|
13321 041252 265 12 0 00 041253 JSP AC-2,.+1 ;SAME FLAGS
|
|
13322 041253 302 14 0 00 000004 CAIE AC,4
|
|
13323 041254 003 14 0 00 016411 ER3 AC,16411 ;C(AC) WAS CLOBBERED
|
|
13324 041255 302 15 0 00 000001 CAIE AC+1,1
|
|
13325 041256 004 15 0 00 016411 ER4 AC+1,16411 ;C(AC+1) WAS CLOBBERED
|
|
13326 041257 302 13 0 00 000001 CAIE AC-1,1
|
|
13327 041260 005 13 0 00 016411 ER5 AC-1,16411 ;C(E) WAS CLOBBERED
|
|
13328 041261 255 10 0 00 041263 JOV .+2
|
|
13329 041262 013 12 0 00 016411 ER13 AC-2,16411 ;AROV FAILED TO SET
|
|
13330 041263 607 12 0 00 000040 TLNN AC-2,DCK ;DCK FAILED TO SET
|
|
13331 041264 013 12 0 00 016411 ER13 AC-2,16411
|
|
13332 041265 321 16 0 00 041245 JUMPL AC+2,F16410
|
|
13333
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 70
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0299
|
|
|
|
13334 SUBTTL DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST
|
|
13335
|
|
13336 ;TEST MUL DIRECT - TWO POSITIVES
|
|
13337 ;TESTING IS ACCOMPLISHED BY MULTIPLYING
|
|
13338 ;0500000000000 BY A DECREASING MULTIPLIER
|
|
13339 ;PLIER=200000000000, 100000000000 (1/2, 1/4) ETC
|
|
13340 ;PLICAND=050000000000
|
|
13341 ;HIGH PROD=024000000000, 012000000000 ETC
|
|
13342 ;LOW PROD=0
|
|
13343
|
|
13344 000013 AC=13
|
|
13345 SAVEAC (1,1)^
|
|
13346 041266 201 15 0 00 041266 MOVEI AC+2,. ;SAVE TEST PC
|
|
13347 041267 202 15 0 00 030051 MOVEM AC+2,TESTPC
|
|
13348 041270 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
13349 041271 202 15 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
13350
|
|
13351 017100 SN=17100
|
|
13352 050000 XX=050000
|
|
13353 000000 ZZ=0
|
|
13354
|
|
13355 F17100: REPEAT ^D10,<
|
|
13356 SN=SN+1
|
|
13357 XX=XX/2
|
|
13358 ZZ=ZZ/2
|
|
13359 IFE ZZ,<ZZ=200000>
|
|
13360 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
13361 MOVSI AC,ZZ ;SETUP PLIER
|
|
13362 MOVSI AC-1,050000 ;SETUP PLICAND
|
|
13363 MUL AC,AC-1 ;MULTIPLY ZZ X 050000000000
|
|
13364 SKIPE AC+1 ;TEST LOW PROD=0
|
|
13365 ER4 AC+1,SN
|
|
13366 CAME AC,AC-2 ;TEST HIGH PROD=XX
|
|
13367 ER3 AC,SN ;MUL FAILED
|
|
13368 CAME AC-1,[050000,,0];WAS C(E) MODIFIED ?
|
|
13369 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
13370 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
13371 >
|
|
13372
|
|
13373 017101 SN=SN+1
|
|
13374 024000 XX=XX/2
|
|
13375 000000 ZZ=ZZ/2
|
|
13376 200000 IFE ZZ,<ZZ=200000>
|
|
13377 041272 205 11 0 00 024000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
13378 041273 205 13 0 00 200000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13379 041274 205 12 0 00 050000 MOVSI AC-1,050000 ;SETUP PLICAND
|
|
13380 041275 224 13 0 00 000012 MUL AC,AC-1 ;MULTIPLY ZZ X 050000000000
|
|
13381 041276 332 00 0 00 000014 SKIPE AC+1 ;TEST LOW PROD=0
|
|
13382 041277 004 14 0 00 017101 ER4 AC+1,SN
|
|
13383 041300 312 13 0 00 000011 CAME AC,AC-2 ;TEST HIGH PROD=XX
|
|
13384 041301 003 13 0 00 017101 ER3 AC,SN ;MUL FAILED
|
|
13385 041302 312 12 0 00 045334 CAME AC-1,[050000,,0];WAS C(E) MODIFIED ?
|
|
13386 041303 005 12 0 00 017101 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
13387 041304 321 15 0 00 041272 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
13388
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 70-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0300
|
|
|
|
13389
|
|
13390 017102 SN=SN+1
|
|
13391 012000 XX=XX/2
|
|
13392 100000 ZZ=ZZ/2
|
|
13393 IFE ZZ,<ZZ=200000>
|
|
13394 041305 205 11 0 00 012000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
13395 041306 205 13 0 00 100000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13396 041307 205 12 0 00 050000 MOVSI AC-1,050000 ;SETUP PLICAND
|
|
13397 041310 224 13 0 00 000012 MUL AC,AC-1 ;MULTIPLY ZZ X 050000000000
|
|
13398 041311 332 00 0 00 000014 SKIPE AC+1 ;TEST LOW PROD=0
|
|
13399 041312 004 14 0 00 017102 ER4 AC+1,SN
|
|
13400 041313 312 13 0 00 000011 CAME AC,AC-2 ;TEST HIGH PROD=XX
|
|
13401 041314 003 13 0 00 017102 ER3 AC,SN ;MUL FAILED
|
|
13402 041315 312 12 0 00 045334 CAME AC-1,[050000,,0];WAS C(E) MODIFIED ?
|
|
13403 041316 005 12 0 00 017102 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
13404 041317 321 15 0 00 041305 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
13405
|
|
13406
|
|
13407 017103 SN=SN+1
|
|
13408 005000 XX=XX/2
|
|
13409 040000 ZZ=ZZ/2
|
|
13410 IFE ZZ,<ZZ=200000>
|
|
13411 041320 205 11 0 00 005000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
13412 041321 205 13 0 00 040000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13413 041322 205 12 0 00 050000 MOVSI AC-1,050000 ;SETUP PLICAND
|
|
13414 041323 224 13 0 00 000012 MUL AC,AC-1 ;MULTIPLY ZZ X 050000000000
|
|
13415 041324 332 00 0 00 000014 SKIPE AC+1 ;TEST LOW PROD=0
|
|
13416 041325 004 14 0 00 017103 ER4 AC+1,SN
|
|
13417 041326 312 13 0 00 000011 CAME AC,AC-2 ;TEST HIGH PROD=XX
|
|
13418 041327 003 13 0 00 017103 ER3 AC,SN ;MUL FAILED
|
|
13419 041330 312 12 0 00 045334 CAME AC-1,[050000,,0];WAS C(E) MODIFIED ?
|
|
13420 041331 005 12 0 00 017103 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
13421 041332 321 15 0 00 041320 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
13422
|
|
13423
|
|
13424 017104 SN=SN+1
|
|
13425 002400 XX=XX/2
|
|
13426 020000 ZZ=ZZ/2
|
|
13427 IFE ZZ,<ZZ=200000>
|
|
13428 041333 205 11 0 00 002400 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
13429 041334 205 13 0 00 020000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13430 041335 205 12 0 00 050000 MOVSI AC-1,050000 ;SETUP PLICAND
|
|
13431 041336 224 13 0 00 000012 MUL AC,AC-1 ;MULTIPLY ZZ X 050000000000
|
|
13432 041337 332 00 0 00 000014 SKIPE AC+1 ;TEST LOW PROD=0
|
|
13433 041340 004 14 0 00 017104 ER4 AC+1,SN
|
|
13434 041341 312 13 0 00 000011 CAME AC,AC-2 ;TEST HIGH PROD=XX
|
|
13435 041342 003 13 0 00 017104 ER3 AC,SN ;MUL FAILED
|
|
13436 041343 312 12 0 00 045334 CAME AC-1,[050000,,0];WAS C(E) MODIFIED ?
|
|
13437 041344 005 12 0 00 017104 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
13438 041345 321 15 0 00 041333 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
13439
|
|
13440
|
|
13441 017105 SN=SN+1
|
|
13442 001200 XX=XX/2
|
|
13443 010000 ZZ=ZZ/2
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 70-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0301
|
|
|
|
13444 IFE ZZ,<ZZ=200000>
|
|
13445 041346 205 11 0 00 001200 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
13446 041347 205 13 0 00 010000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13447 041350 205 12 0 00 050000 MOVSI AC-1,050000 ;SETUP PLICAND
|
|
13448 041351 224 13 0 00 000012 MUL AC,AC-1 ;MULTIPLY ZZ X 050000000000
|
|
13449 041352 332 00 0 00 000014 SKIPE AC+1 ;TEST LOW PROD=0
|
|
13450 041353 004 14 0 00 017105 ER4 AC+1,SN
|
|
13451 041354 312 13 0 00 000011 CAME AC,AC-2 ;TEST HIGH PROD=XX
|
|
13452 041355 003 13 0 00 017105 ER3 AC,SN ;MUL FAILED
|
|
13453 041356 312 12 0 00 045334 CAME AC-1,[050000,,0];WAS C(E) MODIFIED ?
|
|
13454 041357 005 12 0 00 017105 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
13455 041360 321 15 0 00 041346 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
13456
|
|
13457
|
|
13458 017106 SN=SN+1
|
|
13459 000500 XX=XX/2
|
|
13460 004000 ZZ=ZZ/2
|
|
13461 IFE ZZ,<ZZ=200000>
|
|
13462 041361 205 11 0 00 000500 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
13463 041362 205 13 0 00 004000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13464 041363 205 12 0 00 050000 MOVSI AC-1,050000 ;SETUP PLICAND
|
|
13465 041364 224 13 0 00 000012 MUL AC,AC-1 ;MULTIPLY ZZ X 050000000000
|
|
13466 041365 332 00 0 00 000014 SKIPE AC+1 ;TEST LOW PROD=0
|
|
13467 041366 004 14 0 00 017106 ER4 AC+1,SN
|
|
13468 041367 312 13 0 00 000011 CAME AC,AC-2 ;TEST HIGH PROD=XX
|
|
13469 041370 003 13 0 00 017106 ER3 AC,SN ;MUL FAILED
|
|
13470 041371 312 12 0 00 045334 CAME AC-1,[050000,,0];WAS C(E) MODIFIED ?
|
|
13471 041372 005 12 0 00 017106 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
13472 041373 321 15 0 00 041361 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
13473
|
|
13474
|
|
13475 017107 SN=SN+1
|
|
13476 000240 XX=XX/2
|
|
13477 002000 ZZ=ZZ/2
|
|
13478 IFE ZZ,<ZZ=200000>
|
|
13479 041374 205 11 0 00 000240 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
13480 041375 205 13 0 00 002000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13481 041376 205 12 0 00 050000 MOVSI AC-1,050000 ;SETUP PLICAND
|
|
13482 041377 224 13 0 00 000012 MUL AC,AC-1 ;MULTIPLY ZZ X 050000000000
|
|
13483 041400 332 00 0 00 000014 SKIPE AC+1 ;TEST LOW PROD=0
|
|
13484 041401 004 14 0 00 017107 ER4 AC+1,SN
|
|
13485 041402 312 13 0 00 000011 CAME AC,AC-2 ;TEST HIGH PROD=XX
|
|
13486 041403 003 13 0 00 017107 ER3 AC,SN ;MUL FAILED
|
|
13487 041404 312 12 0 00 045334 CAME AC-1,[050000,,0];WAS C(E) MODIFIED ?
|
|
13488 041405 005 12 0 00 017107 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
13489 041406 321 15 0 00 041374 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
13490
|
|
13491
|
|
13492 017110 SN=SN+1
|
|
13493 000120 XX=XX/2
|
|
13494 001000 ZZ=ZZ/2
|
|
13495 IFE ZZ,<ZZ=200000>
|
|
13496 041407 205 11 0 00 000120 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
13497 041410 205 13 0 00 001000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13498 041411 205 12 0 00 050000 MOVSI AC-1,050000 ;SETUP PLICAND
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 70-3
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0302
|
|
|
|
13499 041412 224 13 0 00 000012 MUL AC,AC-1 ;MULTIPLY ZZ X 050000000000
|
|
13500 041413 332 00 0 00 000014 SKIPE AC+1 ;TEST LOW PROD=0
|
|
13501 041414 004 14 0 00 017110 ER4 AC+1,SN
|
|
13502 041415 312 13 0 00 000011 CAME AC,AC-2 ;TEST HIGH PROD=XX
|
|
13503 041416 003 13 0 00 017110 ER3 AC,SN ;MUL FAILED
|
|
13504 041417 312 12 0 00 045334 CAME AC-1,[050000,,0];WAS C(E) MODIFIED ?
|
|
13505 041420 005 12 0 00 017110 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
13506 041421 321 15 0 00 041407 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
13507
|
|
13508
|
|
13509 017111 SN=SN+1
|
|
13510 000050 XX=XX/2
|
|
13511 000400 ZZ=ZZ/2
|
|
13512 IFE ZZ,<ZZ=200000>
|
|
13513 041422 205 11 0 00 000050 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
13514 041423 205 13 0 00 000400 MOVSI AC,ZZ ;SETUP PLIER
|
|
13515 041424 205 12 0 00 050000 MOVSI AC-1,050000 ;SETUP PLICAND
|
|
13516 041425 224 13 0 00 000012 MUL AC,AC-1 ;MULTIPLY ZZ X 050000000000
|
|
13517 041426 332 00 0 00 000014 SKIPE AC+1 ;TEST LOW PROD=0
|
|
13518 041427 004 14 0 00 017111 ER4 AC+1,SN
|
|
13519 041430 312 13 0 00 000011 CAME AC,AC-2 ;TEST HIGH PROD=XX
|
|
13520 041431 003 13 0 00 017111 ER3 AC,SN ;MUL FAILED
|
|
13521 041432 312 12 0 00 045334 CAME AC-1,[050000,,0];WAS C(E) MODIFIED ?
|
|
13522 041433 005 12 0 00 017111 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
13523 041434 321 15 0 00 041422 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
13524
|
|
13525
|
|
13526 017112 SN=SN+1
|
|
13527 000024 XX=XX/2
|
|
13528 000200 ZZ=ZZ/2
|
|
13529 IFE ZZ,<ZZ=200000>
|
|
13530 041435 205 11 0 00 000024 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
13531 041436 205 13 0 00 000200 MOVSI AC,ZZ ;SETUP PLIER
|
|
13532 041437 205 12 0 00 050000 MOVSI AC-1,050000 ;SETUP PLICAND
|
|
13533 041440 224 13 0 00 000012 MUL AC,AC-1 ;MULTIPLY ZZ X 050000000000
|
|
13534 041441 332 00 0 00 000014 SKIPE AC+1 ;TEST LOW PROD=0
|
|
13535 041442 004 14 0 00 017112 ER4 AC+1,SN
|
|
13536 041443 312 13 0 00 000011 CAME AC,AC-2 ;TEST HIGH PROD=XX
|
|
13537 041444 003 13 0 00 017112 ER3 AC,SN ;MUL FAILED
|
|
13538 041445 312 12 0 00 045334 CAME AC-1,[050000,,0];WAS C(E) MODIFIED ?
|
|
13539 041446 005 12 0 00 017112 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
13540 041447 321 15 0 00 041435 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
13541
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 71
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0303
|
|
|
|
13542 ;TEST MUL IMMEDIATE - TWO POSITIVES
|
|
13543 ;TESTING IS ACCOMPLISHED BY MULTIPLYING
|
|
13544 ;E BY AND DECREASING MULTIPLIER
|
|
13545 ;PLIER=200000000000, 100000000000 (1/2, 1/4) ETC
|
|
13546 ;PLICAND=E (005001)
|
|
13547 ;HIGH PROD=2400,1200,500,240,120
|
|
13548 ;LOW PROD=PLIER
|
|
13549
|
|
13550 000012 AC=12
|
|
13551 SAVEAC (1,1)^
|
|
13552 041450 201 14 0 00 041450 MOVEI AC+2,. ;SAVE TEST PC
|
|
13553 041451 202 14 0 00 030051 MOVEM AC+2,TESTPC
|
|
13554 041452 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
13555 041453 202 14 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
13556
|
|
13557 017200 SN=17200
|
|
13558 005000 XX=005000
|
|
13559 000000 ZZ=0
|
|
13560
|
|
13561 F17200: REPEAT ^D5,<
|
|
13562 SN=SN+1
|
|
13563 XX=XX/2
|
|
13564 ZZ=ZZ/2
|
|
13565 IFE ZZ,<ZZ=200000>
|
|
13566 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
13567 MOVSI AC,ZZ ;SETUP PLIER
|
|
13568 MULI AC,005001 ;MULTIPLY E BY ZZ
|
|
13569 CAME AC,AC-2 ;TEST HIGH PROD=XX
|
|
13570 ER3 AC,SN ;HIGH PROD ERROR
|
|
13571 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
13572 CAME AC+1,AC-2 ;TEST LOW PROD=PLIER
|
|
13573 ER4 AC+1,SN ;LOW PROD ERROR
|
|
13574 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
13575 >
|
|
13576
|
|
13577 017201 SN=SN+1
|
|
13578 002400 XX=XX/2
|
|
13579 000000 ZZ=ZZ/2
|
|
13580 200000 IFE ZZ,<ZZ=200000>
|
|
13581 041454 201 10 0 00 002400 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
13582 041455 205 12 0 00 200000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13583 041456 225 12 0 00 005001 MULI AC,005001 ;MULTIPLY E BY ZZ
|
|
13584 041457 312 12 0 00 000010 CAME AC,AC-2 ;TEST HIGH PROD=XX
|
|
13585 041460 003 12 0 00 017201 ER3 AC,SN ;HIGH PROD ERROR
|
|
13586 041461 205 10 0 00 200000 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
13587 041462 312 13 0 00 000010 CAME AC+1,AC-2 ;TEST LOW PROD=PLIER
|
|
13588 041463 004 13 0 00 017201 ER4 AC+1,SN ;LOW PROD ERROR
|
|
13589 041464 321 14 0 00 041454 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
13590
|
|
13591
|
|
13592 017202 SN=SN+1
|
|
13593 001200 XX=XX/2
|
|
13594 100000 ZZ=ZZ/2
|
|
13595 IFE ZZ,<ZZ=200000>
|
|
13596 041465 201 10 0 00 001200 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 71-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0304
|
|
|
|
13597 041466 205 12 0 00 100000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13598 041467 225 12 0 00 005001 MULI AC,005001 ;MULTIPLY E BY ZZ
|
|
13599 041470 312 12 0 00 000010 CAME AC,AC-2 ;TEST HIGH PROD=XX
|
|
13600 041471 003 12 0 00 017202 ER3 AC,SN ;HIGH PROD ERROR
|
|
13601 041472 205 10 0 00 100000 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
13602 041473 312 13 0 00 000010 CAME AC+1,AC-2 ;TEST LOW PROD=PLIER
|
|
13603 041474 004 13 0 00 017202 ER4 AC+1,SN ;LOW PROD ERROR
|
|
13604 041475 321 14 0 00 041465 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
13605
|
|
13606
|
|
13607 017203 SN=SN+1
|
|
13608 000500 XX=XX/2
|
|
13609 040000 ZZ=ZZ/2
|
|
13610 IFE ZZ,<ZZ=200000>
|
|
13611 041476 201 10 0 00 000500 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
13612 041477 205 12 0 00 040000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13613 041500 225 12 0 00 005001 MULI AC,005001 ;MULTIPLY E BY ZZ
|
|
13614 041501 312 12 0 00 000010 CAME AC,AC-2 ;TEST HIGH PROD=XX
|
|
13615 041502 003 12 0 00 017203 ER3 AC,SN ;HIGH PROD ERROR
|
|
13616 041503 205 10 0 00 040000 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
13617 041504 312 13 0 00 000010 CAME AC+1,AC-2 ;TEST LOW PROD=PLIER
|
|
13618 041505 004 13 0 00 017203 ER4 AC+1,SN ;LOW PROD ERROR
|
|
13619 041506 321 14 0 00 041476 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
13620
|
|
13621
|
|
13622 017204 SN=SN+1
|
|
13623 000240 XX=XX/2
|
|
13624 020000 ZZ=ZZ/2
|
|
13625 IFE ZZ,<ZZ=200000>
|
|
13626 041507 201 10 0 00 000240 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
13627 041510 205 12 0 00 020000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13628 041511 225 12 0 00 005001 MULI AC,005001 ;MULTIPLY E BY ZZ
|
|
13629 041512 312 12 0 00 000010 CAME AC,AC-2 ;TEST HIGH PROD=XX
|
|
13630 041513 003 12 0 00 017204 ER3 AC,SN ;HIGH PROD ERROR
|
|
13631 041514 205 10 0 00 020000 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
13632 041515 312 13 0 00 000010 CAME AC+1,AC-2 ;TEST LOW PROD=PLIER
|
|
13633 041516 004 13 0 00 017204 ER4 AC+1,SN ;LOW PROD ERROR
|
|
13634 041517 321 14 0 00 041507 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
13635
|
|
13636
|
|
13637 017205 SN=SN+1
|
|
13638 000120 XX=XX/2
|
|
13639 010000 ZZ=ZZ/2
|
|
13640 IFE ZZ,<ZZ=200000>
|
|
13641 041520 201 10 0 00 000120 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
13642 041521 205 12 0 00 010000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13643 041522 225 12 0 00 005001 MULI AC,005001 ;MULTIPLY E BY ZZ
|
|
13644 041523 312 12 0 00 000010 CAME AC,AC-2 ;TEST HIGH PROD=XX
|
|
13645 041524 003 12 0 00 017205 ER3 AC,SN ;HIGH PROD ERROR
|
|
13646 041525 205 10 0 00 010000 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
13647 041526 312 13 0 00 000010 CAME AC+1,AC-2 ;TEST LOW PROD=PLIER
|
|
13648 041527 004 13 0 00 017205 ER4 AC+1,SN ;LOW PROD ERROR
|
|
13649 041530 321 14 0 00 041520 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
13650
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 72
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0305
|
|
|
|
13651 ;TEST MUL MEMORY - TWO NEGATIVES
|
|
13652 ;TESTING IS ACCOMPLISHED BY MULTIPLYING
|
|
13653 ;AN INCREASING NEGATIVE NUMBER BY -1
|
|
13654 ;PLIER=-1
|
|
13655 ;PLICAND=-1,-2,-4,-10,-20
|
|
13656 ;HIGH PROD=0
|
|
13657
|
|
13658 000011 AC=11
|
|
13659 SAVEAC (1,1)^
|
|
13660 041531 201 13 0 00 041531 MOVEI AC+2,. ;SAVE TEST PC
|
|
13661 041532 202 13 0 00 030051 MOVEM AC+2,TESTPC
|
|
13662 041533 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
13663 041534 202 13 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
13664
|
|
13665 017300 SN=17300
|
|
13666 000000 ZZ=0
|
|
13667
|
|
13668 F17300: REPEAT ^D5,<
|
|
13669 SN=SN+1
|
|
13670 ZZ=ZZ+ZZ
|
|
13671 IFE ZZ,<ZZ=-1>
|
|
13672 SETO AC, ;SETUP PLIER
|
|
13673 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
13674 MULM AC,AC-1 ;MULTIPLY ZZ BY -1
|
|
13675 SKIPE AC-1 ;TEST HIGH PROD = 0
|
|
13676 ER5 AC,SN ;MULM FAILED
|
|
13677 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
13678 >
|
|
13679
|
|
13680 017301 SN=SN+1
|
|
13681 000000 ZZ=ZZ+ZZ
|
|
13682 777777 777777 IFE ZZ,<ZZ=-1>
|
|
13683 041535 474 11 0 00 000000 SETO AC, ;SETUP PLIER
|
|
13684 041536 561 10 0 00 777777 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
13685 041537 226 11 0 00 000010 MULM AC,AC-1 ;MULTIPLY ZZ BY -1
|
|
13686 041540 332 00 0 00 000010 SKIPE AC-1 ;TEST HIGH PROD = 0
|
|
13687 041541 005 11 0 00 017301 ER5 AC,SN ;MULM FAILED
|
|
13688 041542 321 13 0 00 041535 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
13689
|
|
13690
|
|
13691 017302 SN=SN+1
|
|
13692 777777 777776 ZZ=ZZ+ZZ
|
|
13693 IFE ZZ,<ZZ=-1>
|
|
13694 041543 474 11 0 00 000000 SETO AC, ;SETUP PLIER
|
|
13695 041544 561 10 0 00 777776 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
13696 041545 226 11 0 00 000010 MULM AC,AC-1 ;MULTIPLY ZZ BY -1
|
|
13697 041546 332 00 0 00 000010 SKIPE AC-1 ;TEST HIGH PROD = 0
|
|
13698 041547 005 11 0 00 017302 ER5 AC,SN ;MULM FAILED
|
|
13699 041550 321 13 0 00 041543 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
13700
|
|
13701
|
|
13702 017303 SN=SN+1
|
|
13703 777777 777774 ZZ=ZZ+ZZ
|
|
13704 IFE ZZ,<ZZ=-1>
|
|
13705 041551 474 11 0 00 000000 SETO AC, ;SETUP PLIER
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 72-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0306
|
|
|
|
13706 041552 561 10 0 00 777774 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
13707 041553 226 11 0 00 000010 MULM AC,AC-1 ;MULTIPLY ZZ BY -1
|
|
13708 041554 332 00 0 00 000010 SKIPE AC-1 ;TEST HIGH PROD = 0
|
|
13709 041555 005 11 0 00 017303 ER5 AC,SN ;MULM FAILED
|
|
13710 041556 321 13 0 00 041551 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
13711
|
|
13712
|
|
13713 017304 SN=SN+1
|
|
13714 777777 777770 ZZ=ZZ+ZZ
|
|
13715 IFE ZZ,<ZZ=-1>
|
|
13716 041557 474 11 0 00 000000 SETO AC, ;SETUP PLIER
|
|
13717 041560 561 10 0 00 777770 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
13718 041561 226 11 0 00 000010 MULM AC,AC-1 ;MULTIPLY ZZ BY -1
|
|
13719 041562 332 00 0 00 000010 SKIPE AC-1 ;TEST HIGH PROD = 0
|
|
13720 041563 005 11 0 00 017304 ER5 AC,SN ;MULM FAILED
|
|
13721 041564 321 13 0 00 041557 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
13722
|
|
13723
|
|
13724 017305 SN=SN+1
|
|
13725 777777 777760 ZZ=ZZ+ZZ
|
|
13726 IFE ZZ,<ZZ=-1>
|
|
13727 041565 474 11 0 00 000000 SETO AC, ;SETUP PLIER
|
|
13728 041566 561 10 0 00 777760 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
13729 041567 226 11 0 00 000010 MULM AC,AC-1 ;MULTIPLY ZZ BY -1
|
|
13730 041570 332 00 0 00 000010 SKIPE AC-1 ;TEST HIGH PROD = 0
|
|
13731 041571 005 11 0 00 017305 ER5 AC,SN ;MULM FAILED
|
|
13732 041572 321 13 0 00 041565 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
13733
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 73
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0307
|
|
|
|
13734 ;TEST MUL BOTH - TWO NEGATIVES
|
|
13735 ;TESTING IS ACCOMPLISHED BY MULTIPLYING
|
|
13736 ;-1 BY AN INCREASING NEGATIVE NUMBER
|
|
13737 ;PLIER=-1,-2,-4,-10,-20
|
|
13738 ;PLICAND=-1
|
|
13739 ;HIGH PROD=0
|
|
13740 ;LOW PROD=1,2,4,10,20
|
|
13741
|
|
13742 000010 AC=10
|
|
13743 SAVEAC (1,1)^
|
|
13744 041573 201 12 0 00 041573 MOVEI AC+2,. ;SAVE TEST PC
|
|
13745 041574 202 12 0 00 030051 MOVEM AC+2,TESTPC
|
|
13746 041575 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
13747 041576 202 12 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
13748
|
|
13749 017400 SN=17400
|
|
13750 000000 XX=0
|
|
13751 000000 ZZ=0
|
|
13752
|
|
13753 F17400: REPEAT ^D5,<
|
|
13754 SN=SN+1
|
|
13755 XX=XX+XX
|
|
13756 ZZ=ZZ+ZZ
|
|
13757 IFE XX,<XX=1>
|
|
13758 IFE ZZ,<ZZ=-1>
|
|
13759 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
13760 HRROI AC,ZZ ;SETUP PLIER
|
|
13761 SETO AC-1, ;SETUP PLICAND
|
|
13762 MULB AC,AC-1 ;MULTIPLY -1 BY ZZ
|
|
13763 SKIPE AC ;TEST HIGH PROD=0
|
|
13764 ER3 AC,SN
|
|
13765 SKIPE AC-1 ;TEST C(AC) = C(E)
|
|
13766 ER5 AC-1,SN
|
|
13767 CAME AC+1,AC-2 ;TEST LOW PROD=XX
|
|
13768 ER4 AC+1,SN ;MULB FAILED
|
|
13769 JUMPL AC+2,.-^D10 ;LOOP ON ERR SWITCH
|
|
13770 >
|
|
13771
|
|
13772 017401 SN=SN+1
|
|
13773 000000 XX=XX+XX
|
|
13774 000000 ZZ=ZZ+ZZ
|
|
13775 000001 IFE XX,<XX=1>
|
|
13776 777777 777777 IFE ZZ,<ZZ=-1>
|
|
13777 041577 201 06 0 00 000001 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
13778 041600 561 10 0 00 777777 HRROI AC,ZZ ;SETUP PLIER
|
|
13779 041601 474 07 0 00 000000 SETO AC-1, ;SETUP PLICAND
|
|
13780 041602 227 10 0 00 000007 MULB AC,AC-1 ;MULTIPLY -1 BY ZZ
|
|
13781 041603 332 00 0 00 000010 SKIPE AC ;TEST HIGH PROD=0
|
|
13782 041604 003 10 0 00 017401 ER3 AC,SN
|
|
13783 041605 332 00 0 00 000007 SKIPE AC-1 ;TEST C(AC) = C(E)
|
|
13784 041606 005 07 0 00 017401 ER5 AC-1,SN
|
|
13785 041607 312 11 0 00 000006 CAME AC+1,AC-2 ;TEST LOW PROD=XX
|
|
13786 041610 004 11 0 00 017401 ER4 AC+1,SN ;MULB FAILED
|
|
13787 041611 321 12 0 00 041577 JUMPL AC+2,.-^D10 ;LOOP ON ERR SWITCH
|
|
13788
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 73-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0308
|
|
|
|
13789
|
|
13790 017402 SN=SN+1
|
|
13791 000002 XX=XX+XX
|
|
13792 777777 777776 ZZ=ZZ+ZZ
|
|
13793 IFE XX,<XX=1>
|
|
13794 IFE ZZ,<ZZ=-1>
|
|
13795 041612 201 06 0 00 000002 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
13796 041613 561 10 0 00 777776 HRROI AC,ZZ ;SETUP PLIER
|
|
13797 041614 474 07 0 00 000000 SETO AC-1, ;SETUP PLICAND
|
|
13798 041615 227 10 0 00 000007 MULB AC,AC-1 ;MULTIPLY -1 BY ZZ
|
|
13799 041616 332 00 0 00 000010 SKIPE AC ;TEST HIGH PROD=0
|
|
13800 041617 003 10 0 00 017402 ER3 AC,SN
|
|
13801 041620 332 00 0 00 000007 SKIPE AC-1 ;TEST C(AC) = C(E)
|
|
13802 041621 005 07 0 00 017402 ER5 AC-1,SN
|
|
13803 041622 312 11 0 00 000006 CAME AC+1,AC-2 ;TEST LOW PROD=XX
|
|
13804 041623 004 11 0 00 017402 ER4 AC+1,SN ;MULB FAILED
|
|
13805 041624 321 12 0 00 041612 JUMPL AC+2,.-^D10 ;LOOP ON ERR SWITCH
|
|
13806
|
|
13807
|
|
13808 017403 SN=SN+1
|
|
13809 000004 XX=XX+XX
|
|
13810 777777 777774 ZZ=ZZ+ZZ
|
|
13811 IFE XX,<XX=1>
|
|
13812 IFE ZZ,<ZZ=-1>
|
|
13813 041625 201 06 0 00 000004 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
13814 041626 561 10 0 00 777774 HRROI AC,ZZ ;SETUP PLIER
|
|
13815 041627 474 07 0 00 000000 SETO AC-1, ;SETUP PLICAND
|
|
13816 041630 227 10 0 00 000007 MULB AC,AC-1 ;MULTIPLY -1 BY ZZ
|
|
13817 041631 332 00 0 00 000010 SKIPE AC ;TEST HIGH PROD=0
|
|
13818 041632 003 10 0 00 017403 ER3 AC,SN
|
|
13819 041633 332 00 0 00 000007 SKIPE AC-1 ;TEST C(AC) = C(E)
|
|
13820 041634 005 07 0 00 017403 ER5 AC-1,SN
|
|
13821 041635 312 11 0 00 000006 CAME AC+1,AC-2 ;TEST LOW PROD=XX
|
|
13822 041636 004 11 0 00 017403 ER4 AC+1,SN ;MULB FAILED
|
|
13823 041637 321 12 0 00 041625 JUMPL AC+2,.-^D10 ;LOOP ON ERR SWITCH
|
|
13824
|
|
13825
|
|
13826 017404 SN=SN+1
|
|
13827 000010 XX=XX+XX
|
|
13828 777777 777770 ZZ=ZZ+ZZ
|
|
13829 IFE XX,<XX=1>
|
|
13830 IFE ZZ,<ZZ=-1>
|
|
13831 041640 201 06 0 00 000010 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
13832 041641 561 10 0 00 777770 HRROI AC,ZZ ;SETUP PLIER
|
|
13833 041642 474 07 0 00 000000 SETO AC-1, ;SETUP PLICAND
|
|
13834 041643 227 10 0 00 000007 MULB AC,AC-1 ;MULTIPLY -1 BY ZZ
|
|
13835 041644 332 00 0 00 000010 SKIPE AC ;TEST HIGH PROD=0
|
|
13836 041645 003 10 0 00 017404 ER3 AC,SN
|
|
13837 041646 332 00 0 00 000007 SKIPE AC-1 ;TEST C(AC) = C(E)
|
|
13838 041647 005 07 0 00 017404 ER5 AC-1,SN
|
|
13839 041650 312 11 0 00 000006 CAME AC+1,AC-2 ;TEST LOW PROD=XX
|
|
13840 041651 004 11 0 00 017404 ER4 AC+1,SN ;MULB FAILED
|
|
13841 041652 321 12 0 00 041640 JUMPL AC+2,.-^D10 ;LOOP ON ERR SWITCH
|
|
13842
|
|
13843
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 73-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0309
|
|
|
|
13844 017405 SN=SN+1
|
|
13845 000020 XX=XX+XX
|
|
13846 777777 777760 ZZ=ZZ+ZZ
|
|
13847 IFE XX,<XX=1>
|
|
13848 IFE ZZ,<ZZ=-1>
|
|
13849 041653 201 06 0 00 000020 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
13850 041654 561 10 0 00 777760 HRROI AC,ZZ ;SETUP PLIER
|
|
13851 041655 474 07 0 00 000000 SETO AC-1, ;SETUP PLICAND
|
|
13852 041656 227 10 0 00 000007 MULB AC,AC-1 ;MULTIPLY -1 BY ZZ
|
|
13853 041657 332 00 0 00 000010 SKIPE AC ;TEST HIGH PROD=0
|
|
13854 041660 003 10 0 00 017405 ER3 AC,SN
|
|
13855 041661 332 00 0 00 000007 SKIPE AC-1 ;TEST C(AC) = C(E)
|
|
13856 041662 005 07 0 00 017405 ER5 AC-1,SN
|
|
13857 041663 312 11 0 00 000006 CAME AC+1,AC-2 ;TEST LOW PROD=XX
|
|
13858 041664 004 11 0 00 017405 ER4 AC+1,SN ;MULB FAILED
|
|
13859 041665 321 12 0 00 041653 JUMPL AC+2,.-^D10 ;LOOP ON ERR SWITCH
|
|
13860
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 74
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0310
|
|
|
|
13861 ;TEST MUL MEMORY - TWO NEGATIVES
|
|
13862 ;TESTING IS ACCOMPLISHED BY MULTIPLYING
|
|
13863 ;-5001 BY AN INCREASING NEGATIVE PLIER
|
|
13864 ;PLIER=600000000000, 700000000000 ETC.
|
|
13865 ;PLICAND=-5001
|
|
13866 ;HIGH PROD=2400,1200,500,240,120
|
|
13867
|
|
13868 000007 AC=7
|
|
13869 SAVEAC (1,1)^
|
|
13870 041666 201 11 0 00 041666 MOVEI AC+2,. ;SAVE TEST PC
|
|
13871 041667 202 11 0 00 030051 MOVEM AC+2,TESTPC
|
|
13872 041670 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
13873 041671 202 11 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
13874
|
|
13875 017500 SN=17500
|
|
13876 005000 XX=005000
|
|
13877 000000 ZZ=0
|
|
13878
|
|
13879 F17500: REPEAT ^D5,<
|
|
13880 SN=SN+1
|
|
13881 XX=XX/2
|
|
13882 ZZ=ZZ/2
|
|
13883 IFE ZZ,<ZZ=-200000>
|
|
13884 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
13885 MOVSI AC,ZZ ;SETUP PLIER
|
|
13886 HRROI AC-1,-5001 ;SETUP PLICAND
|
|
13887 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
13888 MULM AC,AC-1 ;MULTIPLY ZZ X -5001
|
|
13889 CAME AC-1,AC-2 ;TEST HIGH PROD = XX
|
|
13890 ER5 AC-1,SN ;MULM FAILED
|
|
13891 CAME AC,[ZZ,,0] ;WAS C(AC) MODIFIED ?
|
|
13892 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
13893 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) MODIFIED ?
|
|
13894 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
13895 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
13896 >
|
|
13897
|
|
13898 017501 SN=SN+1
|
|
13899 002400 XX=XX/2
|
|
13900 000000 ZZ=ZZ/2
|
|
13901 777777 600000 IFE ZZ,<ZZ=-200000>
|
|
13902 041672 201 05 0 00 002400 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
13903 041673 205 07 0 00 600000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13904 041674 561 06 0 00 772777 HRROI AC-1,-5001 ;SETUP PLICAND
|
|
13905 041675 200 04 0 00 000010 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
13906 041676 226 07 0 00 000006 MULM AC,AC-1 ;MULTIPLY ZZ X -5001
|
|
13907 041677 312 06 0 00 000005 CAME AC-1,AC-2 ;TEST HIGH PROD = XX
|
|
13908 041700 005 06 0 00 017501 ER5 AC-1,SN ;MULM FAILED
|
|
13909 041701 312 07 0 00 044762 CAME AC,[ZZ,,0] ;WAS C(AC) MODIFIED ?
|
|
13910 041702 003 07 0 00 017501 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
13911 041703 312 10 0 00 000004 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) MODIFIED ?
|
|
13912 041704 004 10 0 00 017501 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
13913 041705 321 11 0 00 041672 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
13914
|
|
13915
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 74-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0311
|
|
|
|
13916 017502 SN=SN+1
|
|
13917 001200 XX=XX/2
|
|
13918 777777 700000 ZZ=ZZ/2
|
|
13919 IFE ZZ,<ZZ=-200000>
|
|
13920 041706 201 05 0 00 001200 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
13921 041707 205 07 0 00 700000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13922 041710 561 06 0 00 772777 HRROI AC-1,-5001 ;SETUP PLICAND
|
|
13923 041711 200 04 0 00 000010 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
13924 041712 226 07 0 00 000006 MULM AC,AC-1 ;MULTIPLY ZZ X -5001
|
|
13925 041713 312 06 0 00 000005 CAME AC-1,AC-2 ;TEST HIGH PROD = XX
|
|
13926 041714 005 06 0 00 017502 ER5 AC-1,SN ;MULM FAILED
|
|
13927 041715 312 07 0 00 045233 CAME AC,[ZZ,,0] ;WAS C(AC) MODIFIED ?
|
|
13928 041716 003 07 0 00 017502 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
13929 041717 312 10 0 00 000004 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) MODIFIED ?
|
|
13930 041720 004 10 0 00 017502 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
13931 041721 321 11 0 00 041706 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
13932
|
|
13933
|
|
13934 017503 SN=SN+1
|
|
13935 000500 XX=XX/2
|
|
13936 777777 740000 ZZ=ZZ/2
|
|
13937 IFE ZZ,<ZZ=-200000>
|
|
13938 041722 201 05 0 00 000500 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
13939 041723 205 07 0 00 740000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13940 041724 561 06 0 00 772777 HRROI AC-1,-5001 ;SETUP PLICAND
|
|
13941 041725 200 04 0 00 000010 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
13942 041726 226 07 0 00 000006 MULM AC,AC-1 ;MULTIPLY ZZ X -5001
|
|
13943 041727 312 06 0 00 000005 CAME AC-1,AC-2 ;TEST HIGH PROD = XX
|
|
13944 041730 005 06 0 00 017503 ER5 AC-1,SN ;MULM FAILED
|
|
13945 041731 312 07 0 00 045232 CAME AC,[ZZ,,0] ;WAS C(AC) MODIFIED ?
|
|
13946 041732 003 07 0 00 017503 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
13947 041733 312 10 0 00 000004 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) MODIFIED ?
|
|
13948 041734 004 10 0 00 017503 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
13949 041735 321 11 0 00 041722 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
13950
|
|
13951
|
|
13952 017504 SN=SN+1
|
|
13953 000240 XX=XX/2
|
|
13954 777777 760000 ZZ=ZZ/2
|
|
13955 IFE ZZ,<ZZ=-200000>
|
|
13956 041736 201 05 0 00 000240 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
13957 041737 205 07 0 00 760000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13958 041740 561 06 0 00 772777 HRROI AC-1,-5001 ;SETUP PLICAND
|
|
13959 041741 200 04 0 00 000010 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
13960 041742 226 07 0 00 000006 MULM AC,AC-1 ;MULTIPLY ZZ X -5001
|
|
13961 041743 312 06 0 00 000005 CAME AC-1,AC-2 ;TEST HIGH PROD = XX
|
|
13962 041744 005 06 0 00 017504 ER5 AC-1,SN ;MULM FAILED
|
|
13963 041745 312 07 0 00 045231 CAME AC,[ZZ,,0] ;WAS C(AC) MODIFIED ?
|
|
13964 041746 003 07 0 00 017504 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
13965 041747 312 10 0 00 000004 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) MODIFIED ?
|
|
13966 041750 004 10 0 00 017504 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
13967 041751 321 11 0 00 041736 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
13968
|
|
13969
|
|
13970 017505 SN=SN+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 74-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0312
|
|
|
|
13971 000120 XX=XX/2
|
|
13972 777777 770000 ZZ=ZZ/2
|
|
13973 IFE ZZ,<ZZ=-200000>
|
|
13974 041752 201 05 0 00 000120 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
13975 041753 205 07 0 00 770000 MOVSI AC,ZZ ;SETUP PLIER
|
|
13976 041754 561 06 0 00 772777 HRROI AC-1,-5001 ;SETUP PLICAND
|
|
13977 041755 200 04 0 00 000010 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
13978 041756 226 07 0 00 000006 MULM AC,AC-1 ;MULTIPLY ZZ X -5001
|
|
13979 041757 312 06 0 00 000005 CAME AC-1,AC-2 ;TEST HIGH PROD = XX
|
|
13980 041760 005 06 0 00 017505 ER5 AC-1,SN ;MULM FAILED
|
|
13981 041761 312 07 0 00 045230 CAME AC,[ZZ,,0] ;WAS C(AC) MODIFIED ?
|
|
13982 041762 003 07 0 00 017505 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
13983 041763 312 10 0 00 000004 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) MODIFIED ?
|
|
13984 041764 004 10 0 00 017505 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
13985 041765 321 11 0 00 041752 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
13986
|
|
13987
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 75
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0313
|
|
|
|
13988 ;TEST IMUL DIRECT - TWO POSITIVES
|
|
13989 ;TESTING IS ACCOMPLISHED BY MULTIPLYING
|
|
13990 ;A NUMBER BY ITSELF
|
|
13991 ;PLIER=2,4,10,20,40
|
|
13992 ;PLICAND=2,4,10,20,40
|
|
13993 ;PROD=4,20,100,400,2000
|
|
13994
|
|
13995 000006 AC=6
|
|
13996 SAVEAC (1,1)^
|
|
13997 041766 201 10 0 00 041766 MOVEI AC+2,. ;SAVE TEST PC
|
|
13998 041767 202 10 0 00 030051 MOVEM AC+2,TESTPC
|
|
13999 041770 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
14000 041771 202 10 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
14001
|
|
14002 017600 SN=17600
|
|
14003 000001 XX=1
|
|
14004 000001 ZZ=1
|
|
14005
|
|
14006 F17600: REPEAT ^D5,<
|
|
14007 SN=SN+1
|
|
14008 XX=XX*4
|
|
14009 ZZ=ZZ+ZZ
|
|
14010 IFE ZZ,<ZZ=-200000>
|
|
14011 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14012 MOVEI AC,ZZ ;SETUP PLIER
|
|
14013 MOVEI AC-1,ZZ ;SETUP PLICAND
|
|
14014 IMUL AC,AC-1 ;MULTIPLY ZZ BY ZZ
|
|
14015 CAME AC,AC-2 ;TEST PROD=XX
|
|
14016 ER3 AC,SN ;IMUL FAILED
|
|
14017 CAIE AC-1,ZZ ;WAS C(E) MODIFIED ?
|
|
14018 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
14019 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
14020 >
|
|
14021
|
|
14022 017601 SN=SN+1
|
|
14023 000004 XX=XX*4
|
|
14024 000002 ZZ=ZZ+ZZ
|
|
14025 IFE ZZ,<ZZ=-200000>
|
|
14026 041772 201 04 0 00 000004 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14027 041773 201 06 0 00 000002 MOVEI AC,ZZ ;SETUP PLIER
|
|
14028 041774 201 05 0 00 000002 MOVEI AC-1,ZZ ;SETUP PLICAND
|
|
14029 041775 220 06 0 00 000005 IMUL AC,AC-1 ;MULTIPLY ZZ BY ZZ
|
|
14030 041776 312 06 0 00 000004 CAME AC,AC-2 ;TEST PROD=XX
|
|
14031 041777 003 06 0 00 017601 ER3 AC,SN ;IMUL FAILED
|
|
14032 042000 302 05 0 00 000002 CAIE AC-1,ZZ ;WAS C(E) MODIFIED ?
|
|
14033 042001 005 05 0 00 017601 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
14034 042002 321 10 0 00 041772 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
14035
|
|
14036
|
|
14037 017602 SN=SN+1
|
|
14038 000020 XX=XX*4
|
|
14039 000004 ZZ=ZZ+ZZ
|
|
14040 IFE ZZ,<ZZ=-200000>
|
|
14041 042003 201 04 0 00 000020 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14042 042004 201 06 0 00 000004 MOVEI AC,ZZ ;SETUP PLIER
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 75-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0314
|
|
|
|
14043 042005 201 05 0 00 000004 MOVEI AC-1,ZZ ;SETUP PLICAND
|
|
14044 042006 220 06 0 00 000005 IMUL AC,AC-1 ;MULTIPLY ZZ BY ZZ
|
|
14045 042007 312 06 0 00 000004 CAME AC,AC-2 ;TEST PROD=XX
|
|
14046 042010 003 06 0 00 017602 ER3 AC,SN ;IMUL FAILED
|
|
14047 042011 302 05 0 00 000004 CAIE AC-1,ZZ ;WAS C(E) MODIFIED ?
|
|
14048 042012 005 05 0 00 017602 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
14049 042013 321 10 0 00 042003 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
14050
|
|
14051
|
|
14052 017603 SN=SN+1
|
|
14053 000100 XX=XX*4
|
|
14054 000010 ZZ=ZZ+ZZ
|
|
14055 IFE ZZ,<ZZ=-200000>
|
|
14056 042014 201 04 0 00 000100 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14057 042015 201 06 0 00 000010 MOVEI AC,ZZ ;SETUP PLIER
|
|
14058 042016 201 05 0 00 000010 MOVEI AC-1,ZZ ;SETUP PLICAND
|
|
14059 042017 220 06 0 00 000005 IMUL AC,AC-1 ;MULTIPLY ZZ BY ZZ
|
|
14060 042020 312 06 0 00 000004 CAME AC,AC-2 ;TEST PROD=XX
|
|
14061 042021 003 06 0 00 017603 ER3 AC,SN ;IMUL FAILED
|
|
14062 042022 302 05 0 00 000010 CAIE AC-1,ZZ ;WAS C(E) MODIFIED ?
|
|
14063 042023 005 05 0 00 017603 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
14064 042024 321 10 0 00 042014 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
14065
|
|
14066
|
|
14067 017604 SN=SN+1
|
|
14068 000400 XX=XX*4
|
|
14069 000020 ZZ=ZZ+ZZ
|
|
14070 IFE ZZ,<ZZ=-200000>
|
|
14071 042025 201 04 0 00 000400 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14072 042026 201 06 0 00 000020 MOVEI AC,ZZ ;SETUP PLIER
|
|
14073 042027 201 05 0 00 000020 MOVEI AC-1,ZZ ;SETUP PLICAND
|
|
14074 042030 220 06 0 00 000005 IMUL AC,AC-1 ;MULTIPLY ZZ BY ZZ
|
|
14075 042031 312 06 0 00 000004 CAME AC,AC-2 ;TEST PROD=XX
|
|
14076 042032 003 06 0 00 017604 ER3 AC,SN ;IMUL FAILED
|
|
14077 042033 302 05 0 00 000020 CAIE AC-1,ZZ ;WAS C(E) MODIFIED ?
|
|
14078 042034 005 05 0 00 017604 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
14079 042035 321 10 0 00 042025 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
14080
|
|
14081
|
|
14082 017605 SN=SN+1
|
|
14083 002000 XX=XX*4
|
|
14084 000040 ZZ=ZZ+ZZ
|
|
14085 IFE ZZ,<ZZ=-200000>
|
|
14086 042036 201 04 0 00 002000 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14087 042037 201 06 0 00 000040 MOVEI AC,ZZ ;SETUP PLIER
|
|
14088 042040 201 05 0 00 000040 MOVEI AC-1,ZZ ;SETUP PLICAND
|
|
14089 042041 220 06 0 00 000005 IMUL AC,AC-1 ;MULTIPLY ZZ BY ZZ
|
|
14090 042042 312 06 0 00 000004 CAME AC,AC-2 ;TEST PROD=XX
|
|
14091 042043 003 06 0 00 017605 ER3 AC,SN ;IMUL FAILED
|
|
14092 042044 302 05 0 00 000040 CAIE AC-1,ZZ ;WAS C(E) MODIFIED ?
|
|
14093 042045 005 05 0 00 017605 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
14094 042046 321 10 0 00 042036 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
|
|
14095
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 76
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0315
|
|
|
|
14096 ;TEST IMUL IMMEDIATE - TWO POSITIVES
|
|
14097 ;TESTING IS ACCOMPLISHED BY MULTIPLYING
|
|
14098 ;3 X E
|
|
14099 ;PLIER=3
|
|
14100 ;PLICAND=E
|
|
14101 ;PROD=6,11,14,17,22
|
|
14102
|
|
14103 000005 AC=5
|
|
14104 SAVEAC (1,1)^
|
|
14105 042047 201 07 0 00 042047 MOVEI AC+2,. ;SAVE TEST PC
|
|
14106 042050 202 07 0 00 030051 MOVEM AC+2,TESTPC
|
|
14107 042051 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
14108 042052 202 07 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
14109
|
|
14110 017700 SN=17700
|
|
14111 000003 XX=3
|
|
14112 000001 ZZ=1
|
|
14113
|
|
14114 F17700: REPEAT ^D5,<
|
|
14115 SN=SN+1
|
|
14116 XX=XX+3
|
|
14117 ZZ=ZZ+1
|
|
14118 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14119 MOVEI AC,3 ;SETUP PLIER
|
|
14120 IMULI AC,ZZ ;MULTIPLY 3 X E
|
|
14121 CAME AC,AC-2 ;TEST PROD = XX
|
|
14122 ER3 AC,SN ;IMULI FAILED
|
|
14123 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
14124 >
|
|
14125
|
|
14126 017701 SN=SN+1
|
|
14127 000006 XX=XX+3
|
|
14128 000002 ZZ=ZZ+1
|
|
14129 042053 201 03 0 00 000006 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14130 042054 201 05 0 00 000003 MOVEI AC,3 ;SETUP PLIER
|
|
14131 042055 221 05 0 00 000002 IMULI AC,ZZ ;MULTIPLY 3 X E
|
|
14132 042056 312 05 0 00 000003 CAME AC,AC-2 ;TEST PROD = XX
|
|
14133 042057 003 05 0 00 017701 ER3 AC,SN ;IMULI FAILED
|
|
14134 042060 321 07 0 00 042053 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
14135
|
|
14136
|
|
14137 017702 SN=SN+1
|
|
14138 000011 XX=XX+3
|
|
14139 000003 ZZ=ZZ+1
|
|
14140 042061 201 03 0 00 000011 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14141 042062 201 05 0 00 000003 MOVEI AC,3 ;SETUP PLIER
|
|
14142 042063 221 05 0 00 000003 IMULI AC,ZZ ;MULTIPLY 3 X E
|
|
14143 042064 312 05 0 00 000003 CAME AC,AC-2 ;TEST PROD = XX
|
|
14144 042065 003 05 0 00 017702 ER3 AC,SN ;IMULI FAILED
|
|
14145 042066 321 07 0 00 042061 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
14146
|
|
14147
|
|
14148 017703 SN=SN+1
|
|
14149 000014 XX=XX+3
|
|
14150 000004 ZZ=ZZ+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 76-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0316
|
|
|
|
14151 042067 201 03 0 00 000014 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14152 042070 201 05 0 00 000003 MOVEI AC,3 ;SETUP PLIER
|
|
14153 042071 221 05 0 00 000004 IMULI AC,ZZ ;MULTIPLY 3 X E
|
|
14154 042072 312 05 0 00 000003 CAME AC,AC-2 ;TEST PROD = XX
|
|
14155 042073 003 05 0 00 017703 ER3 AC,SN ;IMULI FAILED
|
|
14156 042074 321 07 0 00 042067 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
14157
|
|
14158
|
|
14159 017704 SN=SN+1
|
|
14160 000017 XX=XX+3
|
|
14161 000005 ZZ=ZZ+1
|
|
14162 042075 201 03 0 00 000017 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14163 042076 201 05 0 00 000003 MOVEI AC,3 ;SETUP PLIER
|
|
14164 042077 221 05 0 00 000005 IMULI AC,ZZ ;MULTIPLY 3 X E
|
|
14165 042100 312 05 0 00 000003 CAME AC,AC-2 ;TEST PROD = XX
|
|
14166 042101 003 05 0 00 017704 ER3 AC,SN ;IMULI FAILED
|
|
14167 042102 321 07 0 00 042075 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
14168
|
|
14169
|
|
14170 017705 SN=SN+1
|
|
14171 000022 XX=XX+3
|
|
14172 000006 ZZ=ZZ+1
|
|
14173 042103 201 03 0 00 000022 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14174 042104 201 05 0 00 000003 MOVEI AC,3 ;SETUP PLIER
|
|
14175 042105 221 05 0 00 000006 IMULI AC,ZZ ;MULTIPLY 3 X E
|
|
14176 042106 312 05 0 00 000003 CAME AC,AC-2 ;TEST PROD = XX
|
|
14177 042107 003 05 0 00 017705 ER3 AC,SN ;IMULI FAILED
|
|
14178 042110 321 07 0 00 042103 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
|
|
14179
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 77
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0317
|
|
|
|
14180 ;TEST IMUL MEMORY - TWO NEGATIVES
|
|
14181 ;TESTING IS ACCOMPLISHED BY MULTIPLYING
|
|
14182 ;A NEGATIVE NUMBER BY ITSELF
|
|
14183 ;PLIER=-2,-4,-10,-20,-40
|
|
14184 ;PLICAND=-2,-4,-10,-20,-40
|
|
14185 ;PROD=4,20,100,400,2000
|
|
14186
|
|
14187 000004 AC=4
|
|
14188 SAVEAC (1,1)^
|
|
14189 042111 201 06 0 00 042111 MOVEI AC+2,. ;SAVE TEST PC
|
|
14190 042112 202 06 0 00 030051 MOVEM AC+2,TESTPC
|
|
14191 042113 201 06 0 00 000006 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
14192 042114 202 06 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
14193
|
|
14194 020000 SN=20000
|
|
14195 000001 XX=1
|
|
14196 777777 777777 ZZ=-1
|
|
14197
|
|
14198 F20000: REPEAT ^D5,<
|
|
14199 SN=SN+1
|
|
14200 XX=XX*4
|
|
14201 ZZ=ZZ+ZZ
|
|
14202 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14203 HRROI AC,ZZ ;SETUP PLIER
|
|
14204 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
14205 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
14206 IMULM AC,AC-1 ;MULTIPLY ZZ BY ZZ
|
|
14207 CAME AC-1,AC-2 ;TEST PROD=XX
|
|
14208 ER5 AC-1,SN ;IMULM FAILED
|
|
14209 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
14210 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
14211 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) MODIFIED ?
|
|
14212 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
14213 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
14214 >
|
|
14215
|
|
14216 020001 SN=SN+1
|
|
14217 000004 XX=XX*4
|
|
14218 777777 777776 ZZ=ZZ+ZZ
|
|
14219 042115 201 02 0 00 000004 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14220 042116 561 04 0 00 777776 HRROI AC,ZZ ;SETUP PLIER
|
|
14221 042117 561 03 0 00 777776 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
14222 042120 200 01 0 00 000005 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
14223 042121 222 04 0 00 000003 IMULM AC,AC-1 ;MULTIPLY ZZ BY ZZ
|
|
14224 042122 312 03 0 00 000002 CAME AC-1,AC-2 ;TEST PROD=XX
|
|
14225 042123 005 03 0 00 020001 ER5 AC-1,SN ;IMULM FAILED
|
|
14226 042124 312 04 0 00 044621 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
14227 042125 003 04 0 00 020001 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
14228 042126 312 05 0 00 000001 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) MODIFIED ?
|
|
14229 042127 004 05 0 00 020001 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
14230 042130 321 06 0 00 042115 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
14231
|
|
14232
|
|
14233 020002 SN=SN+1
|
|
14234 000020 XX=XX*4
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 77-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0318
|
|
|
|
14235 777777 777774 ZZ=ZZ+ZZ
|
|
14236 042131 201 02 0 00 000020 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14237 042132 561 04 0 00 777774 HRROI AC,ZZ ;SETUP PLIER
|
|
14238 042133 561 03 0 00 777774 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
14239 042134 200 01 0 00 000005 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
14240 042135 222 04 0 00 000003 IMULM AC,AC-1 ;MULTIPLY ZZ BY ZZ
|
|
14241 042136 312 03 0 00 000002 CAME AC-1,AC-2 ;TEST PROD=XX
|
|
14242 042137 005 03 0 00 020002 ER5 AC-1,SN ;IMULM FAILED
|
|
14243 042140 312 04 0 00 045325 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
14244 042141 003 04 0 00 020002 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
14245 042142 312 05 0 00 000001 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) MODIFIED ?
|
|
14246 042143 004 05 0 00 020002 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
14247 042144 321 06 0 00 042131 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
14248
|
|
14249
|
|
14250 020003 SN=SN+1
|
|
14251 000100 XX=XX*4
|
|
14252 777777 777770 ZZ=ZZ+ZZ
|
|
14253 042145 201 02 0 00 000100 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14254 042146 561 04 0 00 777770 HRROI AC,ZZ ;SETUP PLIER
|
|
14255 042147 561 03 0 00 777770 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
14256 042150 200 01 0 00 000005 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
14257 042151 222 04 0 00 000003 IMULM AC,AC-1 ;MULTIPLY ZZ BY ZZ
|
|
14258 042152 312 03 0 00 000002 CAME AC-1,AC-2 ;TEST PROD=XX
|
|
14259 042153 005 03 0 00 020003 ER5 AC-1,SN ;IMULM FAILED
|
|
14260 042154 312 04 0 00 045305 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
14261 042155 003 04 0 00 020003 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
14262 042156 312 05 0 00 000001 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) MODIFIED ?
|
|
14263 042157 004 05 0 00 020003 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
14264 042160 321 06 0 00 042145 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
14265
|
|
14266
|
|
14267 020004 SN=SN+1
|
|
14268 000400 XX=XX*4
|
|
14269 777777 777760 ZZ=ZZ+ZZ
|
|
14270 042161 201 02 0 00 000400 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14271 042162 561 04 0 00 777760 HRROI AC,ZZ ;SETUP PLIER
|
|
14272 042163 561 03 0 00 777760 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
14273 042164 200 01 0 00 000005 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
14274 042165 222 04 0 00 000003 IMULM AC,AC-1 ;MULTIPLY ZZ BY ZZ
|
|
14275 042166 312 03 0 00 000002 CAME AC-1,AC-2 ;TEST PROD=XX
|
|
14276 042167 005 03 0 00 020004 ER5 AC-1,SN ;IMULM FAILED
|
|
14277 042170 312 04 0 00 045243 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
14278 042171 003 04 0 00 020004 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
14279 042172 312 05 0 00 000001 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) MODIFIED ?
|
|
14280 042173 004 05 0 00 020004 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
14281 042174 321 06 0 00 042161 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
14282
|
|
14283
|
|
14284 020005 SN=SN+1
|
|
14285 002000 XX=XX*4
|
|
14286 777777 777740 ZZ=ZZ+ZZ
|
|
14287 042175 201 02 0 00 002000 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
14288 042176 561 04 0 00 777740 HRROI AC,ZZ ;SETUP PLIER
|
|
14289 042177 561 03 0 00 777740 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 77-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0319
|
|
|
|
14290 042200 200 01 0 00 000005 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
14291 042201 222 04 0 00 000003 IMULM AC,AC-1 ;MULTIPLY ZZ BY ZZ
|
|
14292 042202 312 03 0 00 000002 CAME AC-1,AC-2 ;TEST PROD=XX
|
|
14293 042203 005 03 0 00 020005 ER5 AC-1,SN ;IMULM FAILED
|
|
14294 042204 312 04 0 00 045244 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
14295 042205 003 04 0 00 020005 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
14296 042206 312 05 0 00 000001 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) MODIFIED ?
|
|
14297 042207 004 05 0 00 020005 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
14298 042210 321 06 0 00 042175 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
14299
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 78
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0320
|
|
|
|
14300 ;TEST IMUL BOTH - MULTIPLY BY 0
|
|
14301 ;TESTING IS ACCOMPLISHED BY MULTIPLYING
|
|
14302 ;A NEGATIVE NUMBER BY 0
|
|
14303 ;PLIER=0
|
|
14304 ;PLICAND=-1,-2,-4,-10,-20
|
|
14305 ;PROD=0
|
|
14306
|
|
14307 000005 AC=5
|
|
14308 SAVEAC (1,1)^
|
|
14309 042211 201 07 0 00 042211 MOVEI AC+2,. ;SAVE TEST PC
|
|
14310 042212 202 07 0 00 030051 MOVEM AC+2,TESTPC
|
|
14311 042213 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
14312 042214 202 07 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
14313
|
|
14314 020100 SN=20100
|
|
14315 000000 ZZ=0
|
|
14316
|
|
14317 F20100: REPEAT ^D5,<
|
|
14318 SN=SN+1
|
|
14319 ZZ=ZZ+ZZ
|
|
14320 IFE ZZ,<ZZ=-1>
|
|
14321 SETZ AC, ;SETUP PLIER
|
|
14322 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
14323 IMULB AC,AC-1 ;MULTIPLY ZZ BY 0
|
|
14324 SKIPE AC ;TEST PROD=0
|
|
14325 ER3 AC,SN
|
|
14326 SKIPE AC-1 ;TEST C(AC) = C(E)
|
|
14327 ER5 AC-1,SN ;IMULB FAILED
|
|
14328 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14329 >
|
|
14330
|
|
14331 020101 SN=SN+1
|
|
14332 000000 ZZ=ZZ+ZZ
|
|
14333 777777 777777 IFE ZZ,<ZZ=-1>
|
|
14334 042215 400 05 0 00 000000 SETZ AC, ;SETUP PLIER
|
|
14335 042216 561 04 0 00 777777 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
14336 042217 223 05 0 00 000004 IMULB AC,AC-1 ;MULTIPLY ZZ BY 0
|
|
14337 042220 332 00 0 00 000005 SKIPE AC ;TEST PROD=0
|
|
14338 042221 003 05 0 00 020101 ER3 AC,SN
|
|
14339 042222 332 00 0 00 000004 SKIPE AC-1 ;TEST C(AC) = C(E)
|
|
14340 042223 005 04 0 00 020101 ER5 AC-1,SN ;IMULB FAILED
|
|
14341 042224 321 07 0 00 042215 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14342
|
|
14343
|
|
14344 020102 SN=SN+1
|
|
14345 777777 777776 ZZ=ZZ+ZZ
|
|
14346 IFE ZZ,<ZZ=-1>
|
|
14347 042225 400 05 0 00 000000 SETZ AC, ;SETUP PLIER
|
|
14348 042226 561 04 0 00 777776 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
14349 042227 223 05 0 00 000004 IMULB AC,AC-1 ;MULTIPLY ZZ BY 0
|
|
14350 042230 332 00 0 00 000005 SKIPE AC ;TEST PROD=0
|
|
14351 042231 003 05 0 00 020102 ER3 AC,SN
|
|
14352 042232 332 00 0 00 000004 SKIPE AC-1 ;TEST C(AC) = C(E)
|
|
14353 042233 005 04 0 00 020102 ER5 AC-1,SN ;IMULB FAILED
|
|
14354 042234 321 07 0 00 042225 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 78-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0321
|
|
|
|
14355
|
|
14356
|
|
14357 020103 SN=SN+1
|
|
14358 777777 777774 ZZ=ZZ+ZZ
|
|
14359 IFE ZZ,<ZZ=-1>
|
|
14360 042235 400 05 0 00 000000 SETZ AC, ;SETUP PLIER
|
|
14361 042236 561 04 0 00 777774 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
14362 042237 223 05 0 00 000004 IMULB AC,AC-1 ;MULTIPLY ZZ BY 0
|
|
14363 042240 332 00 0 00 000005 SKIPE AC ;TEST PROD=0
|
|
14364 042241 003 05 0 00 020103 ER3 AC,SN
|
|
14365 042242 332 00 0 00 000004 SKIPE AC-1 ;TEST C(AC) = C(E)
|
|
14366 042243 005 04 0 00 020103 ER5 AC-1,SN ;IMULB FAILED
|
|
14367 042244 321 07 0 00 042235 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14368
|
|
14369
|
|
14370 020104 SN=SN+1
|
|
14371 777777 777770 ZZ=ZZ+ZZ
|
|
14372 IFE ZZ,<ZZ=-1>
|
|
14373 042245 400 05 0 00 000000 SETZ AC, ;SETUP PLIER
|
|
14374 042246 561 04 0 00 777770 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
14375 042247 223 05 0 00 000004 IMULB AC,AC-1 ;MULTIPLY ZZ BY 0
|
|
14376 042250 332 00 0 00 000005 SKIPE AC ;TEST PROD=0
|
|
14377 042251 003 05 0 00 020104 ER3 AC,SN
|
|
14378 042252 332 00 0 00 000004 SKIPE AC-1 ;TEST C(AC) = C(E)
|
|
14379 042253 005 04 0 00 020104 ER5 AC-1,SN ;IMULB FAILED
|
|
14380 042254 321 07 0 00 042245 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14381
|
|
14382
|
|
14383 020105 SN=SN+1
|
|
14384 777777 777760 ZZ=ZZ+ZZ
|
|
14385 IFE ZZ,<ZZ=-1>
|
|
14386 042255 400 05 0 00 000000 SETZ AC, ;SETUP PLIER
|
|
14387 042256 561 04 0 00 777760 HRROI AC-1,ZZ ;SETUP PLICAND
|
|
14388 042257 223 05 0 00 000004 IMULB AC,AC-1 ;MULTIPLY ZZ BY 0
|
|
14389 042260 332 00 0 00 000005 SKIPE AC ;TEST PROD=0
|
|
14390 042261 003 05 0 00 020105 ER3 AC,SN
|
|
14391 042262 332 00 0 00 000004 SKIPE AC-1 ;TEST C(AC) = C(E)
|
|
14392 042263 005 04 0 00 020105 ER5 AC-1,SN ;IMULB FAILED
|
|
14393 042264 321 07 0 00 042255 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14394
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 79
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0322
|
|
|
|
14395 ;TEST IDIV DIRECT - TWO POSITIVES
|
|
14396 ;TESTING IS ACCOMPLISHED BY
|
|
14397 ;DIVIDING A NUMBER BY ITSELF
|
|
14398 ;DVND=1,2,4, ETC
|
|
14399 ;DVSR=1,2,4, ETC
|
|
14400 ;AN ERROR WILL OCCUR IF QUOT
|
|
14401 ;DIFFERS FROM 1
|
|
14402 ;AN ERROR WILL OCCUR IF REMD
|
|
14403 ;DIFFERS FROM 0
|
|
14404
|
|
14405 000005 AC=5
|
|
14406 SAVEAC (1,1)^
|
|
14407 042265 201 07 0 00 042265 MOVEI AC+2,. ;SAVE TEST PC
|
|
14408 042266 202 07 0 00 030051 MOVEM AC+2,TESTPC
|
|
14409 042267 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
14410 042270 202 07 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
14411
|
|
14412 020200 SN=20200
|
|
14413 000000 ZZ=0
|
|
14414
|
|
14415 F20200: REPEAT ^D18,<
|
|
14416 SN=SN+1
|
|
14417 ZZ=ZZ+ZZ
|
|
14418 IFE ZZ,<ZZ=1>
|
|
14419 MOVEI AC,ZZ ;SETUP DVND
|
|
14420 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14421 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14422 CAIE AC,1 ;TEST QUOT=1
|
|
14423 ER3 AC,SN
|
|
14424 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14425 ER4 AC+1,SN ;IDIV FAILED
|
|
14426 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14427 >
|
|
14428
|
|
14429 020201 SN=SN+1
|
|
14430 000000 ZZ=ZZ+ZZ
|
|
14431 000001 IFE ZZ,<ZZ=1>
|
|
14432 042271 201 05 0 00 000001 MOVEI AC,ZZ ;SETUP DVND
|
|
14433 042272 201 04 0 00 000001 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14434 042273 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14435 042274 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14436 042275 003 05 0 00 020201 ER3 AC,SN
|
|
14437 042276 322 06 0 00 042300 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14438 042277 004 06 0 00 020201 ER4 AC+1,SN ;IDIV FAILED
|
|
14439 042300 321 07 0 00 042271 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14440
|
|
14441
|
|
14442 020202 SN=SN+1
|
|
14443 000002 ZZ=ZZ+ZZ
|
|
14444 IFE ZZ,<ZZ=1>
|
|
14445 042301 201 05 0 00 000002 MOVEI AC,ZZ ;SETUP DVND
|
|
14446 042302 201 04 0 00 000002 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14447 042303 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14448 042304 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14449 042305 003 05 0 00 020202 ER3 AC,SN
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 79-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0323
|
|
|
|
14450 042306 322 06 0 00 042310 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14451 042307 004 06 0 00 020202 ER4 AC+1,SN ;IDIV FAILED
|
|
14452 042310 321 07 0 00 042301 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14453
|
|
14454
|
|
14455 020203 SN=SN+1
|
|
14456 000004 ZZ=ZZ+ZZ
|
|
14457 IFE ZZ,<ZZ=1>
|
|
14458 042311 201 05 0 00 000004 MOVEI AC,ZZ ;SETUP DVND
|
|
14459 042312 201 04 0 00 000004 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14460 042313 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14461 042314 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14462 042315 003 05 0 00 020203 ER3 AC,SN
|
|
14463 042316 322 06 0 00 042320 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14464 042317 004 06 0 00 020203 ER4 AC+1,SN ;IDIV FAILED
|
|
14465 042320 321 07 0 00 042311 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14466
|
|
14467
|
|
14468 020204 SN=SN+1
|
|
14469 000010 ZZ=ZZ+ZZ
|
|
14470 IFE ZZ,<ZZ=1>
|
|
14471 042321 201 05 0 00 000010 MOVEI AC,ZZ ;SETUP DVND
|
|
14472 042322 201 04 0 00 000010 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14473 042323 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14474 042324 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14475 042325 003 05 0 00 020204 ER3 AC,SN
|
|
14476 042326 322 06 0 00 042330 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14477 042327 004 06 0 00 020204 ER4 AC+1,SN ;IDIV FAILED
|
|
14478 042330 321 07 0 00 042321 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14479
|
|
14480
|
|
14481 020205 SN=SN+1
|
|
14482 000020 ZZ=ZZ+ZZ
|
|
14483 IFE ZZ,<ZZ=1>
|
|
14484 042331 201 05 0 00 000020 MOVEI AC,ZZ ;SETUP DVND
|
|
14485 042332 201 04 0 00 000020 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14486 042333 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14487 042334 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14488 042335 003 05 0 00 020205 ER3 AC,SN
|
|
14489 042336 322 06 0 00 042340 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14490 042337 004 06 0 00 020205 ER4 AC+1,SN ;IDIV FAILED
|
|
14491 042340 321 07 0 00 042331 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14492
|
|
14493
|
|
14494 020206 SN=SN+1
|
|
14495 000040 ZZ=ZZ+ZZ
|
|
14496 IFE ZZ,<ZZ=1>
|
|
14497 042341 201 05 0 00 000040 MOVEI AC,ZZ ;SETUP DVND
|
|
14498 042342 201 04 0 00 000040 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14499 042343 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14500 042344 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14501 042345 003 05 0 00 020206 ER3 AC,SN
|
|
14502 042346 322 06 0 00 042350 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14503 042347 004 06 0 00 020206 ER4 AC+1,SN ;IDIV FAILED
|
|
14504 042350 321 07 0 00 042341 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 79-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0324
|
|
|
|
14505
|
|
14506
|
|
14507 020207 SN=SN+1
|
|
14508 000100 ZZ=ZZ+ZZ
|
|
14509 IFE ZZ,<ZZ=1>
|
|
14510 042351 201 05 0 00 000100 MOVEI AC,ZZ ;SETUP DVND
|
|
14511 042352 201 04 0 00 000100 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14512 042353 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14513 042354 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14514 042355 003 05 0 00 020207 ER3 AC,SN
|
|
14515 042356 322 06 0 00 042360 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14516 042357 004 06 0 00 020207 ER4 AC+1,SN ;IDIV FAILED
|
|
14517 042360 321 07 0 00 042351 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14518
|
|
14519
|
|
14520 020210 SN=SN+1
|
|
14521 000200 ZZ=ZZ+ZZ
|
|
14522 IFE ZZ,<ZZ=1>
|
|
14523 042361 201 05 0 00 000200 MOVEI AC,ZZ ;SETUP DVND
|
|
14524 042362 201 04 0 00 000200 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14525 042363 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14526 042364 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14527 042365 003 05 0 00 020210 ER3 AC,SN
|
|
14528 042366 322 06 0 00 042370 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14529 042367 004 06 0 00 020210 ER4 AC+1,SN ;IDIV FAILED
|
|
14530 042370 321 07 0 00 042361 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14531
|
|
14532
|
|
14533 020211 SN=SN+1
|
|
14534 000400 ZZ=ZZ+ZZ
|
|
14535 IFE ZZ,<ZZ=1>
|
|
14536 042371 201 05 0 00 000400 MOVEI AC,ZZ ;SETUP DVND
|
|
14537 042372 201 04 0 00 000400 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14538 042373 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14539 042374 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14540 042375 003 05 0 00 020211 ER3 AC,SN
|
|
14541 042376 322 06 0 00 042400 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14542 042377 004 06 0 00 020211 ER4 AC+1,SN ;IDIV FAILED
|
|
14543 042400 321 07 0 00 042371 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14544
|
|
14545
|
|
14546 020212 SN=SN+1
|
|
14547 001000 ZZ=ZZ+ZZ
|
|
14548 IFE ZZ,<ZZ=1>
|
|
14549 042401 201 05 0 00 001000 MOVEI AC,ZZ ;SETUP DVND
|
|
14550 042402 201 04 0 00 001000 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14551 042403 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14552 042404 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14553 042405 003 05 0 00 020212 ER3 AC,SN
|
|
14554 042406 322 06 0 00 042410 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14555 042407 004 06 0 00 020212 ER4 AC+1,SN ;IDIV FAILED
|
|
14556 042410 321 07 0 00 042401 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14557
|
|
14558
|
|
14559 020213 SN=SN+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 79-3
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0325
|
|
|
|
14560 002000 ZZ=ZZ+ZZ
|
|
14561 IFE ZZ,<ZZ=1>
|
|
14562 042411 201 05 0 00 002000 MOVEI AC,ZZ ;SETUP DVND
|
|
14563 042412 201 04 0 00 002000 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14564 042413 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14565 042414 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14566 042415 003 05 0 00 020213 ER3 AC,SN
|
|
14567 042416 322 06 0 00 042420 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14568 042417 004 06 0 00 020213 ER4 AC+1,SN ;IDIV FAILED
|
|
14569 042420 321 07 0 00 042411 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14570
|
|
14571
|
|
14572 020214 SN=SN+1
|
|
14573 004000 ZZ=ZZ+ZZ
|
|
14574 IFE ZZ,<ZZ=1>
|
|
14575 042421 201 05 0 00 004000 MOVEI AC,ZZ ;SETUP DVND
|
|
14576 042422 201 04 0 00 004000 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14577 042423 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14578 042424 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14579 042425 003 05 0 00 020214 ER3 AC,SN
|
|
14580 042426 322 06 0 00 042430 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14581 042427 004 06 0 00 020214 ER4 AC+1,SN ;IDIV FAILED
|
|
14582 042430 321 07 0 00 042421 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14583
|
|
14584
|
|
14585 020215 SN=SN+1
|
|
14586 010000 ZZ=ZZ+ZZ
|
|
14587 IFE ZZ,<ZZ=1>
|
|
14588 042431 201 05 0 00 010000 MOVEI AC,ZZ ;SETUP DVND
|
|
14589 042432 201 04 0 00 010000 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14590 042433 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14591 042434 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14592 042435 003 05 0 00 020215 ER3 AC,SN
|
|
14593 042436 322 06 0 00 042440 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14594 042437 004 06 0 00 020215 ER4 AC+1,SN ;IDIV FAILED
|
|
14595 042440 321 07 0 00 042431 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14596
|
|
14597
|
|
14598 020216 SN=SN+1
|
|
14599 020000 ZZ=ZZ+ZZ
|
|
14600 IFE ZZ,<ZZ=1>
|
|
14601 042441 201 05 0 00 020000 MOVEI AC,ZZ ;SETUP DVND
|
|
14602 042442 201 04 0 00 020000 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14603 042443 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14604 042444 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14605 042445 003 05 0 00 020216 ER3 AC,SN
|
|
14606 042446 322 06 0 00 042450 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14607 042447 004 06 0 00 020216 ER4 AC+1,SN ;IDIV FAILED
|
|
14608 042450 321 07 0 00 042441 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14609
|
|
14610
|
|
14611 020217 SN=SN+1
|
|
14612 040000 ZZ=ZZ+ZZ
|
|
14613 IFE ZZ,<ZZ=1>
|
|
14614 042451 201 05 0 00 040000 MOVEI AC,ZZ ;SETUP DVND
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 79-4
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0326
|
|
|
|
14615 042452 201 04 0 00 040000 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14616 042453 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14617 042454 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14618 042455 003 05 0 00 020217 ER3 AC,SN
|
|
14619 042456 322 06 0 00 042460 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14620 042457 004 06 0 00 020217 ER4 AC+1,SN ;IDIV FAILED
|
|
14621 042460 321 07 0 00 042451 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14622
|
|
14623
|
|
14624 020220 SN=SN+1
|
|
14625 100000 ZZ=ZZ+ZZ
|
|
14626 IFE ZZ,<ZZ=1>
|
|
14627 042461 201 05 0 00 100000 MOVEI AC,ZZ ;SETUP DVND
|
|
14628 042462 201 04 0 00 100000 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14629 042463 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14630 042464 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14631 042465 003 05 0 00 020220 ER3 AC,SN
|
|
14632 042466 322 06 0 00 042470 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14633 042467 004 06 0 00 020220 ER4 AC+1,SN ;IDIV FAILED
|
|
14634 042470 321 07 0 00 042461 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14635
|
|
14636
|
|
14637 020221 SN=SN+1
|
|
14638 200000 ZZ=ZZ+ZZ
|
|
14639 IFE ZZ,<ZZ=1>
|
|
14640 042471 201 05 0 00 200000 MOVEI AC,ZZ ;SETUP DVND
|
|
14641 042472 201 04 0 00 200000 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14642 042473 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14643 042474 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14644 042475 003 05 0 00 020221 ER3 AC,SN
|
|
14645 042476 322 06 0 00 042500 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14646 042477 004 06 0 00 020221 ER4 AC+1,SN ;IDIV FAILED
|
|
14647 042500 321 07 0 00 042471 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14648
|
|
14649
|
|
14650 020222 SN=SN+1
|
|
14651 400000 ZZ=ZZ+ZZ
|
|
14652 IFE ZZ,<ZZ=1>
|
|
14653 042501 201 05 0 00 400000 MOVEI AC,ZZ ;SETUP DVND
|
|
14654 042502 201 04 0 00 400000 MOVEI AC-1,ZZ ;SETUP DVSR
|
|
14655 042503 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14656 042504 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14657 042505 003 05 0 00 020222 ER3 AC,SN
|
|
14658 042506 322 06 0 00 042510 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14659 042507 004 06 0 00 020222 ER4 AC+1,SN ;IDIV FAILED
|
|
14660 042510 321 07 0 00 042501 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14661
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 80
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0327
|
|
|
|
14662 020300 SN=20300
|
|
14663 000000 ZZ=0
|
|
14664
|
|
14665 F20300: REPEAT ^D17,<
|
|
14666 SN=SN+1
|
|
14667 ZZ=ZZ+ZZ
|
|
14668 IFE ZZ,<ZZ=1>
|
|
14669 MOVSI AC,ZZ ;SETUP DVND
|
|
14670 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
14671 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14672 CAIE AC,1 ;TEST QUOT=1
|
|
14673 ER3 AC,SN
|
|
14674 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14675 ER4 AC+1,SN ;IDIV FAILED
|
|
14676 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14677 >
|
|
14678
|
|
14679 020301 SN=SN+1
|
|
14680 000000 ZZ=ZZ+ZZ
|
|
14681 000001 IFE ZZ,<ZZ=1>
|
|
14682 042511 205 05 0 00 000001 MOVSI AC,ZZ ;SETUP DVND
|
|
14683 042512 205 04 0 00 000001 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
14684 042513 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14685 042514 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14686 042515 003 05 0 00 020301 ER3 AC,SN
|
|
14687 042516 322 06 0 00 042520 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14688 042517 004 06 0 00 020301 ER4 AC+1,SN ;IDIV FAILED
|
|
14689 042520 321 07 0 00 042511 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14690
|
|
14691
|
|
14692 020302 SN=SN+1
|
|
14693 000002 ZZ=ZZ+ZZ
|
|
14694 IFE ZZ,<ZZ=1>
|
|
14695 042521 205 05 0 00 000002 MOVSI AC,ZZ ;SETUP DVND
|
|
14696 042522 205 04 0 00 000002 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
14697 042523 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14698 042524 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14699 042525 003 05 0 00 020302 ER3 AC,SN
|
|
14700 042526 322 06 0 00 042530 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14701 042527 004 06 0 00 020302 ER4 AC+1,SN ;IDIV FAILED
|
|
14702 042530 321 07 0 00 042521 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14703
|
|
14704
|
|
14705 020303 SN=SN+1
|
|
14706 000004 ZZ=ZZ+ZZ
|
|
14707 IFE ZZ,<ZZ=1>
|
|
14708 042531 205 05 0 00 000004 MOVSI AC,ZZ ;SETUP DVND
|
|
14709 042532 205 04 0 00 000004 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
14710 042533 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14711 042534 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14712 042535 003 05 0 00 020303 ER3 AC,SN
|
|
14713 042536 322 06 0 00 042540 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14714 042537 004 06 0 00 020303 ER4 AC+1,SN ;IDIV FAILED
|
|
14715 042540 321 07 0 00 042531 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14716
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 80-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0328
|
|
|
|
14717
|
|
14718 020304 SN=SN+1
|
|
14719 000010 ZZ=ZZ+ZZ
|
|
14720 IFE ZZ,<ZZ=1>
|
|
14721 042541 205 05 0 00 000010 MOVSI AC,ZZ ;SETUP DVND
|
|
14722 042542 205 04 0 00 000010 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
14723 042543 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14724 042544 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14725 042545 003 05 0 00 020304 ER3 AC,SN
|
|
14726 042546 322 06 0 00 042550 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14727 042547 004 06 0 00 020304 ER4 AC+1,SN ;IDIV FAILED
|
|
14728 042550 321 07 0 00 042541 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14729
|
|
14730
|
|
14731 020305 SN=SN+1
|
|
14732 000020 ZZ=ZZ+ZZ
|
|
14733 IFE ZZ,<ZZ=1>
|
|
14734 042551 205 05 0 00 000020 MOVSI AC,ZZ ;SETUP DVND
|
|
14735 042552 205 04 0 00 000020 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
14736 042553 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14737 042554 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14738 042555 003 05 0 00 020305 ER3 AC,SN
|
|
14739 042556 322 06 0 00 042560 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14740 042557 004 06 0 00 020305 ER4 AC+1,SN ;IDIV FAILED
|
|
14741 042560 321 07 0 00 042551 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14742
|
|
14743
|
|
14744 020306 SN=SN+1
|
|
14745 000040 ZZ=ZZ+ZZ
|
|
14746 IFE ZZ,<ZZ=1>
|
|
14747 042561 205 05 0 00 000040 MOVSI AC,ZZ ;SETUP DVND
|
|
14748 042562 205 04 0 00 000040 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
14749 042563 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14750 042564 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14751 042565 003 05 0 00 020306 ER3 AC,SN
|
|
14752 042566 322 06 0 00 042570 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14753 042567 004 06 0 00 020306 ER4 AC+1,SN ;IDIV FAILED
|
|
14754 042570 321 07 0 00 042561 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14755
|
|
14756
|
|
14757 020307 SN=SN+1
|
|
14758 000100 ZZ=ZZ+ZZ
|
|
14759 IFE ZZ,<ZZ=1>
|
|
14760 042571 205 05 0 00 000100 MOVSI AC,ZZ ;SETUP DVND
|
|
14761 042572 205 04 0 00 000100 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
14762 042573 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14763 042574 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14764 042575 003 05 0 00 020307 ER3 AC,SN
|
|
14765 042576 322 06 0 00 042600 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14766 042577 004 06 0 00 020307 ER4 AC+1,SN ;IDIV FAILED
|
|
14767 042600 321 07 0 00 042571 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14768
|
|
14769
|
|
14770 020310 SN=SN+1
|
|
14771 000200 ZZ=ZZ+ZZ
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 80-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0329
|
|
|
|
14772 IFE ZZ,<ZZ=1>
|
|
14773 042601 205 05 0 00 000200 MOVSI AC,ZZ ;SETUP DVND
|
|
14774 042602 205 04 0 00 000200 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
14775 042603 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14776 042604 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14777 042605 003 05 0 00 020310 ER3 AC,SN
|
|
14778 042606 322 06 0 00 042610 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14779 042607 004 06 0 00 020310 ER4 AC+1,SN ;IDIV FAILED
|
|
14780 042610 321 07 0 00 042601 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14781
|
|
14782
|
|
14783 020311 SN=SN+1
|
|
14784 000400 ZZ=ZZ+ZZ
|
|
14785 IFE ZZ,<ZZ=1>
|
|
14786 042611 205 05 0 00 000400 MOVSI AC,ZZ ;SETUP DVND
|
|
14787 042612 205 04 0 00 000400 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
14788 042613 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14789 042614 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14790 042615 003 05 0 00 020311 ER3 AC,SN
|
|
14791 042616 322 06 0 00 042620 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14792 042617 004 06 0 00 020311 ER4 AC+1,SN ;IDIV FAILED
|
|
14793 042620 321 07 0 00 042611 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14794
|
|
14795
|
|
14796 020312 SN=SN+1
|
|
14797 001000 ZZ=ZZ+ZZ
|
|
14798 IFE ZZ,<ZZ=1>
|
|
14799 042621 205 05 0 00 001000 MOVSI AC,ZZ ;SETUP DVND
|
|
14800 042622 205 04 0 00 001000 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
14801 042623 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14802 042624 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14803 042625 003 05 0 00 020312 ER3 AC,SN
|
|
14804 042626 322 06 0 00 042630 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14805 042627 004 06 0 00 020312 ER4 AC+1,SN ;IDIV FAILED
|
|
14806 042630 321 07 0 00 042621 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14807
|
|
14808
|
|
14809 020313 SN=SN+1
|
|
14810 002000 ZZ=ZZ+ZZ
|
|
14811 IFE ZZ,<ZZ=1>
|
|
14812 042631 205 05 0 00 002000 MOVSI AC,ZZ ;SETUP DVND
|
|
14813 042632 205 04 0 00 002000 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
14814 042633 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14815 042634 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14816 042635 003 05 0 00 020313 ER3 AC,SN
|
|
14817 042636 322 06 0 00 042640 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14818 042637 004 06 0 00 020313 ER4 AC+1,SN ;IDIV FAILED
|
|
14819 042640 321 07 0 00 042631 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14820
|
|
14821
|
|
14822 020314 SN=SN+1
|
|
14823 004000 ZZ=ZZ+ZZ
|
|
14824 IFE ZZ,<ZZ=1>
|
|
14825 042641 205 05 0 00 004000 MOVSI AC,ZZ ;SETUP DVND
|
|
14826 042642 205 04 0 00 004000 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 80-3
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0330
|
|
|
|
14827 042643 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14828 042644 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14829 042645 003 05 0 00 020314 ER3 AC,SN
|
|
14830 042646 322 06 0 00 042650 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14831 042647 004 06 0 00 020314 ER4 AC+1,SN ;IDIV FAILED
|
|
14832 042650 321 07 0 00 042641 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14833
|
|
14834
|
|
14835 020315 SN=SN+1
|
|
14836 010000 ZZ=ZZ+ZZ
|
|
14837 IFE ZZ,<ZZ=1>
|
|
14838 042651 205 05 0 00 010000 MOVSI AC,ZZ ;SETUP DVND
|
|
14839 042652 205 04 0 00 010000 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
14840 042653 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14841 042654 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14842 042655 003 05 0 00 020315 ER3 AC,SN
|
|
14843 042656 322 06 0 00 042660 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14844 042657 004 06 0 00 020315 ER4 AC+1,SN ;IDIV FAILED
|
|
14845 042660 321 07 0 00 042651 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14846
|
|
14847
|
|
14848 020316 SN=SN+1
|
|
14849 020000 ZZ=ZZ+ZZ
|
|
14850 IFE ZZ,<ZZ=1>
|
|
14851 042661 205 05 0 00 020000 MOVSI AC,ZZ ;SETUP DVND
|
|
14852 042662 205 04 0 00 020000 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
14853 042663 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14854 042664 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14855 042665 003 05 0 00 020316 ER3 AC,SN
|
|
14856 042666 322 06 0 00 042670 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14857 042667 004 06 0 00 020316 ER4 AC+1,SN ;IDIV FAILED
|
|
14858 042670 321 07 0 00 042661 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14859
|
|
14860
|
|
14861 020317 SN=SN+1
|
|
14862 040000 ZZ=ZZ+ZZ
|
|
14863 IFE ZZ,<ZZ=1>
|
|
14864 042671 205 05 0 00 040000 MOVSI AC,ZZ ;SETUP DVND
|
|
14865 042672 205 04 0 00 040000 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
14866 042673 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14867 042674 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14868 042675 003 05 0 00 020317 ER3 AC,SN
|
|
14869 042676 322 06 0 00 042700 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14870 042677 004 06 0 00 020317 ER4 AC+1,SN ;IDIV FAILED
|
|
14871 042700 321 07 0 00 042671 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14872
|
|
14873
|
|
14874 020320 SN=SN+1
|
|
14875 100000 ZZ=ZZ+ZZ
|
|
14876 IFE ZZ,<ZZ=1>
|
|
14877 042701 205 05 0 00 100000 MOVSI AC,ZZ ;SETUP DVND
|
|
14878 042702 205 04 0 00 100000 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
14879 042703 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14880 042704 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14881 042705 003 05 0 00 020320 ER3 AC,SN
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 80-4
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0331
|
|
|
|
14882 042706 322 06 0 00 042710 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14883 042707 004 06 0 00 020320 ER4 AC+1,SN ;IDIV FAILED
|
|
14884 042710 321 07 0 00 042701 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14885
|
|
14886
|
|
14887 020321 SN=SN+1
|
|
14888 200000 ZZ=ZZ+ZZ
|
|
14889 IFE ZZ,<ZZ=1>
|
|
14890 042711 205 05 0 00 200000 MOVSI AC,ZZ ;SETUP DVND
|
|
14891 042712 205 04 0 00 200000 MOVSI AC-1,ZZ ;SETUP DVSR
|
|
14892 042713 230 05 0 00 000004 IDIV AC,AC-1 ;DIVIDE ZZ BY ZZ
|
|
14893 042714 302 05 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
14894 042715 003 05 0 00 020321 ER3 AC,SN
|
|
14895 042716 322 06 0 00 042720 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14896 042717 004 06 0 00 020321 ER4 AC+1,SN ;IDIV FAILED
|
|
14897 042720 321 07 0 00 042711 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
14898
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 81
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0332
|
|
|
|
14899 ;TEST IDIV DIRECT - TWO POSITIVES
|
|
14900 ;TESTING IS ACCOMPLISHED BY
|
|
14901 ;DIVIDING AN EVEN NUMBER BY 1
|
|
14902 ;DVND=1,2,4 ETC
|
|
14903 ;DVSR=1
|
|
14904 ;AN ERROR WILL OCCUR IF QUOT
|
|
14905 ;DIFFERS FROM DVND
|
|
14906 ;AN ERROR WILL OCCUR IF REMD
|
|
14907 ;DIFFERS FROM 0
|
|
14908
|
|
14909 000013 AC=13
|
|
14910 SAVEAC (1,1)^
|
|
14911 042721 201 15 0 00 042721 MOVEI AC+2,. ;SAVE TEST PC
|
|
14912 042722 202 15 0 00 030051 MOVEM AC+2,TESTPC
|
|
14913 042723 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
14914 042724 202 15 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
14915
|
|
14916 020400 SN=20400
|
|
14917 000000 ZZ=0
|
|
14918
|
|
14919 F20400: REPEAT ^D18,<
|
|
14920 SN=SN+1
|
|
14921 ZZ=ZZ+ZZ
|
|
14922 IFE ZZ,<ZZ=1>
|
|
14923 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
14924 MOVEI AC,ZZ ;SETUP DVND
|
|
14925 MOVEI AC-1,1 ;SETUP DVSR
|
|
14926 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
14927 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
14928 ER3 AC,SN
|
|
14929 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14930 ER4 AC+1,SN ;IDIV FAILED
|
|
14931 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
14932 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
14933 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
14934 >
|
|
14935
|
|
14936 020401 SN=SN+1
|
|
14937 000000 ZZ=ZZ+ZZ
|
|
14938 000001 IFE ZZ,<ZZ=1>
|
|
14939 042725 201 11 0 00 000001 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
14940 042726 201 13 0 00 000001 MOVEI AC,ZZ ;SETUP DVND
|
|
14941 042727 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
14942 042730 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
14943 042731 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
14944 042732 003 13 0 00 020401 ER3 AC,SN
|
|
14945 042733 322 14 0 00 042735 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14946 042734 004 14 0 00 020401 ER4 AC+1,SN ;IDIV FAILED
|
|
14947 042735 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
14948 042736 005 12 0 00 020401 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
14949 042737 321 15 0 00 042725 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
14950
|
|
14951
|
|
14952 020402 SN=SN+1
|
|
14953 000002 ZZ=ZZ+ZZ
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 81-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0333
|
|
|
|
14954 IFE ZZ,<ZZ=1>
|
|
14955 042740 201 11 0 00 000002 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
14956 042741 201 13 0 00 000002 MOVEI AC,ZZ ;SETUP DVND
|
|
14957 042742 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
14958 042743 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
14959 042744 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
14960 042745 003 13 0 00 020402 ER3 AC,SN
|
|
14961 042746 322 14 0 00 042750 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14962 042747 004 14 0 00 020402 ER4 AC+1,SN ;IDIV FAILED
|
|
14963 042750 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
14964 042751 005 12 0 00 020402 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
14965 042752 321 15 0 00 042740 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
14966
|
|
14967
|
|
14968 020403 SN=SN+1
|
|
14969 000004 ZZ=ZZ+ZZ
|
|
14970 IFE ZZ,<ZZ=1>
|
|
14971 042753 201 11 0 00 000004 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
14972 042754 201 13 0 00 000004 MOVEI AC,ZZ ;SETUP DVND
|
|
14973 042755 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
14974 042756 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
14975 042757 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
14976 042760 003 13 0 00 020403 ER3 AC,SN
|
|
14977 042761 322 14 0 00 042763 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14978 042762 004 14 0 00 020403 ER4 AC+1,SN ;IDIV FAILED
|
|
14979 042763 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
14980 042764 005 12 0 00 020403 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
14981 042765 321 15 0 00 042753 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
14982
|
|
14983
|
|
14984 020404 SN=SN+1
|
|
14985 000010 ZZ=ZZ+ZZ
|
|
14986 IFE ZZ,<ZZ=1>
|
|
14987 042766 201 11 0 00 000010 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
14988 042767 201 13 0 00 000010 MOVEI AC,ZZ ;SETUP DVND
|
|
14989 042770 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
14990 042771 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
14991 042772 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
14992 042773 003 13 0 00 020404 ER3 AC,SN
|
|
14993 042774 322 14 0 00 042776 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
14994 042775 004 14 0 00 020404 ER4 AC+1,SN ;IDIV FAILED
|
|
14995 042776 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
14996 042777 005 12 0 00 020404 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
14997 043000 321 15 0 00 042766 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
14998
|
|
14999
|
|
15000 020405 SN=SN+1
|
|
15001 000020 ZZ=ZZ+ZZ
|
|
15002 IFE ZZ,<ZZ=1>
|
|
15003 043001 201 11 0 00 000020 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15004 043002 201 13 0 00 000020 MOVEI AC,ZZ ;SETUP DVND
|
|
15005 043003 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15006 043004 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15007 043005 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15008 043006 003 13 0 00 020405 ER3 AC,SN
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 81-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0334
|
|
|
|
15009 043007 322 14 0 00 043011 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15010 043010 004 14 0 00 020405 ER4 AC+1,SN ;IDIV FAILED
|
|
15011 043011 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15012 043012 005 12 0 00 020405 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15013 043013 321 15 0 00 043001 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15014
|
|
15015
|
|
15016 020406 SN=SN+1
|
|
15017 000040 ZZ=ZZ+ZZ
|
|
15018 IFE ZZ,<ZZ=1>
|
|
15019 043014 201 11 0 00 000040 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15020 043015 201 13 0 00 000040 MOVEI AC,ZZ ;SETUP DVND
|
|
15021 043016 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15022 043017 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15023 043020 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15024 043021 003 13 0 00 020406 ER3 AC,SN
|
|
15025 043022 322 14 0 00 043024 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15026 043023 004 14 0 00 020406 ER4 AC+1,SN ;IDIV FAILED
|
|
15027 043024 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15028 043025 005 12 0 00 020406 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15029 043026 321 15 0 00 043014 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15030
|
|
15031
|
|
15032 020407 SN=SN+1
|
|
15033 000100 ZZ=ZZ+ZZ
|
|
15034 IFE ZZ,<ZZ=1>
|
|
15035 043027 201 11 0 00 000100 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15036 043030 201 13 0 00 000100 MOVEI AC,ZZ ;SETUP DVND
|
|
15037 043031 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15038 043032 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15039 043033 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15040 043034 003 13 0 00 020407 ER3 AC,SN
|
|
15041 043035 322 14 0 00 043037 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15042 043036 004 14 0 00 020407 ER4 AC+1,SN ;IDIV FAILED
|
|
15043 043037 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15044 043040 005 12 0 00 020407 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15045 043041 321 15 0 00 043027 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15046
|
|
15047
|
|
15048 020410 SN=SN+1
|
|
15049 000200 ZZ=ZZ+ZZ
|
|
15050 IFE ZZ,<ZZ=1>
|
|
15051 043042 201 11 0 00 000200 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15052 043043 201 13 0 00 000200 MOVEI AC,ZZ ;SETUP DVND
|
|
15053 043044 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15054 043045 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15055 043046 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15056 043047 003 13 0 00 020410 ER3 AC,SN
|
|
15057 043050 322 14 0 00 043052 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15058 043051 004 14 0 00 020410 ER4 AC+1,SN ;IDIV FAILED
|
|
15059 043052 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15060 043053 005 12 0 00 020410 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15061 043054 321 15 0 00 043042 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15062
|
|
15063
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 81-3
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0335
|
|
|
|
15064 020411 SN=SN+1
|
|
15065 000400 ZZ=ZZ+ZZ
|
|
15066 IFE ZZ,<ZZ=1>
|
|
15067 043055 201 11 0 00 000400 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15068 043056 201 13 0 00 000400 MOVEI AC,ZZ ;SETUP DVND
|
|
15069 043057 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15070 043060 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15071 043061 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15072 043062 003 13 0 00 020411 ER3 AC,SN
|
|
15073 043063 322 14 0 00 043065 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15074 043064 004 14 0 00 020411 ER4 AC+1,SN ;IDIV FAILED
|
|
15075 043065 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15076 043066 005 12 0 00 020411 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15077 043067 321 15 0 00 043055 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15078
|
|
15079
|
|
15080 020412 SN=SN+1
|
|
15081 001000 ZZ=ZZ+ZZ
|
|
15082 IFE ZZ,<ZZ=1>
|
|
15083 043070 201 11 0 00 001000 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15084 043071 201 13 0 00 001000 MOVEI AC,ZZ ;SETUP DVND
|
|
15085 043072 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15086 043073 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15087 043074 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15088 043075 003 13 0 00 020412 ER3 AC,SN
|
|
15089 043076 322 14 0 00 043100 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15090 043077 004 14 0 00 020412 ER4 AC+1,SN ;IDIV FAILED
|
|
15091 043100 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15092 043101 005 12 0 00 020412 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15093 043102 321 15 0 00 043070 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15094
|
|
15095
|
|
15096 020413 SN=SN+1
|
|
15097 002000 ZZ=ZZ+ZZ
|
|
15098 IFE ZZ,<ZZ=1>
|
|
15099 043103 201 11 0 00 002000 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15100 043104 201 13 0 00 002000 MOVEI AC,ZZ ;SETUP DVND
|
|
15101 043105 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15102 043106 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15103 043107 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15104 043110 003 13 0 00 020413 ER3 AC,SN
|
|
15105 043111 322 14 0 00 043113 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15106 043112 004 14 0 00 020413 ER4 AC+1,SN ;IDIV FAILED
|
|
15107 043113 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15108 043114 005 12 0 00 020413 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15109 043115 321 15 0 00 043103 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15110
|
|
15111
|
|
15112 020414 SN=SN+1
|
|
15113 004000 ZZ=ZZ+ZZ
|
|
15114 IFE ZZ,<ZZ=1>
|
|
15115 043116 201 11 0 00 004000 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15116 043117 201 13 0 00 004000 MOVEI AC,ZZ ;SETUP DVND
|
|
15117 043120 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15118 043121 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 81-4
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0336
|
|
|
|
15119 043122 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15120 043123 003 13 0 00 020414 ER3 AC,SN
|
|
15121 043124 322 14 0 00 043126 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15122 043125 004 14 0 00 020414 ER4 AC+1,SN ;IDIV FAILED
|
|
15123 043126 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15124 043127 005 12 0 00 020414 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15125 043130 321 15 0 00 043116 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15126
|
|
15127
|
|
15128 020415 SN=SN+1
|
|
15129 010000 ZZ=ZZ+ZZ
|
|
15130 IFE ZZ,<ZZ=1>
|
|
15131 043131 201 11 0 00 010000 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15132 043132 201 13 0 00 010000 MOVEI AC,ZZ ;SETUP DVND
|
|
15133 043133 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15134 043134 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15135 043135 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15136 043136 003 13 0 00 020415 ER3 AC,SN
|
|
15137 043137 322 14 0 00 043141 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15138 043140 004 14 0 00 020415 ER4 AC+1,SN ;IDIV FAILED
|
|
15139 043141 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15140 043142 005 12 0 00 020415 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15141 043143 321 15 0 00 043131 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15142
|
|
15143
|
|
15144 020416 SN=SN+1
|
|
15145 020000 ZZ=ZZ+ZZ
|
|
15146 IFE ZZ,<ZZ=1>
|
|
15147 043144 201 11 0 00 020000 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15148 043145 201 13 0 00 020000 MOVEI AC,ZZ ;SETUP DVND
|
|
15149 043146 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15150 043147 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15151 043150 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15152 043151 003 13 0 00 020416 ER3 AC,SN
|
|
15153 043152 322 14 0 00 043154 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15154 043153 004 14 0 00 020416 ER4 AC+1,SN ;IDIV FAILED
|
|
15155 043154 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15156 043155 005 12 0 00 020416 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15157 043156 321 15 0 00 043144 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15158
|
|
15159
|
|
15160 020417 SN=SN+1
|
|
15161 040000 ZZ=ZZ+ZZ
|
|
15162 IFE ZZ,<ZZ=1>
|
|
15163 043157 201 11 0 00 040000 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15164 043160 201 13 0 00 040000 MOVEI AC,ZZ ;SETUP DVND
|
|
15165 043161 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15166 043162 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15167 043163 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15168 043164 003 13 0 00 020417 ER3 AC,SN
|
|
15169 043165 322 14 0 00 043167 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15170 043166 004 14 0 00 020417 ER4 AC+1,SN ;IDIV FAILED
|
|
15171 043167 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15172 043170 005 12 0 00 020417 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15173 043171 321 15 0 00 043157 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 81-5
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0337
|
|
|
|
15174
|
|
15175
|
|
15176 020420 SN=SN+1
|
|
15177 100000 ZZ=ZZ+ZZ
|
|
15178 IFE ZZ,<ZZ=1>
|
|
15179 043172 201 11 0 00 100000 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15180 043173 201 13 0 00 100000 MOVEI AC,ZZ ;SETUP DVND
|
|
15181 043174 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15182 043175 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15183 043176 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15184 043177 003 13 0 00 020420 ER3 AC,SN
|
|
15185 043200 322 14 0 00 043202 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15186 043201 004 14 0 00 020420 ER4 AC+1,SN ;IDIV FAILED
|
|
15187 043202 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15188 043203 005 12 0 00 020420 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15189 043204 321 15 0 00 043172 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15190
|
|
15191
|
|
15192 020421 SN=SN+1
|
|
15193 200000 ZZ=ZZ+ZZ
|
|
15194 IFE ZZ,<ZZ=1>
|
|
15195 043205 201 11 0 00 200000 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15196 043206 201 13 0 00 200000 MOVEI AC,ZZ ;SETUP DVND
|
|
15197 043207 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15198 043210 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15199 043211 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15200 043212 003 13 0 00 020421 ER3 AC,SN
|
|
15201 043213 322 14 0 00 043215 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15202 043214 004 14 0 00 020421 ER4 AC+1,SN ;IDIV FAILED
|
|
15203 043215 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15204 043216 005 12 0 00 020421 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15205 043217 321 15 0 00 043205 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15206
|
|
15207
|
|
15208 020422 SN=SN+1
|
|
15209 400000 ZZ=ZZ+ZZ
|
|
15210 IFE ZZ,<ZZ=1>
|
|
15211 043220 201 11 0 00 400000 MOVEI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15212 043221 201 13 0 00 400000 MOVEI AC,ZZ ;SETUP DVND
|
|
15213 043222 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15214 043223 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15215 043224 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15216 043225 003 13 0 00 020422 ER3 AC,SN
|
|
15217 043226 322 14 0 00 043230 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15218 043227 004 14 0 00 020422 ER4 AC+1,SN ;IDIV FAILED
|
|
15219 043230 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15220 043231 005 12 0 00 020422 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15221 043232 321 15 0 00 043220 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15222
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 82
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0338
|
|
|
|
15223 020500 SN=20500
|
|
15224 000000 ZZ=0
|
|
15225
|
|
15226 F20500: REPEAT ^D17,<
|
|
15227 SN=SN+1
|
|
15228 ZZ=ZZ+ZZ
|
|
15229 IFE ZZ,<ZZ=1>
|
|
15230 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15231 MOVSI AC,ZZ ;SETUP DVND
|
|
15232 MOVEI AC-1,1 ;SETUP DVSR
|
|
15233 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15234 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15235 ER3 AC,SN
|
|
15236 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15237 ER4 AC+1,SN ;IDIV FAILED
|
|
15238 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15239 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15240 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15241 >
|
|
15242
|
|
15243 020501 SN=SN+1
|
|
15244 000000 ZZ=ZZ+ZZ
|
|
15245 000001 IFE ZZ,<ZZ=1>
|
|
15246 043233 205 11 0 00 000001 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15247 043234 205 13 0 00 000001 MOVSI AC,ZZ ;SETUP DVND
|
|
15248 043235 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15249 043236 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15250 043237 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15251 043240 003 13 0 00 020501 ER3 AC,SN
|
|
15252 043241 322 14 0 00 043243 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15253 043242 004 14 0 00 020501 ER4 AC+1,SN ;IDIV FAILED
|
|
15254 043243 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15255 043244 005 12 0 00 020501 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15256 043245 321 15 0 00 043233 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15257
|
|
15258
|
|
15259 020502 SN=SN+1
|
|
15260 000002 ZZ=ZZ+ZZ
|
|
15261 IFE ZZ,<ZZ=1>
|
|
15262 043246 205 11 0 00 000002 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15263 043247 205 13 0 00 000002 MOVSI AC,ZZ ;SETUP DVND
|
|
15264 043250 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15265 043251 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15266 043252 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15267 043253 003 13 0 00 020502 ER3 AC,SN
|
|
15268 043254 322 14 0 00 043256 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15269 043255 004 14 0 00 020502 ER4 AC+1,SN ;IDIV FAILED
|
|
15270 043256 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15271 043257 005 12 0 00 020502 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15272 043260 321 15 0 00 043246 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15273
|
|
15274
|
|
15275 020503 SN=SN+1
|
|
15276 000004 ZZ=ZZ+ZZ
|
|
15277 IFE ZZ,<ZZ=1>
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 82-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0339
|
|
|
|
15278 043261 205 11 0 00 000004 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15279 043262 205 13 0 00 000004 MOVSI AC,ZZ ;SETUP DVND
|
|
15280 043263 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15281 043264 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15282 043265 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15283 043266 003 13 0 00 020503 ER3 AC,SN
|
|
15284 043267 322 14 0 00 043271 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15285 043270 004 14 0 00 020503 ER4 AC+1,SN ;IDIV FAILED
|
|
15286 043271 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15287 043272 005 12 0 00 020503 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15288 043273 321 15 0 00 043261 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15289
|
|
15290
|
|
15291 020504 SN=SN+1
|
|
15292 000010 ZZ=ZZ+ZZ
|
|
15293 IFE ZZ,<ZZ=1>
|
|
15294 043274 205 11 0 00 000010 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15295 043275 205 13 0 00 000010 MOVSI AC,ZZ ;SETUP DVND
|
|
15296 043276 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15297 043277 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15298 043300 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15299 043301 003 13 0 00 020504 ER3 AC,SN
|
|
15300 043302 322 14 0 00 043304 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15301 043303 004 14 0 00 020504 ER4 AC+1,SN ;IDIV FAILED
|
|
15302 043304 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15303 043305 005 12 0 00 020504 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15304 043306 321 15 0 00 043274 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15305
|
|
15306
|
|
15307 020505 SN=SN+1
|
|
15308 000020 ZZ=ZZ+ZZ
|
|
15309 IFE ZZ,<ZZ=1>
|
|
15310 043307 205 11 0 00 000020 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15311 043310 205 13 0 00 000020 MOVSI AC,ZZ ;SETUP DVND
|
|
15312 043311 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15313 043312 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15314 043313 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15315 043314 003 13 0 00 020505 ER3 AC,SN
|
|
15316 043315 322 14 0 00 043317 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15317 043316 004 14 0 00 020505 ER4 AC+1,SN ;IDIV FAILED
|
|
15318 043317 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15319 043320 005 12 0 00 020505 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15320 043321 321 15 0 00 043307 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15321
|
|
15322
|
|
15323 020506 SN=SN+1
|
|
15324 000040 ZZ=ZZ+ZZ
|
|
15325 IFE ZZ,<ZZ=1>
|
|
15326 043322 205 11 0 00 000040 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15327 043323 205 13 0 00 000040 MOVSI AC,ZZ ;SETUP DVND
|
|
15328 043324 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15329 043325 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15330 043326 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15331 043327 003 13 0 00 020506 ER3 AC,SN
|
|
15332 043330 322 14 0 00 043332 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 82-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0340
|
|
|
|
15333 043331 004 14 0 00 020506 ER4 AC+1,SN ;IDIV FAILED
|
|
15334 043332 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15335 043333 005 12 0 00 020506 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15336 043334 321 15 0 00 043322 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15337
|
|
15338
|
|
15339 020507 SN=SN+1
|
|
15340 000100 ZZ=ZZ+ZZ
|
|
15341 IFE ZZ,<ZZ=1>
|
|
15342 043335 205 11 0 00 000100 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15343 043336 205 13 0 00 000100 MOVSI AC,ZZ ;SETUP DVND
|
|
15344 043337 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15345 043340 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15346 043341 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15347 043342 003 13 0 00 020507 ER3 AC,SN
|
|
15348 043343 322 14 0 00 043345 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15349 043344 004 14 0 00 020507 ER4 AC+1,SN ;IDIV FAILED
|
|
15350 043345 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15351 043346 005 12 0 00 020507 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15352 043347 321 15 0 00 043335 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15353
|
|
15354
|
|
15355 020510 SN=SN+1
|
|
15356 000200 ZZ=ZZ+ZZ
|
|
15357 IFE ZZ,<ZZ=1>
|
|
15358 043350 205 11 0 00 000200 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15359 043351 205 13 0 00 000200 MOVSI AC,ZZ ;SETUP DVND
|
|
15360 043352 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15361 043353 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15362 043354 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15363 043355 003 13 0 00 020510 ER3 AC,SN
|
|
15364 043356 322 14 0 00 043360 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15365 043357 004 14 0 00 020510 ER4 AC+1,SN ;IDIV FAILED
|
|
15366 043360 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15367 043361 005 12 0 00 020510 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15368 043362 321 15 0 00 043350 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15369
|
|
15370
|
|
15371 020511 SN=SN+1
|
|
15372 000400 ZZ=ZZ+ZZ
|
|
15373 IFE ZZ,<ZZ=1>
|
|
15374 043363 205 11 0 00 000400 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15375 043364 205 13 0 00 000400 MOVSI AC,ZZ ;SETUP DVND
|
|
15376 043365 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15377 043366 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15378 043367 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15379 043370 003 13 0 00 020511 ER3 AC,SN
|
|
15380 043371 322 14 0 00 043373 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15381 043372 004 14 0 00 020511 ER4 AC+1,SN ;IDIV FAILED
|
|
15382 043373 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15383 043374 005 12 0 00 020511 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15384 043375 321 15 0 00 043363 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15385
|
|
15386
|
|
15387 020512 SN=SN+1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 82-3
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0341
|
|
|
|
15388 001000 ZZ=ZZ+ZZ
|
|
15389 IFE ZZ,<ZZ=1>
|
|
15390 043376 205 11 0 00 001000 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15391 043377 205 13 0 00 001000 MOVSI AC,ZZ ;SETUP DVND
|
|
15392 043400 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15393 043401 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15394 043402 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15395 043403 003 13 0 00 020512 ER3 AC,SN
|
|
15396 043404 322 14 0 00 043406 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15397 043405 004 14 0 00 020512 ER4 AC+1,SN ;IDIV FAILED
|
|
15398 043406 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15399 043407 005 12 0 00 020512 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15400 043410 321 15 0 00 043376 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15401
|
|
15402
|
|
15403 020513 SN=SN+1
|
|
15404 002000 ZZ=ZZ+ZZ
|
|
15405 IFE ZZ,<ZZ=1>
|
|
15406 043411 205 11 0 00 002000 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15407 043412 205 13 0 00 002000 MOVSI AC,ZZ ;SETUP DVND
|
|
15408 043413 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15409 043414 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15410 043415 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15411 043416 003 13 0 00 020513 ER3 AC,SN
|
|
15412 043417 322 14 0 00 043421 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15413 043420 004 14 0 00 020513 ER4 AC+1,SN ;IDIV FAILED
|
|
15414 043421 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15415 043422 005 12 0 00 020513 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15416 043423 321 15 0 00 043411 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15417
|
|
15418
|
|
15419 020514 SN=SN+1
|
|
15420 004000 ZZ=ZZ+ZZ
|
|
15421 IFE ZZ,<ZZ=1>
|
|
15422 043424 205 11 0 00 004000 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15423 043425 205 13 0 00 004000 MOVSI AC,ZZ ;SETUP DVND
|
|
15424 043426 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15425 043427 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15426 043430 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15427 043431 003 13 0 00 020514 ER3 AC,SN
|
|
15428 043432 322 14 0 00 043434 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15429 043433 004 14 0 00 020514 ER4 AC+1,SN ;IDIV FAILED
|
|
15430 043434 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15431 043435 005 12 0 00 020514 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15432 043436 321 15 0 00 043424 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15433
|
|
15434
|
|
15435 020515 SN=SN+1
|
|
15436 010000 ZZ=ZZ+ZZ
|
|
15437 IFE ZZ,<ZZ=1>
|
|
15438 043437 205 11 0 00 010000 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15439 043440 205 13 0 00 010000 MOVSI AC,ZZ ;SETUP DVND
|
|
15440 043441 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15441 043442 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15442 043443 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 82-4
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0342
|
|
|
|
15443 043444 003 13 0 00 020515 ER3 AC,SN
|
|
15444 043445 322 14 0 00 043447 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15445 043446 004 14 0 00 020515 ER4 AC+1,SN ;IDIV FAILED
|
|
15446 043447 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15447 043450 005 12 0 00 020515 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15448 043451 321 15 0 00 043437 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15449
|
|
15450
|
|
15451 020516 SN=SN+1
|
|
15452 020000 ZZ=ZZ+ZZ
|
|
15453 IFE ZZ,<ZZ=1>
|
|
15454 043452 205 11 0 00 020000 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15455 043453 205 13 0 00 020000 MOVSI AC,ZZ ;SETUP DVND
|
|
15456 043454 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15457 043455 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15458 043456 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15459 043457 003 13 0 00 020516 ER3 AC,SN
|
|
15460 043460 322 14 0 00 043462 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15461 043461 004 14 0 00 020516 ER4 AC+1,SN ;IDIV FAILED
|
|
15462 043462 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15463 043463 005 12 0 00 020516 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15464 043464 321 15 0 00 043452 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15465
|
|
15466
|
|
15467 020517 SN=SN+1
|
|
15468 040000 ZZ=ZZ+ZZ
|
|
15469 IFE ZZ,<ZZ=1>
|
|
15470 043465 205 11 0 00 040000 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15471 043466 205 13 0 00 040000 MOVSI AC,ZZ ;SETUP DVND
|
|
15472 043467 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15473 043470 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15474 043471 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15475 043472 003 13 0 00 020517 ER3 AC,SN
|
|
15476 043473 322 14 0 00 043475 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15477 043474 004 14 0 00 020517 ER4 AC+1,SN ;IDIV FAILED
|
|
15478 043475 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15479 043476 005 12 0 00 020517 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15480 043477 321 15 0 00 043465 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15481
|
|
15482
|
|
15483 020520 SN=SN+1
|
|
15484 100000 ZZ=ZZ+ZZ
|
|
15485 IFE ZZ,<ZZ=1>
|
|
15486 043500 205 11 0 00 100000 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15487 043501 205 13 0 00 100000 MOVSI AC,ZZ ;SETUP DVND
|
|
15488 043502 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15489 043503 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15490 043504 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15491 043505 003 13 0 00 020520 ER3 AC,SN
|
|
15492 043506 322 14 0 00 043510 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15493 043507 004 14 0 00 020520 ER4 AC+1,SN ;IDIV FAILED
|
|
15494 043510 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15495 043511 005 12 0 00 020520 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15496 043512 321 15 0 00 043500 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15497
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 82-5
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0343
|
|
|
|
15498
|
|
15499 020521 SN=SN+1
|
|
15500 200000 ZZ=ZZ+ZZ
|
|
15501 IFE ZZ,<ZZ=1>
|
|
15502 043513 205 11 0 00 200000 MOVSI AC-2,ZZ ;SETUP FOR COMPARISON
|
|
15503 043514 205 13 0 00 200000 MOVSI AC,ZZ ;SETUP DVND
|
|
15504 043515 201 12 0 00 000001 MOVEI AC-1,1 ;SETUP DVSR
|
|
15505 043516 230 13 0 00 000012 IDIV AC,AC-1 ;DIVIDE ZZ BY 1
|
|
15506 043517 312 13 0 00 000011 CAME AC,AC-2 ;TEST QUOT=DVND
|
|
15507 043520 003 13 0 00 020521 ER3 AC,SN
|
|
15508 043521 322 14 0 00 043523 JUMPE AC+1,.+2 ;TEST REMD=0
|
|
15509 043522 004 14 0 00 020521 ER4 AC+1,SN ;IDIV FAILED
|
|
15510 043523 302 12 0 00 000001 CAIE AC-1,1 ;WAS C(E) MODIFIED ?
|
|
15511 043524 005 12 0 00 020521 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15512 043525 321 15 0 00 043513 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15513
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 83
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0344
|
|
|
|
15514 ;TEST IDIV IMMEDIATE - TWO POSITIVES
|
|
15515 ;TESTING IS ACCOMPLISHED BY DIVIDING
|
|
15516 ;AN ODD NUMBER BY E
|
|
15517 ;DVND=3,5,7,11 ETC
|
|
15518 ;DVSR=E (2)
|
|
15519 ;QUOT=1,2,4, ETC
|
|
15520 ;REMD=1
|
|
15521
|
|
15522 000014 AC=14
|
|
15523 SAVEAC (1,1)^
|
|
15524 043526 201 16 0 00 043526 MOVEI AC+2,. ;SAVE TEST PC
|
|
15525 043527 202 16 0 00 030051 MOVEM AC+2,TESTPC
|
|
15526 043530 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
15527 043531 202 16 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
15528
|
|
15529 020600 SN=20600
|
|
15530 000000 XX=0
|
|
15531 000001 ZZ=1
|
|
15532
|
|
15533 F20600: REPEAT ^D10,<
|
|
15534 SN=SN+1
|
|
15535 XX=XX+1
|
|
15536 ZZ=ZZ+2
|
|
15537 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15538 MOVEI AC,ZZ ;SETUP DVND
|
|
15539 IDIVI AC,2 ;DIVIDE ZZ BY 2
|
|
15540 CAME AC,AC-2 ;TEST QUOT
|
|
15541 ER3 AC,SN
|
|
15542 CAIE AC+1,1 ;TEST REMD=1
|
|
15543 ER4 AC+1,SN ;IDIVI FAILED
|
|
15544 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
15545 >
|
|
15546
|
|
15547 020601 SN=SN+1
|
|
15548 000001 XX=XX+1
|
|
15549 000003 ZZ=ZZ+2
|
|
15550 043532 201 12 0 00 000001 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15551 043533 201 14 0 00 000003 MOVEI AC,ZZ ;SETUP DVND
|
|
15552 043534 231 14 0 00 000002 IDIVI AC,2 ;DIVIDE ZZ BY 2
|
|
15553 043535 312 14 0 00 000012 CAME AC,AC-2 ;TEST QUOT
|
|
15554 043536 003 14 0 00 020601 ER3 AC,SN
|
|
15555 043537 302 15 0 00 000001 CAIE AC+1,1 ;TEST REMD=1
|
|
15556 043540 004 15 0 00 020601 ER4 AC+1,SN ;IDIVI FAILED
|
|
15557 043541 321 16 0 00 043532 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
15558
|
|
15559
|
|
15560 020602 SN=SN+1
|
|
15561 000002 XX=XX+1
|
|
15562 000005 ZZ=ZZ+2
|
|
15563 043542 201 12 0 00 000002 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15564 043543 201 14 0 00 000005 MOVEI AC,ZZ ;SETUP DVND
|
|
15565 043544 231 14 0 00 000002 IDIVI AC,2 ;DIVIDE ZZ BY 2
|
|
15566 043545 312 14 0 00 000012 CAME AC,AC-2 ;TEST QUOT
|
|
15567 043546 003 14 0 00 020602 ER3 AC,SN
|
|
15568 043547 302 15 0 00 000001 CAIE AC+1,1 ;TEST REMD=1
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 83-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0345
|
|
|
|
15569 043550 004 15 0 00 020602 ER4 AC+1,SN ;IDIVI FAILED
|
|
15570 043551 321 16 0 00 043542 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
15571
|
|
15572
|
|
15573 020603 SN=SN+1
|
|
15574 000003 XX=XX+1
|
|
15575 000007 ZZ=ZZ+2
|
|
15576 043552 201 12 0 00 000003 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15577 043553 201 14 0 00 000007 MOVEI AC,ZZ ;SETUP DVND
|
|
15578 043554 231 14 0 00 000002 IDIVI AC,2 ;DIVIDE ZZ BY 2
|
|
15579 043555 312 14 0 00 000012 CAME AC,AC-2 ;TEST QUOT
|
|
15580 043556 003 14 0 00 020603 ER3 AC,SN
|
|
15581 043557 302 15 0 00 000001 CAIE AC+1,1 ;TEST REMD=1
|
|
15582 043560 004 15 0 00 020603 ER4 AC+1,SN ;IDIVI FAILED
|
|
15583 043561 321 16 0 00 043552 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
15584
|
|
15585
|
|
15586 020604 SN=SN+1
|
|
15587 000004 XX=XX+1
|
|
15588 000011 ZZ=ZZ+2
|
|
15589 043562 201 12 0 00 000004 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15590 043563 201 14 0 00 000011 MOVEI AC,ZZ ;SETUP DVND
|
|
15591 043564 231 14 0 00 000002 IDIVI AC,2 ;DIVIDE ZZ BY 2
|
|
15592 043565 312 14 0 00 000012 CAME AC,AC-2 ;TEST QUOT
|
|
15593 043566 003 14 0 00 020604 ER3 AC,SN
|
|
15594 043567 302 15 0 00 000001 CAIE AC+1,1 ;TEST REMD=1
|
|
15595 043570 004 15 0 00 020604 ER4 AC+1,SN ;IDIVI FAILED
|
|
15596 043571 321 16 0 00 043562 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
15597
|
|
15598
|
|
15599 020605 SN=SN+1
|
|
15600 000005 XX=XX+1
|
|
15601 000013 ZZ=ZZ+2
|
|
15602 043572 201 12 0 00 000005 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15603 043573 201 14 0 00 000013 MOVEI AC,ZZ ;SETUP DVND
|
|
15604 043574 231 14 0 00 000002 IDIVI AC,2 ;DIVIDE ZZ BY 2
|
|
15605 043575 312 14 0 00 000012 CAME AC,AC-2 ;TEST QUOT
|
|
15606 043576 003 14 0 00 020605 ER3 AC,SN
|
|
15607 043577 302 15 0 00 000001 CAIE AC+1,1 ;TEST REMD=1
|
|
15608 043600 004 15 0 00 020605 ER4 AC+1,SN ;IDIVI FAILED
|
|
15609 043601 321 16 0 00 043572 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
15610
|
|
15611
|
|
15612 020606 SN=SN+1
|
|
15613 000006 XX=XX+1
|
|
15614 000015 ZZ=ZZ+2
|
|
15615 043602 201 12 0 00 000006 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15616 043603 201 14 0 00 000015 MOVEI AC,ZZ ;SETUP DVND
|
|
15617 043604 231 14 0 00 000002 IDIVI AC,2 ;DIVIDE ZZ BY 2
|
|
15618 043605 312 14 0 00 000012 CAME AC,AC-2 ;TEST QUOT
|
|
15619 043606 003 14 0 00 020606 ER3 AC,SN
|
|
15620 043607 302 15 0 00 000001 CAIE AC+1,1 ;TEST REMD=1
|
|
15621 043610 004 15 0 00 020606 ER4 AC+1,SN ;IDIVI FAILED
|
|
15622 043611 321 16 0 00 043602 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
15623
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 83-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0346
|
|
|
|
15624
|
|
15625 020607 SN=SN+1
|
|
15626 000007 XX=XX+1
|
|
15627 000017 ZZ=ZZ+2
|
|
15628 043612 201 12 0 00 000007 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15629 043613 201 14 0 00 000017 MOVEI AC,ZZ ;SETUP DVND
|
|
15630 043614 231 14 0 00 000002 IDIVI AC,2 ;DIVIDE ZZ BY 2
|
|
15631 043615 312 14 0 00 000012 CAME AC,AC-2 ;TEST QUOT
|
|
15632 043616 003 14 0 00 020607 ER3 AC,SN
|
|
15633 043617 302 15 0 00 000001 CAIE AC+1,1 ;TEST REMD=1
|
|
15634 043620 004 15 0 00 020607 ER4 AC+1,SN ;IDIVI FAILED
|
|
15635 043621 321 16 0 00 043612 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
15636
|
|
15637
|
|
15638 020610 SN=SN+1
|
|
15639 000010 XX=XX+1
|
|
15640 000021 ZZ=ZZ+2
|
|
15641 043622 201 12 0 00 000010 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15642 043623 201 14 0 00 000021 MOVEI AC,ZZ ;SETUP DVND
|
|
15643 043624 231 14 0 00 000002 IDIVI AC,2 ;DIVIDE ZZ BY 2
|
|
15644 043625 312 14 0 00 000012 CAME AC,AC-2 ;TEST QUOT
|
|
15645 043626 003 14 0 00 020610 ER3 AC,SN
|
|
15646 043627 302 15 0 00 000001 CAIE AC+1,1 ;TEST REMD=1
|
|
15647 043630 004 15 0 00 020610 ER4 AC+1,SN ;IDIVI FAILED
|
|
15648 043631 321 16 0 00 043622 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
15649
|
|
15650
|
|
15651 020611 SN=SN+1
|
|
15652 000011 XX=XX+1
|
|
15653 000023 ZZ=ZZ+2
|
|
15654 043632 201 12 0 00 000011 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15655 043633 201 14 0 00 000023 MOVEI AC,ZZ ;SETUP DVND
|
|
15656 043634 231 14 0 00 000002 IDIVI AC,2 ;DIVIDE ZZ BY 2
|
|
15657 043635 312 14 0 00 000012 CAME AC,AC-2 ;TEST QUOT
|
|
15658 043636 003 14 0 00 020611 ER3 AC,SN
|
|
15659 043637 302 15 0 00 000001 CAIE AC+1,1 ;TEST REMD=1
|
|
15660 043640 004 15 0 00 020611 ER4 AC+1,SN ;IDIVI FAILED
|
|
15661 043641 321 16 0 00 043632 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
15662
|
|
15663
|
|
15664 020612 SN=SN+1
|
|
15665 000012 XX=XX+1
|
|
15666 000025 ZZ=ZZ+2
|
|
15667 043642 201 12 0 00 000012 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15668 043643 201 14 0 00 000025 MOVEI AC,ZZ ;SETUP DVND
|
|
15669 043644 231 14 0 00 000002 IDIVI AC,2 ;DIVIDE ZZ BY 2
|
|
15670 043645 312 14 0 00 000012 CAME AC,AC-2 ;TEST QUOT
|
|
15671 043646 003 14 0 00 020612 ER3 AC,SN
|
|
15672 043647 302 15 0 00 000001 CAIE AC+1,1 ;TEST REMD=1
|
|
15673 043650 004 15 0 00 020612 ER4 AC+1,SN ;IDIVI FAILED
|
|
15674 043651 321 16 0 00 043642 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
15675
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 84
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0347
|
|
|
|
15676 ;TEST IDIV MEMORY - TWO NEGATIVES
|
|
15677 ;TESTING IS ACCOMPLISHED BY DIVIDING
|
|
15678 ;A NEGATIVE NUMBER BY -1
|
|
15679 ;DVND=-1,-2,-4,-10,-20
|
|
15680 ;DVSR=-1
|
|
15681 ;QUOT=1,2,4,10,20
|
|
15682 ;REMD=0
|
|
15683
|
|
15684 000012 AC=12
|
|
15685 SAVEAC (1,1)^
|
|
15686 043652 201 14 0 00 043652 MOVEI AC+2,. ;SAVE TEST PC
|
|
15687 043653 202 14 0 00 030051 MOVEM AC+2,TESTPC
|
|
15688 043654 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
15689 043655 202 14 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
15690
|
|
15691 020700 SN=20700
|
|
15692 000000 XX=0
|
|
15693 000000 ZZ=0
|
|
15694
|
|
15695 F20700: REPEAT ^D5,<
|
|
15696 SN=SN+1
|
|
15697 XX=XX+XX
|
|
15698 ZZ=ZZ+ZZ
|
|
15699 IFE XX,<XX=1>
|
|
15700 IFE ZZ,<ZZ=-1>
|
|
15701 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15702 HRROI AC,ZZ ;SETUP DVND
|
|
15703 SETO AC-1, ;SETUP DVSR
|
|
15704 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
15705 IDIVM AC,AC-1 ;DIVIDE ZZ BY -1
|
|
15706 CAME AC-1,AC-2 ;TEST QUOT
|
|
15707 ER5 AC-1,SN ;IDIVM FAILED
|
|
15708 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
15709 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
15710 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) ALTERED ?
|
|
15711 ER4 AC+1,SN ;C(AC+1] WAS CLOBBERED
|
|
15712 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
15713 >
|
|
15714
|
|
15715 020701 SN=SN+1
|
|
15716 000000 XX=XX+XX
|
|
15717 000000 ZZ=ZZ+ZZ
|
|
15718 000001 IFE XX,<XX=1>
|
|
15719 777777 777777 IFE ZZ,<ZZ=-1>
|
|
15720 043656 201 10 0 00 000001 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15721 043657 561 12 0 00 777777 HRROI AC,ZZ ;SETUP DVND
|
|
15722 043660 474 11 0 00 000000 SETO AC-1, ;SETUP DVSR
|
|
15723 043661 200 07 0 00 000013 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
15724 043662 232 12 0 00 000011 IDIVM AC,AC-1 ;DIVIDE ZZ BY -1
|
|
15725 043663 312 11 0 00 000010 CAME AC-1,AC-2 ;TEST QUOT
|
|
15726 043664 005 11 0 00 020701 ER5 AC-1,SN ;IDIVM FAILED
|
|
15727 043665 312 12 0 00 044617 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
15728 043666 003 12 0 00 020701 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
15729 043667 312 13 0 00 000007 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) ALTERED ?
|
|
15730 043670 004 13 0 00 020701 ER4 AC+1,SN ;C(AC+1] WAS CLOBBERED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 84-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0348
|
|
|
|
15731 043671 321 14 0 00 043656 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
15732
|
|
15733
|
|
15734 020702 SN=SN+1
|
|
15735 000002 XX=XX+XX
|
|
15736 777777 777776 ZZ=ZZ+ZZ
|
|
15737 IFE XX,<XX=1>
|
|
15738 IFE ZZ,<ZZ=-1>
|
|
15739 043672 201 10 0 00 000002 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15740 043673 561 12 0 00 777776 HRROI AC,ZZ ;SETUP DVND
|
|
15741 043674 474 11 0 00 000000 SETO AC-1, ;SETUP DVSR
|
|
15742 043675 200 07 0 00 000013 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
15743 043676 232 12 0 00 000011 IDIVM AC,AC-1 ;DIVIDE ZZ BY -1
|
|
15744 043677 312 11 0 00 000010 CAME AC-1,AC-2 ;TEST QUOT
|
|
15745 043700 005 11 0 00 020702 ER5 AC-1,SN ;IDIVM FAILED
|
|
15746 043701 312 12 0 00 044621 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
15747 043702 003 12 0 00 020702 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
15748 043703 312 13 0 00 000007 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) ALTERED ?
|
|
15749 043704 004 13 0 00 020702 ER4 AC+1,SN ;C(AC+1] WAS CLOBBERED
|
|
15750 043705 321 14 0 00 043672 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
15751
|
|
15752
|
|
15753 020703 SN=SN+1
|
|
15754 000004 XX=XX+XX
|
|
15755 777777 777774 ZZ=ZZ+ZZ
|
|
15756 IFE XX,<XX=1>
|
|
15757 IFE ZZ,<ZZ=-1>
|
|
15758 043706 201 10 0 00 000004 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15759 043707 561 12 0 00 777774 HRROI AC,ZZ ;SETUP DVND
|
|
15760 043710 474 11 0 00 000000 SETO AC-1, ;SETUP DVSR
|
|
15761 043711 200 07 0 00 000013 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
15762 043712 232 12 0 00 000011 IDIVM AC,AC-1 ;DIVIDE ZZ BY -1
|
|
15763 043713 312 11 0 00 000010 CAME AC-1,AC-2 ;TEST QUOT
|
|
15764 043714 005 11 0 00 020703 ER5 AC-1,SN ;IDIVM FAILED
|
|
15765 043715 312 12 0 00 045325 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
15766 043716 003 12 0 00 020703 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
15767 043717 312 13 0 00 000007 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) ALTERED ?
|
|
15768 043720 004 13 0 00 020703 ER4 AC+1,SN ;C(AC+1] WAS CLOBBERED
|
|
15769 043721 321 14 0 00 043706 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
15770
|
|
15771
|
|
15772 020704 SN=SN+1
|
|
15773 000010 XX=XX+XX
|
|
15774 777777 777770 ZZ=ZZ+ZZ
|
|
15775 IFE XX,<XX=1>
|
|
15776 IFE ZZ,<ZZ=-1>
|
|
15777 043722 201 10 0 00 000010 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15778 043723 561 12 0 00 777770 HRROI AC,ZZ ;SETUP DVND
|
|
15779 043724 474 11 0 00 000000 SETO AC-1, ;SETUP DVSR
|
|
15780 043725 200 07 0 00 000013 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
15781 043726 232 12 0 00 000011 IDIVM AC,AC-1 ;DIVIDE ZZ BY -1
|
|
15782 043727 312 11 0 00 000010 CAME AC-1,AC-2 ;TEST QUOT
|
|
15783 043730 005 11 0 00 020704 ER5 AC-1,SN ;IDIVM FAILED
|
|
15784 043731 312 12 0 00 045305 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
15785 043732 003 12 0 00 020704 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 84-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0349
|
|
|
|
15786 043733 312 13 0 00 000007 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) ALTERED ?
|
|
15787 043734 004 13 0 00 020704 ER4 AC+1,SN ;C(AC+1] WAS CLOBBERED
|
|
15788 043735 321 14 0 00 043722 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
15789
|
|
15790
|
|
15791 020705 SN=SN+1
|
|
15792 000020 XX=XX+XX
|
|
15793 777777 777760 ZZ=ZZ+ZZ
|
|
15794 IFE XX,<XX=1>
|
|
15795 IFE ZZ,<ZZ=-1>
|
|
15796 043736 201 10 0 00 000020 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15797 043737 561 12 0 00 777760 HRROI AC,ZZ ;SETUP DVND
|
|
15798 043740 474 11 0 00 000000 SETO AC-1, ;SETUP DVSR
|
|
15799 043741 200 07 0 00 000013 MOVE AC-3,<AC+1>&17 ;SAVE C(AC+1)
|
|
15800 043742 232 12 0 00 000011 IDIVM AC,AC-1 ;DIVIDE ZZ BY -1
|
|
15801 043743 312 11 0 00 000010 CAME AC-1,AC-2 ;TEST QUOT
|
|
15802 043744 005 11 0 00 020705 ER5 AC-1,SN ;IDIVM FAILED
|
|
15803 043745 312 12 0 00 045243 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
15804 043746 003 12 0 00 020705 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
15805 043747 312 13 0 00 000007 CAME AC+1,<AC-3>&17 ;WAS C(AC+1) ALTERED ?
|
|
15806 043750 004 13 0 00 020705 ER4 AC+1,SN ;C(AC+1] WAS CLOBBERED
|
|
15807 043751 321 14 0 00 043736 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
15808
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 85
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0350
|
|
|
|
15809 ;TEST IDIV BOTH - TWO POSITIVES
|
|
15810 ;TESTING IS ACCOMPLISHED BY DIVIDING
|
|
15811 ;AN INCREASING ODD NUMBER BY 2
|
|
15812 ;DVND=15,17,21,23,25
|
|
15813 ;DVSR=2
|
|
15814 ;QUOT=6,7,10,11,12
|
|
15815 ;REMD=1
|
|
15816
|
|
15817 000011 AC=11
|
|
15818 SAVEAC (1,1)^
|
|
15819 043752 201 13 0 00 043752 MOVEI AC+2,. ;SAVE TEST PC
|
|
15820 043753 202 13 0 00 030051 MOVEM AC+2,TESTPC
|
|
15821 043754 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
15822 043755 202 13 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
15823
|
|
15824 021000 SN=21000
|
|
15825 000005 XX=5
|
|
15826 000013 ZZ=13
|
|
15827
|
|
15828 F21000: REPEAT ^D5,<
|
|
15829 SN=SN+1
|
|
15830 XX=XX+1
|
|
15831 ZZ=ZZ+2
|
|
15832 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15833 MOVEI AC,ZZ ;SETUP DVND
|
|
15834 MOVEI AC-1,2 ;SETUP DVSR
|
|
15835 IDIVB AC,AC-1 ;DIVIDE ZZ BY 2
|
|
15836 CAME AC,AC-2 ;TEST QUOT
|
|
15837 ER3 AC,SN ;QUOT ERROR
|
|
15838 CAME AC,AC-1 ;C(AC) = C(E)
|
|
15839 ER5 AC-1,SN
|
|
15840 CAIE AC+1,1 ;TEST REMD=1
|
|
15841 ER4 AC+1,SN ;IDIVB FAILED
|
|
15842 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15843 >
|
|
15844
|
|
15845 021001 SN=SN+1
|
|
15846 000006 XX=XX+1
|
|
15847 000015 ZZ=ZZ+2
|
|
15848 043756 201 07 0 00 000006 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15849 043757 201 11 0 00 000015 MOVEI AC,ZZ ;SETUP DVND
|
|
15850 043760 201 10 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
15851 043761 233 11 0 00 000010 IDIVB AC,AC-1 ;DIVIDE ZZ BY 2
|
|
15852 043762 312 11 0 00 000007 CAME AC,AC-2 ;TEST QUOT
|
|
15853 043763 003 11 0 00 021001 ER3 AC,SN ;QUOT ERROR
|
|
15854 043764 312 11 0 00 000010 CAME AC,AC-1 ;C(AC) = C(E)
|
|
15855 043765 005 10 0 00 021001 ER5 AC-1,SN
|
|
15856 043766 302 12 0 00 000001 CAIE AC+1,1 ;TEST REMD=1
|
|
15857 043767 004 12 0 00 021001 ER4 AC+1,SN ;IDIVB FAILED
|
|
15858 043770 321 13 0 00 043756 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15859
|
|
15860
|
|
15861 021002 SN=SN+1
|
|
15862 000007 XX=XX+1
|
|
15863 000017 ZZ=ZZ+2
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 85-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0351
|
|
|
|
15864 043771 201 07 0 00 000007 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15865 043772 201 11 0 00 000017 MOVEI AC,ZZ ;SETUP DVND
|
|
15866 043773 201 10 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
15867 043774 233 11 0 00 000010 IDIVB AC,AC-1 ;DIVIDE ZZ BY 2
|
|
15868 043775 312 11 0 00 000007 CAME AC,AC-2 ;TEST QUOT
|
|
15869 043776 003 11 0 00 021002 ER3 AC,SN ;QUOT ERROR
|
|
15870 043777 312 11 0 00 000010 CAME AC,AC-1 ;C(AC) = C(E)
|
|
15871 044000 005 10 0 00 021002 ER5 AC-1,SN
|
|
15872 044001 302 12 0 00 000001 CAIE AC+1,1 ;TEST REMD=1
|
|
15873 044002 004 12 0 00 021002 ER4 AC+1,SN ;IDIVB FAILED
|
|
15874 044003 321 13 0 00 043771 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15875
|
|
15876
|
|
15877 021003 SN=SN+1
|
|
15878 000010 XX=XX+1
|
|
15879 000021 ZZ=ZZ+2
|
|
15880 044004 201 07 0 00 000010 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15881 044005 201 11 0 00 000021 MOVEI AC,ZZ ;SETUP DVND
|
|
15882 044006 201 10 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
15883 044007 233 11 0 00 000010 IDIVB AC,AC-1 ;DIVIDE ZZ BY 2
|
|
15884 044010 312 11 0 00 000007 CAME AC,AC-2 ;TEST QUOT
|
|
15885 044011 003 11 0 00 021003 ER3 AC,SN ;QUOT ERROR
|
|
15886 044012 312 11 0 00 000010 CAME AC,AC-1 ;C(AC) = C(E)
|
|
15887 044013 005 10 0 00 021003 ER5 AC-1,SN
|
|
15888 044014 302 12 0 00 000001 CAIE AC+1,1 ;TEST REMD=1
|
|
15889 044015 004 12 0 00 021003 ER4 AC+1,SN ;IDIVB FAILED
|
|
15890 044016 321 13 0 00 044004 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15891
|
|
15892
|
|
15893 021004 SN=SN+1
|
|
15894 000011 XX=XX+1
|
|
15895 000023 ZZ=ZZ+2
|
|
15896 044017 201 07 0 00 000011 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15897 044020 201 11 0 00 000023 MOVEI AC,ZZ ;SETUP DVND
|
|
15898 044021 201 10 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
15899 044022 233 11 0 00 000010 IDIVB AC,AC-1 ;DIVIDE ZZ BY 2
|
|
15900 044023 312 11 0 00 000007 CAME AC,AC-2 ;TEST QUOT
|
|
15901 044024 003 11 0 00 021004 ER3 AC,SN ;QUOT ERROR
|
|
15902 044025 312 11 0 00 000010 CAME AC,AC-1 ;C(AC) = C(E)
|
|
15903 044026 005 10 0 00 021004 ER5 AC-1,SN
|
|
15904 044027 302 12 0 00 000001 CAIE AC+1,1 ;TEST REMD=1
|
|
15905 044030 004 12 0 00 021004 ER4 AC+1,SN ;IDIVB FAILED
|
|
15906 044031 321 13 0 00 044017 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15907
|
|
15908
|
|
15909 021005 SN=SN+1
|
|
15910 000012 XX=XX+1
|
|
15911 000025 ZZ=ZZ+2
|
|
15912 044032 201 07 0 00 000012 MOVEI AC-2,XX ;SETUP FOR COMPARISON
|
|
15913 044033 201 11 0 00 000025 MOVEI AC,ZZ ;SETUP DVND
|
|
15914 044034 201 10 0 00 000002 MOVEI AC-1,2 ;SETUP DVSR
|
|
15915 044035 233 11 0 00 000010 IDIVB AC,AC-1 ;DIVIDE ZZ BY 2
|
|
15916 044036 312 11 0 00 000007 CAME AC,AC-2 ;TEST QUOT
|
|
15917 044037 003 11 0 00 021005 ER3 AC,SN ;QUOT ERROR
|
|
15918 044040 312 11 0 00 000010 CAME AC,AC-1 ;C(AC) = C(E)
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 85-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0352
|
|
|
|
15919 044041 005 10 0 00 021005 ER5 AC-1,SN
|
|
15920 044042 302 12 0 00 000001 CAIE AC+1,1 ;TEST REMD=1
|
|
15921 044043 004 12 0 00 021005 ER4 AC+1,SN ;IDIVB FAILED
|
|
15922 044044 321 13 0 00 044032 JUMPL AC+2,.-^D10 ;LOOP ON ERROR SWITCH
|
|
15923
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 86
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0353
|
|
|
|
15924 ;TEST DIV DIRECT - TWO POSITIVES
|
|
15925 ;HIGH DVND=4,10,20,40,100
|
|
15926 ;LOW DVND=0
|
|
15927 ;DVSR=2000
|
|
15928 ;QUOT=001000000000, 00200000000 ETC
|
|
15929 ;REMD=0
|
|
15930
|
|
15931 000010 AC=10
|
|
15932 SAVEAC (1,1)^
|
|
15933 044045 201 12 0 00 044045 MOVEI AC+2,. ;SAVE TEST PC
|
|
15934 044046 202 12 0 00 030051 MOVEM AC+2,TESTPC
|
|
15935 044047 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
15936 044050 202 12 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
15937
|
|
15938 021100 SN=21100
|
|
15939 000400 XX=000400
|
|
15940 000002 ZZ=2
|
|
15941
|
|
15942 F21100: REPEAT ^D5,<
|
|
15943 SN=SN+1
|
|
15944 XX=XX+XX
|
|
15945 ZZ=ZZ+ZZ
|
|
15946 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
15947 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
15948 SETZ AC+1, ;SETUP LOW DVND
|
|
15949 MOVEI AC-1,2000 ;SETUP DVSR
|
|
15950 DIV AC,AC-1 ;DIVIDE ZZ BY 2000
|
|
15951 CAME AC,AC-2 ;TEST QUOT
|
|
15952 ER3 AC,SN
|
|
15953 JUMPE AC+1,.+2 ;TEST REMD
|
|
15954 ER4 AC+1,SN ;DIV FAILED
|
|
15955 CAIE AC-1,2000 ;WAS C(E) MODIFIED ?
|
|
15956 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15957 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
15958 >
|
|
15959
|
|
15960 021101 SN=SN+1
|
|
15961 001000 XX=XX+XX
|
|
15962 000004 ZZ=ZZ+ZZ
|
|
15963 044051 205 06 0 00 001000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
15964 044052 201 10 0 00 000004 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
15965 044053 400 11 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
15966 044054 201 07 0 00 002000 MOVEI AC-1,2000 ;SETUP DVSR
|
|
15967 044055 234 10 0 00 000007 DIV AC,AC-1 ;DIVIDE ZZ BY 2000
|
|
15968 044056 312 10 0 00 000006 CAME AC,AC-2 ;TEST QUOT
|
|
15969 044057 003 10 0 00 021101 ER3 AC,SN
|
|
15970 044060 322 11 0 00 044062 JUMPE AC+1,.+2 ;TEST REMD
|
|
15971 044061 004 11 0 00 021101 ER4 AC+1,SN ;DIV FAILED
|
|
15972 044062 302 07 0 00 002000 CAIE AC-1,2000 ;WAS C(E) MODIFIED ?
|
|
15973 044063 005 07 0 00 021101 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15974 044064 321 12 0 00 044051 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
15975
|
|
15976
|
|
15977 021102 SN=SN+1
|
|
15978 002000 XX=XX+XX
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 86-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0354
|
|
|
|
15979 000010 ZZ=ZZ+ZZ
|
|
15980 044065 205 06 0 00 002000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
15981 044066 201 10 0 00 000010 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
15982 044067 400 11 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
15983 044070 201 07 0 00 002000 MOVEI AC-1,2000 ;SETUP DVSR
|
|
15984 044071 234 10 0 00 000007 DIV AC,AC-1 ;DIVIDE ZZ BY 2000
|
|
15985 044072 312 10 0 00 000006 CAME AC,AC-2 ;TEST QUOT
|
|
15986 044073 003 10 0 00 021102 ER3 AC,SN
|
|
15987 044074 322 11 0 00 044076 JUMPE AC+1,.+2 ;TEST REMD
|
|
15988 044075 004 11 0 00 021102 ER4 AC+1,SN ;DIV FAILED
|
|
15989 044076 302 07 0 00 002000 CAIE AC-1,2000 ;WAS C(E) MODIFIED ?
|
|
15990 044077 005 07 0 00 021102 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
15991 044100 321 12 0 00 044065 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
15992
|
|
15993
|
|
15994 021103 SN=SN+1
|
|
15995 004000 XX=XX+XX
|
|
15996 000020 ZZ=ZZ+ZZ
|
|
15997 044101 205 06 0 00 004000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
15998 044102 201 10 0 00 000020 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
15999 044103 400 11 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
16000 044104 201 07 0 00 002000 MOVEI AC-1,2000 ;SETUP DVSR
|
|
16001 044105 234 10 0 00 000007 DIV AC,AC-1 ;DIVIDE ZZ BY 2000
|
|
16002 044106 312 10 0 00 000006 CAME AC,AC-2 ;TEST QUOT
|
|
16003 044107 003 10 0 00 021103 ER3 AC,SN
|
|
16004 044110 322 11 0 00 044112 JUMPE AC+1,.+2 ;TEST REMD
|
|
16005 044111 004 11 0 00 021103 ER4 AC+1,SN ;DIV FAILED
|
|
16006 044112 302 07 0 00 002000 CAIE AC-1,2000 ;WAS C(E) MODIFIED ?
|
|
16007 044113 005 07 0 00 021103 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
16008 044114 321 12 0 00 044101 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
16009
|
|
16010
|
|
16011 021104 SN=SN+1
|
|
16012 010000 XX=XX+XX
|
|
16013 000040 ZZ=ZZ+ZZ
|
|
16014 044115 205 06 0 00 010000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
16015 044116 201 10 0 00 000040 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
16016 044117 400 11 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
16017 044120 201 07 0 00 002000 MOVEI AC-1,2000 ;SETUP DVSR
|
|
16018 044121 234 10 0 00 000007 DIV AC,AC-1 ;DIVIDE ZZ BY 2000
|
|
16019 044122 312 10 0 00 000006 CAME AC,AC-2 ;TEST QUOT
|
|
16020 044123 003 10 0 00 021104 ER3 AC,SN
|
|
16021 044124 322 11 0 00 044126 JUMPE AC+1,.+2 ;TEST REMD
|
|
16022 044125 004 11 0 00 021104 ER4 AC+1,SN ;DIV FAILED
|
|
16023 044126 302 07 0 00 002000 CAIE AC-1,2000 ;WAS C(E) MODIFIED ?
|
|
16024 044127 005 07 0 00 021104 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
16025 044130 321 12 0 00 044115 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
16026
|
|
16027
|
|
16028 021105 SN=SN+1
|
|
16029 020000 XX=XX+XX
|
|
16030 000100 ZZ=ZZ+ZZ
|
|
16031 044131 205 06 0 00 020000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
16032 044132 201 10 0 00 000100 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
16033 044133 400 11 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 86-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0355
|
|
|
|
16034 044134 201 07 0 00 002000 MOVEI AC-1,2000 ;SETUP DVSR
|
|
16035 044135 234 10 0 00 000007 DIV AC,AC-1 ;DIVIDE ZZ BY 2000
|
|
16036 044136 312 10 0 00 000006 CAME AC,AC-2 ;TEST QUOT
|
|
16037 044137 003 10 0 00 021105 ER3 AC,SN
|
|
16038 044140 322 11 0 00 044142 JUMPE AC+1,.+2 ;TEST REMD
|
|
16039 044141 004 11 0 00 021105 ER4 AC+1,SN ;DIV FAILED
|
|
16040 044142 302 07 0 00 002000 CAIE AC-1,2000 ;WAS C(E) MODIFIED ?
|
|
16041 044143 005 07 0 00 021105 ER5 AC-1,SN ;C(E) WAS CLOBBERED
|
|
16042 044144 321 12 0 00 044131 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
16043
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 87
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0356
|
|
|
|
16044 ;TEST DIV IMMEDIATE - TWO POSITIVES
|
|
16045 ;HIGH DVND=0
|
|
16046 ;LOW DVND=3,4,5,6,7
|
|
16047 ;DVSR=E (2,3,4,5,6)
|
|
16048 ;QUOT=1
|
|
16049 ;REMD=1
|
|
16050
|
|
16051 000007 AC=7
|
|
16052 SAVEAC (1,1)^
|
|
16053 044145 201 11 0 00 044145 MOVEI AC+2,. ;SAVE TEST PC
|
|
16054 044146 202 11 0 00 030051 MOVEM AC+2,TESTPC
|
|
16055 044147 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
16056 044150 202 11 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
16057
|
|
16058 021200 SN=21200
|
|
16059 000001 XX=1
|
|
16060 000002 ZZ=2
|
|
16061 F21200: REPEAT ^D5,<
|
|
16062 SN=SN+1
|
|
16063 XX=XX+1
|
|
16064 ZZ=ZZ+1
|
|
16065 SETZ AC, ;SETUP HIGH DVND
|
|
16066 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
16067 DIVI AC,XX ;SETUP DVSR
|
|
16068 CAIE AC,1 ;TEST QUOT=1
|
|
16069 ER3 AC,SN
|
|
16070 CAIE AC+1,1 ;TEST QUOT=REMD
|
|
16071 ER4 AC+1,SN ;DIVI FAILED
|
|
16072 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
16073 >
|
|
16074
|
|
16075 021201 SN=SN+1
|
|
16076 000002 XX=XX+1
|
|
16077 000003 ZZ=ZZ+1
|
|
16078 044151 400 07 0 00 000000 SETZ AC, ;SETUP HIGH DVND
|
|
16079 044152 201 10 0 00 000003 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
16080 044153 235 07 0 00 000002 DIVI AC,XX ;SETUP DVSR
|
|
16081 044154 302 07 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
16082 044155 003 07 0 00 021201 ER3 AC,SN
|
|
16083 044156 302 10 0 00 000001 CAIE AC+1,1 ;TEST QUOT=REMD
|
|
16084 044157 004 10 0 00 021201 ER4 AC+1,SN ;DIVI FAILED
|
|
16085 044160 321 11 0 00 044151 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
16086
|
|
16087
|
|
16088 021202 SN=SN+1
|
|
16089 000003 XX=XX+1
|
|
16090 000004 ZZ=ZZ+1
|
|
16091 044161 400 07 0 00 000000 SETZ AC, ;SETUP HIGH DVND
|
|
16092 044162 201 10 0 00 000004 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
16093 044163 235 07 0 00 000003 DIVI AC,XX ;SETUP DVSR
|
|
16094 044164 302 07 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
16095 044165 003 07 0 00 021202 ER3 AC,SN
|
|
16096 044166 302 10 0 00 000001 CAIE AC+1,1 ;TEST QUOT=REMD
|
|
16097 044167 004 10 0 00 021202 ER4 AC+1,SN ;DIVI FAILED
|
|
16098 044170 321 11 0 00 044161 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 87-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0357
|
|
|
|
16099
|
|
16100
|
|
16101 021203 SN=SN+1
|
|
16102 000004 XX=XX+1
|
|
16103 000005 ZZ=ZZ+1
|
|
16104 044171 400 07 0 00 000000 SETZ AC, ;SETUP HIGH DVND
|
|
16105 044172 201 10 0 00 000005 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
16106 044173 235 07 0 00 000004 DIVI AC,XX ;SETUP DVSR
|
|
16107 044174 302 07 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
16108 044175 003 07 0 00 021203 ER3 AC,SN
|
|
16109 044176 302 10 0 00 000001 CAIE AC+1,1 ;TEST QUOT=REMD
|
|
16110 044177 004 10 0 00 021203 ER4 AC+1,SN ;DIVI FAILED
|
|
16111 044200 321 11 0 00 044171 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
16112
|
|
16113
|
|
16114 021204 SN=SN+1
|
|
16115 000005 XX=XX+1
|
|
16116 000006 ZZ=ZZ+1
|
|
16117 044201 400 07 0 00 000000 SETZ AC, ;SETUP HIGH DVND
|
|
16118 044202 201 10 0 00 000006 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
16119 044203 235 07 0 00 000005 DIVI AC,XX ;SETUP DVSR
|
|
16120 044204 302 07 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
16121 044205 003 07 0 00 021204 ER3 AC,SN
|
|
16122 044206 302 10 0 00 000001 CAIE AC+1,1 ;TEST QUOT=REMD
|
|
16123 044207 004 10 0 00 021204 ER4 AC+1,SN ;DIVI FAILED
|
|
16124 044210 321 11 0 00 044201 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
16125
|
|
16126
|
|
16127 021205 SN=SN+1
|
|
16128 000006 XX=XX+1
|
|
16129 000007 ZZ=ZZ+1
|
|
16130 044211 400 07 0 00 000000 SETZ AC, ;SETUP HIGH DVND
|
|
16131 044212 201 10 0 00 000007 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
16132 044213 235 07 0 00 000006 DIVI AC,XX ;SETUP DVSR
|
|
16133 044214 302 07 0 00 000001 CAIE AC,1 ;TEST QUOT=1
|
|
16134 044215 003 07 0 00 021205 ER3 AC,SN
|
|
16135 044216 302 10 0 00 000001 CAIE AC+1,1 ;TEST QUOT=REMD
|
|
16136 044217 004 10 0 00 021205 ER4 AC+1,SN ;DIVI FAILED
|
|
16137 044220 321 11 0 00 044211 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
|
|
16138
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 88
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0358
|
|
|
|
16139 ;TEST DIV MEMORY - TWO NEGATIVES
|
|
16140 ;HI DVND = -2,-4,-10,-20,-40
|
|
16141 ;LO DVND=0
|
|
16142 ;DVSR=-200
|
|
16143 ;QUOT=00400000000, 010000000000 ETC
|
|
16144 ;REMD=0
|
|
16145
|
|
16146 000006 AC=6
|
|
16147 SAVEAC (1,1)^
|
|
16148 044221 201 10 0 00 044221 MOVEI AC+2,. ;SAVE TEST PC
|
|
16149 044222 202 10 0 00 030051 MOVEM AC+2,TESTPC
|
|
16150 044223 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
16151 044224 202 10 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
16152
|
|
16153 021300 SN=21300
|
|
16154 002000 XX=002000
|
|
16155 777777 777777 ZZ=-1
|
|
16156
|
|
16157 F21300: REPEAT ^D5,<
|
|
16158 SN=SN+1
|
|
16159 XX=XX+XX
|
|
16160 ZZ=ZZ+ZZ
|
|
16161 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
16162 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
16163 SETZ AC+1, ;SETUP LOW DVND
|
|
16164 HRROI AC-1,-200 ;SETUP DVSR
|
|
16165 DIVM AC,AC-1 ;DIVIDE ZZ BY -200
|
|
16166 CAME AC-1,AC-2 ;TEST QUOT
|
|
16167 ER5 AC-1,SN ;DIVM FAILED
|
|
16168 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
16169 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
16170 SKIPE <AC+1>&17 ;WAS C(AC+1) MODIFIED ?
|
|
16171 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
16172 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
16173 >
|
|
16174
|
|
16175 021301 SN=SN+1
|
|
16176 004000 XX=XX+XX
|
|
16177 777777 777776 ZZ=ZZ+ZZ
|
|
16178 044225 205 04 0 00 004000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
16179 044226 561 06 0 00 777776 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
16180 044227 400 07 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
16181 044230 561 05 0 00 777600 HRROI AC-1,-200 ;SETUP DVSR
|
|
16182 044231 236 06 0 00 000005 DIVM AC,AC-1 ;DIVIDE ZZ BY -200
|
|
16183 044232 312 05 0 00 000004 CAME AC-1,AC-2 ;TEST QUOT
|
|
16184 044233 005 05 0 00 021301 ER5 AC-1,SN ;DIVM FAILED
|
|
16185 044234 312 06 0 00 044621 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
16186 044235 003 06 0 00 021301 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
16187 044236 332 00 0 00 000007 SKIPE <AC+1>&17 ;WAS C(AC+1) MODIFIED ?
|
|
16188 044237 004 07 0 00 021301 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
16189 044240 321 10 0 00 044225 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
16190
|
|
16191
|
|
16192 021302 SN=SN+1
|
|
16193 010000 XX=XX+XX
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 88-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0359
|
|
|
|
16194 777777 777774 ZZ=ZZ+ZZ
|
|
16195 044241 205 04 0 00 010000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
16196 044242 561 06 0 00 777774 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
16197 044243 400 07 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
16198 044244 561 05 0 00 777600 HRROI AC-1,-200 ;SETUP DVSR
|
|
16199 044245 236 06 0 00 000005 DIVM AC,AC-1 ;DIVIDE ZZ BY -200
|
|
16200 044246 312 05 0 00 000004 CAME AC-1,AC-2 ;TEST QUOT
|
|
16201 044247 005 05 0 00 021302 ER5 AC-1,SN ;DIVM FAILED
|
|
16202 044250 312 06 0 00 045325 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
16203 044251 003 06 0 00 021302 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
16204 044252 332 00 0 00 000007 SKIPE <AC+1>&17 ;WAS C(AC+1) MODIFIED ?
|
|
16205 044253 004 07 0 00 021302 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
16206 044254 321 10 0 00 044241 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
16207
|
|
16208
|
|
16209 021303 SN=SN+1
|
|
16210 020000 XX=XX+XX
|
|
16211 777777 777770 ZZ=ZZ+ZZ
|
|
16212 044255 205 04 0 00 020000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
16213 044256 561 06 0 00 777770 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
16214 044257 400 07 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
16215 044260 561 05 0 00 777600 HRROI AC-1,-200 ;SETUP DVSR
|
|
16216 044261 236 06 0 00 000005 DIVM AC,AC-1 ;DIVIDE ZZ BY -200
|
|
16217 044262 312 05 0 00 000004 CAME AC-1,AC-2 ;TEST QUOT
|
|
16218 044263 005 05 0 00 021303 ER5 AC-1,SN ;DIVM FAILED
|
|
16219 044264 312 06 0 00 045305 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
16220 044265 003 06 0 00 021303 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
16221 044266 332 00 0 00 000007 SKIPE <AC+1>&17 ;WAS C(AC+1) MODIFIED ?
|
|
16222 044267 004 07 0 00 021303 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
16223 044270 321 10 0 00 044255 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
16224
|
|
16225
|
|
16226 021304 SN=SN+1
|
|
16227 040000 XX=XX+XX
|
|
16228 777777 777760 ZZ=ZZ+ZZ
|
|
16229 044271 205 04 0 00 040000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
16230 044272 561 06 0 00 777760 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
16231 044273 400 07 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
16232 044274 561 05 0 00 777600 HRROI AC-1,-200 ;SETUP DVSR
|
|
16233 044275 236 06 0 00 000005 DIVM AC,AC-1 ;DIVIDE ZZ BY -200
|
|
16234 044276 312 05 0 00 000004 CAME AC-1,AC-2 ;TEST QUOT
|
|
16235 044277 005 05 0 00 021304 ER5 AC-1,SN ;DIVM FAILED
|
|
16236 044300 312 06 0 00 045243 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
16237 044301 003 06 0 00 021304 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
16238 044302 332 00 0 00 000007 SKIPE <AC+1>&17 ;WAS C(AC+1) MODIFIED ?
|
|
16239 044303 004 07 0 00 021304 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
16240 044304 321 10 0 00 044271 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
16241
|
|
16242
|
|
16243 021305 SN=SN+1
|
|
16244 100000 XX=XX+XX
|
|
16245 777777 777740 ZZ=ZZ+ZZ
|
|
16246 044305 205 04 0 00 100000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
16247 044306 561 06 0 00 777740 HRROI AC,ZZ ;SETUP HIGH DVND
|
|
16248 044307 400 07 0 00 000000 SETZ AC+1, ;SETUP LOW DVND
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 88-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0360
|
|
|
|
16249 044310 561 05 0 00 777600 HRROI AC-1,-200 ;SETUP DVSR
|
|
16250 044311 236 06 0 00 000005 DIVM AC,AC-1 ;DIVIDE ZZ BY -200
|
|
16251 044312 312 05 0 00 000004 CAME AC-1,AC-2 ;TEST QUOT
|
|
16252 044313 005 05 0 00 021305 ER5 AC-1,SN ;DIVM FAILED
|
|
16253 044314 312 06 0 00 045244 CAME AC,[-1,,ZZ] ;WAS C(AC) MODIFIED ?
|
|
16254 044315 003 06 0 00 021305 ER3 AC,SN ;C(AC) WAS CLOBBERED
|
|
16255 044316 332 00 0 00 000007 SKIPE <AC+1>&17 ;WAS C(AC+1) MODIFIED ?
|
|
16256 044317 004 07 0 00 021305 ER4 AC+1,SN ;C(AC+1) WAS CLOBBERED
|
|
16257 044320 321 10 0 00 044305 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
16258
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 89
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0361
|
|
|
|
16259 ;TEST DIV BOTH - TWO POSITIVES
|
|
16260 ;HIGH DVND 2,4,10,20,40
|
|
16261 ;LOW DVND 2,4,10,20,40
|
|
16262 ;DVSR=200
|
|
16263 ;QUOT=00400000000, 010000000000 ETC
|
|
16264 ;REMD=2,4,10,20,40
|
|
16265
|
|
16266 000005 AC=5
|
|
16267 SAVEAC (1,1)^
|
|
16268 044321 201 07 0 00 044321 MOVEI AC+2,. ;SAVE TEST PC
|
|
16269 044322 202 07 0 00 030051 MOVEM AC+2,TESTPC
|
|
16270 044323 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
|
|
16271 044324 202 07 0 00 045447 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
|
|
16272
|
|
16273 021400 SN=21400
|
|
16274 002000 XX=002000
|
|
16275 000001 ZZ=1
|
|
16276
|
|
16277 F21400: REPEAT ^D5,<
|
|
16278 SN=SN+1
|
|
16279 XX=XX+XX
|
|
16280 ZZ=ZZ+ZZ
|
|
16281 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
16282 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
16283 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
16284 MOVEI AC-1,200 ;SETUP DVSR
|
|
16285 DIVB AC,AC-1 ;DIVIDE ZZ BY 200
|
|
16286 CAME AC,AC-2 ;TEST QUOT
|
|
16287 ER3 AC,SN ;QUOT ERROR
|
|
16288 CAME AC-1,AC-2 ;TEST C(AC) = C(E)
|
|
16289 ER5 AC-1,SN
|
|
16290 CAIE AC+1,ZZ ;TEST REMD
|
|
16291 ER4 AC+1,SN ;DIVB FAILED
|
|
16292 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
16293 >
|
|
16294
|
|
16295 021401 SN=SN+1
|
|
16296 004000 XX=XX+XX
|
|
16297 000002 ZZ=ZZ+ZZ
|
|
16298 044325 205 03 0 00 004000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
16299 044326 201 05 0 00 000002 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
16300 044327 201 06 0 00 000002 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
16301 044330 201 04 0 00 000200 MOVEI AC-1,200 ;SETUP DVSR
|
|
16302 044331 237 05 0 00 000004 DIVB AC,AC-1 ;DIVIDE ZZ BY 200
|
|
16303 044332 312 05 0 00 000003 CAME AC,AC-2 ;TEST QUOT
|
|
16304 044333 003 05 0 00 021401 ER3 AC,SN ;QUOT ERROR
|
|
16305 044334 312 04 0 00 000003 CAME AC-1,AC-2 ;TEST C(AC) = C(E)
|
|
16306 044335 005 04 0 00 021401 ER5 AC-1,SN
|
|
16307 044336 302 06 0 00 000002 CAIE AC+1,ZZ ;TEST REMD
|
|
16308 044337 004 06 0 00 021401 ER4 AC+1,SN ;DIVB FAILED
|
|
16309 044340 321 07 0 00 044325 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
16310
|
|
16311
|
|
16312 021402 SN=SN+1
|
|
16313 010000 XX=XX+XX
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 89-1
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0362
|
|
|
|
16314 000004 ZZ=ZZ+ZZ
|
|
16315 044341 205 03 0 00 010000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
16316 044342 201 05 0 00 000004 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
16317 044343 201 06 0 00 000004 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
16318 044344 201 04 0 00 000200 MOVEI AC-1,200 ;SETUP DVSR
|
|
16319 044345 237 05 0 00 000004 DIVB AC,AC-1 ;DIVIDE ZZ BY 200
|
|
16320 044346 312 05 0 00 000003 CAME AC,AC-2 ;TEST QUOT
|
|
16321 044347 003 05 0 00 021402 ER3 AC,SN ;QUOT ERROR
|
|
16322 044350 312 04 0 00 000003 CAME AC-1,AC-2 ;TEST C(AC) = C(E)
|
|
16323 044351 005 04 0 00 021402 ER5 AC-1,SN
|
|
16324 044352 302 06 0 00 000004 CAIE AC+1,ZZ ;TEST REMD
|
|
16325 044353 004 06 0 00 021402 ER4 AC+1,SN ;DIVB FAILED
|
|
16326 044354 321 07 0 00 044341 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
16327
|
|
16328
|
|
16329 021403 SN=SN+1
|
|
16330 020000 XX=XX+XX
|
|
16331 000010 ZZ=ZZ+ZZ
|
|
16332 044355 205 03 0 00 020000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
16333 044356 201 05 0 00 000010 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
16334 044357 201 06 0 00 000010 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
16335 044360 201 04 0 00 000200 MOVEI AC-1,200 ;SETUP DVSR
|
|
16336 044361 237 05 0 00 000004 DIVB AC,AC-1 ;DIVIDE ZZ BY 200
|
|
16337 044362 312 05 0 00 000003 CAME AC,AC-2 ;TEST QUOT
|
|
16338 044363 003 05 0 00 021403 ER3 AC,SN ;QUOT ERROR
|
|
16339 044364 312 04 0 00 000003 CAME AC-1,AC-2 ;TEST C(AC) = C(E)
|
|
16340 044365 005 04 0 00 021403 ER5 AC-1,SN
|
|
16341 044366 302 06 0 00 000010 CAIE AC+1,ZZ ;TEST REMD
|
|
16342 044367 004 06 0 00 021403 ER4 AC+1,SN ;DIVB FAILED
|
|
16343 044370 321 07 0 00 044355 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
16344
|
|
16345
|
|
16346 021404 SN=SN+1
|
|
16347 040000 XX=XX+XX
|
|
16348 000020 ZZ=ZZ+ZZ
|
|
16349 044371 205 03 0 00 040000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
16350 044372 201 05 0 00 000020 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
16351 044373 201 06 0 00 000020 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
16352 044374 201 04 0 00 000200 MOVEI AC-1,200 ;SETUP DVSR
|
|
16353 044375 237 05 0 00 000004 DIVB AC,AC-1 ;DIVIDE ZZ BY 200
|
|
16354 044376 312 05 0 00 000003 CAME AC,AC-2 ;TEST QUOT
|
|
16355 044377 003 05 0 00 021404 ER3 AC,SN ;QUOT ERROR
|
|
16356 044400 312 04 0 00 000003 CAME AC-1,AC-2 ;TEST C(AC) = C(E)
|
|
16357 044401 005 04 0 00 021404 ER5 AC-1,SN
|
|
16358 044402 302 06 0 00 000020 CAIE AC+1,ZZ ;TEST REMD
|
|
16359 044403 004 06 0 00 021404 ER4 AC+1,SN ;DIVB FAILED
|
|
16360 044404 321 07 0 00 044371 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
16361
|
|
16362
|
|
16363 021405 SN=SN+1
|
|
16364 100000 XX=XX+XX
|
|
16365 000040 ZZ=ZZ+ZZ
|
|
16366 044405 205 03 0 00 100000 MOVSI AC-2,XX ;SETUP FOR COMPARISON
|
|
16367 044406 201 05 0 00 000040 MOVEI AC,ZZ ;SETUP HIGH DVND
|
|
16368 044407 201 06 0 00 000040 MOVEI AC+1,ZZ ;SETUP LOW DVND
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 89-2
|
|
DAKALM MAC 20-JAN-77 11:20 DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST SEQ 0363
|
|
|
|
16369 044410 201 04 0 00 000200 MOVEI AC-1,200 ;SETUP DVSR
|
|
16370 044411 237 05 0 00 000004 DIVB AC,AC-1 ;DIVIDE ZZ BY 200
|
|
16371 044412 312 05 0 00 000003 CAME AC,AC-2 ;TEST QUOT
|
|
16372 044413 003 05 0 00 021405 ER3 AC,SN ;QUOT ERROR
|
|
16373 044414 312 04 0 00 000003 CAME AC-1,AC-2 ;TEST C(AC) = C(E)
|
|
16374 044415 005 04 0 00 021405 ER5 AC-1,SN
|
|
16375 044416 302 06 0 00 000040 CAIE AC+1,ZZ ;TEST REMD
|
|
16376 044417 004 06 0 00 021405 ER4 AC+1,SN ;DIVB FAILED
|
|
16377 044420 321 07 0 00 044405 JUMPL AC+2,.-^D11 ;LOOP ON ERROR SWITCH
|
|
16378
|
|
16379
|
|
16380 044421 254 00 0 00 030057 LAST1: JRST BEGEND ;REPEAT DIAGNOSTIC
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 1
|
|
UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0364
|
|
|
|
16381 SUBTTL *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975
|
|
16382
|
|
16383 ;THIS SUBROUTINE PROVIDES ERROR REPORTING THRU THE USE OF UUO'S.
|
|
16384
|
|
16385 044422 202 00 0 00 045453 ERRMES: MOVEM 0,%ERAC0# ;SAVE AC0
|
|
16386 IFDEF EXCASB,<IFDEF KI10,<
|
|
16387 SKIPN KAIFLG
|
|
16388 JRST .+5
|
|
16389 SKIPE USER ;USER MODE ?
|
|
16390 JRST .+3
|
|
16391 SKIPE MARGIN
|
|
16392 DATAO APR,[IMGNOF,,ISPDOF] ;CLR MARGINS >>
|
|
16393 044423 202 01 0 00 045454 MOVEM 1,%ERAC1# ;SAVE AC1
|
|
16394 044424 202 02 0 00 045455 MOVEM 2,%ERAC2# ;SAVE AC2
|
|
16395 044425 350 00 0 00 030053 AOS ERRTLS ;INCREMENT ERROR TOTALS
|
|
16396 044426 550 00 0 00 030114 HRRZ 0,$SVUPC ;GET PC OF UUO
|
|
16397 044427 316 00 0 00 030052 CAMN 0,ERRPC ;PC = PC OF LAST ERROR ?
|
|
16398 044430 350 00 0 00 045450 AOS MICNT# ;YES, ADD 1 TO ERROR COUNT
|
|
16399 044431 200 00 0 00 045450 MOVE 0,MICNT
|
|
16400 044432 504 00 0 00 030114 HRL 0,$SVUPC
|
|
16401 044433 336 00 0 00 030041 SKIPN KLFLG ;NOT KL10
|
|
16402 044434 332 00 0 00 030037 SKIPE USER ;AND NOT USER?
|
|
16403 044435 254 00 0 00 044437 JRST .+2
|
|
16404 044436 7 004 14 0 00 000000 DATAO PI,0 ;YES, DISPLAY ERROR PC,ERROR COUNT
|
|
16405 044437 402 00 0 00 045451 SETZM PROCED# ;CLEAR PROCEED FLAG
|
|
16406 044440 037 10 0 00 000002 SWITCH
|
|
16407 044441 603 00 0 00 040000 TLNE NOPNT ;PRINTOUT ?
|
|
16408 044442 254 00 0 00 044555 JRST %ERRS1 ;NO, RESTORE AC'S AND RETURN
|
|
16409 044443 200 01 0 00 030113 MOVE 1,$SVUUO
|
|
16410 044444 242 01 0 00 777745 LSH 1,-^D27
|
|
16411 044445 202 01 0 00 045452 MOVEM 1,%ACS1A# ;SAVE UUO NUMBER
|
|
16412 044446 200 00 0 00 045453 MOVE 0,%ERAC0
|
|
16413 044447 200 01 0 00 045454 MOVE 1,%ERAC1
|
|
16414 044450 335 00 1 00 045447 SKIPGE @ERRLOP ;ERR LOOP AC > OR = 0 ?
|
|
16415 044451 254 00 0 00 044607 JRST %ERRS4 ;NO, SEE IF PRINT ALL
|
|
16416 044452 402 00 0 00 045450 %ERMS1: SETZM MICNT ;CLEAR ERROR COUNT
|
|
16417 044453 331 00 0 00 030043 SKIPL MONCTL ;DIAG MON OR SYS EXER ?
|
|
16418 044454 254 00 0 00 044460 JRST .+4 ;NO, DON'T NEED TITLE
|
|
16419 044455 336 00 0 00 045456 SKIPN %ERFST# ;FIRST ERROR ?
|
|
16420 044456 037 04 0 00 000002 PNTNM ;YES, PRINT PROGRAM TITLE
|
|
16421 044457 476 00 0 00 045456 SETOM %ERFST
|
|
16422 044460 336 00 0 00 030047 SKIPN PASCNT ;FIRST PASS ?
|
|
16423 044461 254 00 0 00 044465 JRST .+4 ;YES
|
|
16424 PMSG <^TEST PASS COUNT = >^
|
|
16425 044462 037 02 0 00 045335 PSIXM [SIXBIT\^TEST PASS COUNT = _\]^
|
|
16426 044463 200 00 0 00 030047 MOVE PASCNT
|
|
16427 044464 037 15 0 00 000000 PNTDEC
|
|
16428 PMSG <^PC = >^
|
|
16429 044465 037 02 0 00 045341 PSIXM [SIXBIT\^PC = _\]^
|
|
16430 044466 550 00 0 00 030114 HRRZ 0,$SVUPC ;GET PC OF UUO
|
|
16431 044467 202 00 0 00 030052 MOVEM 0,ERRPC ;SAVE FOR COMPARE
|
|
16432 044470 037 06 0 00 000000 PNT6 ;PRINT UUO ADDRESS
|
|
16433 XLIST
|
|
16434 IFDEF ERDIAG,<LIST
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 2
|
|
UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0365
|
|
|
|
16435 ;DIAGNOSTIC FORMAT ERROR PRINTER
|
|
16436
|
|
16437 ;PRINT RESULT
|
|
16438
|
|
16439 044471 %ERMS2: PMSG <^RESULT = >^
|
|
16440 044471 037 02 0 00 045343 PSIXM [SIXBIT\^RESULT = _\]^
|
|
16441 044472 200 01 0 00 030113 MOVE 1,$SVUUO ;GET AC # OF UUO
|
|
16442 044473 242 01 0 00 777751 LSH 1,-27
|
|
16443 044474 405 01 0 00 000017 ANDI 1,17
|
|
16444 044475 200 00 0 01 000000 MOVE 0,(1) ;GET C(AC)
|
|
16445 044476 307 01 0 00 000001 CAIG 1,1 ;IS AC # = TO SAVE AC ?
|
|
16446 044477 200 00 0 01 045453 MOVE 0,%ERAC0(1) ;YES, GET SAVED AC
|
|
16447 044500 037 13 0 00 000000 PNTHW ;PRINT C(AC)
|
|
16448
|
|
16449 044501 200 00 0 00 030046 MOVE CONSW
|
|
16450 044502 603 00 0 00 000200 TLNE TXTINH ;PRINT FAILURE DES AND FLT NBR ?
|
|
16451 044503 254 00 0 00 044552 JRST %ERMORE ;NO, RESTORE AC'S ETC.
|
|
16452
|
|
16453 ;PRINT FAILURE DESCRIPTOR
|
|
16454
|
|
16455 044504 200 01 0 00 045452 MOVE 1,%ACS1A ;GET UUO NUMBER
|
|
16456 044505 307 01 0 00 000001 CAIG 1,1 ;PRINT DESCRIPTOR ?
|
|
16457 044506 254 00 0 00 044512 JRST %ERMS3 ;NO, JUST PRINT FAULT NUMBER
|
|
16458 044507 037 00 0 00 030242 PCRL
|
|
16459 044510 200 00 0 01 044536 MOVE %FLTTB(1)
|
|
16460 044511 037 17 0 00 000000 PNTAL ;PRINT FAULT DESCRIPTOR
|
|
16461
|
|
16462 ;PRINT FAULT NUMBER
|
|
16463
|
|
16464 044512 %ERMS3: PMSG <^FAULT NUMBER = >^
|
|
16465 044512 037 02 0 00 045345 PSIXM [SIXBIT\^FAULT NUMBER = _\]^
|
|
16466 044513 201 00 0 00 044535 MOVEI TLET
|
|
16467 044514 037 00 0 00 000000 PNTA ;PRINT TEST LETTER
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 3
|
|
UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0366
|
|
|
|
16468
|
|
16469 044515 550 00 0 00 030113 HRRZ $SVUUO
|
|
16470 044516 602 00 0 00 700000 TRNE 700000
|
|
16471 044517 254 00 0 00 044533 JRST %ER6X
|
|
16472 044520 602 00 0 00 070000 TRNE 070000
|
|
16473 044521 254 00 0 00 044531 JRST %ER5X
|
|
16474 044522 602 00 0 00 007000 TRNE 007000
|
|
16475 044523 254 00 0 00 044527 JRST %ER4X
|
|
16476 044524 037 03 0 00 000000 PNT3 ;PRINT FAULT NUMBER
|
|
16477 044525 037 00 0 00 030242 %ER7X: PCRL
|
|
16478 044526 254 00 0 00 044552 JRST %ERMORE
|
|
16479
|
|
16480 044527 037 04 0 00 000000 %ER4X: PNT4
|
|
16481 044530 254 00 0 00 044525 JRST %ER7X
|
|
16482 044531 037 05 0 00 000000 %ER5X: PNT5
|
|
16483 044532 254 00 0 00 044525 JRST %ER7X
|
|
16484 044533 037 06 0 00 000000 %ER6X: PNT6
|
|
16485 044534 254 00 0 00 044525 JRST %ER7X
|
|
16486
|
|
16487 ;FAILURE DESCRIPTORS
|
|
16488
|
|
16489 044535 000000 000000 TLET: 0 ;TEST LETTER
|
|
16490 044536 000000 000000 %FLTTB: 0 ;DESCRIPTOR TABLE
|
|
16491 044537 000000 044615 %NODES: [0] ;NO DESCRIPTOR
|
|
16492 044540 000000 044615 SPDES: [0] ;SPECIAL USER FAILURE DESCRIPTOR
|
|
16493 044541 000000 045350 $ACF: [ASCIZ/C(AC) FAILED/]
|
|
16494 044542 000000 045353 %AC1F: [ASCIZ/C(AC+1) FAILED/]
|
|
16495 044543 000000 045356 %EF: [ASCIZ/C(E) FAILED/]
|
|
16496 044544 000000 045361 %E1F: [ASCIZ/C(E+1) FAILED/]
|
|
16497 044545 000000 045364 %ARF: [ASCIZ/C(C(ACR)) FAILED/]
|
|
16498 044546 000000 045370 %AR1F: [ASCIZ/C(C(ACR+1)) FAILED/]
|
|
16499 044547 000000 045374 %ALF: [ASCIZ/C(C(ACL)) FAILED/]
|
|
16500 044550 000000 045400 %EEF: [ASCIZ/C(C(E)) FAILED/]
|
|
16501 044551 000000 045403 %FF: [ASCIZ/FLAG FAILED/]
|
|
16502 >
|
|
16503 XLIST
|
|
16504 LIST
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 8
|
|
UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0367
|
|
|
|
16505 ;RESTORE AC'S AND RETURN OR HALT
|
|
16506
|
|
16507 044552 256 00 0 00 030101 %ERMORE:XCT ERMORE
|
|
16508 044553 037 16 0 00 000002 PNTMGN ;PRINT MARGINS
|
|
16509 044554 037 10 0 00 000002 SWITCH
|
|
16510
|
|
16511 044555 037 07 0 00 000003 %ERRS1: TTALTM ;ALTMODE CHECK
|
|
16512 044556 254 00 0 00 044562 JRST .+4 ;NONE
|
|
16513 044557 201 00 0 00 044562 MOVEI .+3 ;SAVE CONT ADDRESS
|
|
16514 044560 202 00 0 00 000130 MOVEM JOBOPC
|
|
16515 044561 254 00 1 00 030063 JRST @ALTMGO ;PERFORM TRANSFER
|
|
16516 044562 200 00 0 00 030046 MOVE CONSW
|
|
16517 044563 603 00 0 00 002000 TLNE 0,ERSTOP ;HALT ON ERROR SWITCH SET ?
|
|
16518 044564 037 14 0 00 000004 ERRHLT ;YES
|
|
16519 044565 607 00 0 00 004000 TLNN 0,LOOPER ;LOOP ON ERROR SWITCH SET ?
|
|
16520 044566 476 00 0 00 045451 SETOM PROCED ;NO, SET THE PROCEED FLAG
|
|
16521 044567 603 00 0 00 010000 TLNE 0,DING ;RING BELL SWITCH SET ?
|
|
16522 044570 037 01 0 00 000007 PBELL ;YES, GO RING BELL
|
|
16523
|
|
16524 044571 200 02 0 00 045455 %ERRS2: MOVE 2,%ERAC2 ;RESTORE AC'S
|
|
16525 044572 200 01 0 00 045454 MOVE 1,%ERAC1
|
|
16526 044573 476 00 1 00 045447 SETOM @ERRLOP ;SET C(ERR LOOP AC) TO -1
|
|
16527 044574 336 00 0 00 045451 SKIPN PROCED ;LOOP ON ERROR ?
|
|
16528 044575 254 00 0 00 044605 JRST %ERRS5 ;YES
|
|
16529 044576 350 00 1 00 045447 AOS @ERRLOP ;NO, INC C(ERR LOOP AC)
|
|
16530 044577 350 00 1 00 045447 AOS @ERRLOP ;SO IT ='S 1
|
|
16531 044600 331 00 0 00 030043 SKIPL MONCTL ;UNDER DIAGNOSTIC MONITOR ?
|
|
16532 044601 254 00 0 00 044605 JRST %ERRS5 ;NO, CONTINUE PROGRAM
|
|
16533 044602 200 00 0 00 030053 MOVE 0,ERRTLS ;YES
|
|
16534 044603 301 00 0 00 000005 CAIL 0,5 ;PRINTED ALLOWED ERRORS ?
|
|
16535 044604 254 00 0 00 030061 JRST $BEND2
|
|
16536
|
|
16537 044605 200 00 0 00 045453 %ERRS5: MOVE 0,%ERAC0 ;NO, CONTINUE PROGRAM
|
|
16538 IFDEF EXCASB,<IFDEF KI10,<
|
|
16539 SKIPN KAIFLG
|
|
16540 JRST .+5
|
|
16541 SKIPE USER
|
|
16542 JRST .+3
|
|
16543 SKIPE MARGIN
|
|
16544 DATAO APR,MARGIN ;RESET MARGIN SYSTEM >>
|
|
16545 044606 254 00 0 00 030065 JRST UUOEXT
|
|
16546
|
|
16547 044607 200 00 0 00 030046 %ERRS4: MOVE 0,CONSW
|
|
16548 044610 607 00 0 00 001000 TLNN PALERS ;PRINT ALL ERRORS ?
|
|
16549 044611 254 00 0 00 044555 JRST %ERRS1 ;NO
|
|
16550 044612 254 00 0 00 044452 JRST %ERMS1 ;YES
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 1
|
|
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0368
|
|
|
|
16551 SUBTTL *STOR* RESERVED STORAGE, JAN 18,1977
|
|
16552
|
|
16553 ;PROGRAM LITERALS
|
|
16554
|
|
16555 XLIST
|
|
16556 IFNDEF $LPAPER,<LIST>
|
|
16557 044613 LIT
|
|
16558 044613 101 114 000 000 000
|
|
16559 044614 525252 525252
|
|
16560 044615 000000 000000
|
|
16561 044616 000000 000001
|
|
16562 044617 777777 777777
|
|
16563 044620 000000 000002
|
|
16564 044621 777777 777776
|
|
16565 044622 652525 252524
|
|
16566 044623 000000 000004
|
|
16567 044624 777777 777775
|
|
16568 044625 525252 525250
|
|
16569 044626 000000 000010
|
|
16570 044627 777777 777772
|
|
16571 044630 652525 252520
|
|
16572 044631 000000 000020
|
|
16573 044632 777777 777765
|
|
16574 044633 525252 525240
|
|
16575 044634 000000 000040
|
|
16576 044635 777777 777752
|
|
16577 044636 652525 252500
|
|
16578 044637 000000 000100
|
|
16579 044640 777777 777725
|
|
16580 044641 525252 525200
|
|
16581 044642 000000 000200
|
|
16582 044643 777777 777652
|
|
16583 044644 652525 252400
|
|
16584 044645 000000 000400
|
|
16585 044646 777777 777525
|
|
16586 044647 525252 525000
|
|
16587 044650 000000 001000
|
|
16588 044651 777777 777252
|
|
16589 044652 652525 252000
|
|
16590 044653 000000 002000
|
|
16591 044654 777777 776525
|
|
16592 044655 525252 524000
|
|
16593 044656 000000 004000
|
|
16594 044657 777777 775252
|
|
16595 044660 652525 250000
|
|
16596 044661 000000 010000
|
|
16597 044662 777777 772525
|
|
16598 044663 525252 520000
|
|
16599 044664 000000 020000
|
|
16600 044665 777777 765252
|
|
16601 044666 652525 240000
|
|
16602 044667 000000 040000
|
|
16603 044670 777777 752525
|
|
16604 044671 525252 500000
|
|
16605 044672 000000 100000
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 1-1
|
|
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0369
|
|
|
|
16606 044673 777777 725252
|
|
16607 044674 652525 200000
|
|
16608 044675 000000 200000
|
|
16609 044676 777777 652525
|
|
16610 044677 525252 400000
|
|
16611 044700 000000 400000
|
|
16612 044701 777777 525252
|
|
16613 044702 652525 000000
|
|
16614 044703 000001 000000
|
|
16615 044704 777777 252525
|
|
16616 044705 525252 000000
|
|
16617 044706 000002 000000
|
|
16618 044707 777776 525252
|
|
16619 044710 652524 000000
|
|
16620 044711 000004 000000
|
|
16621 044712 777775 252525
|
|
16622 044713 525250 000000
|
|
16623 044714 000010 000000
|
|
16624 044715 777772 525252
|
|
16625 044716 652520 000000
|
|
16626 044717 000020 000000
|
|
16627 044720 777765 252525
|
|
16628 044721 525240 000000
|
|
16629 044722 000040 000000
|
|
16630 044723 777752 525252
|
|
16631 044724 652500 000000
|
|
16632 044725 000100 000000
|
|
16633 044726 777725 252525
|
|
16634 044727 525200 000000
|
|
16635 044730 000200 000000
|
|
16636 044731 777652 525252
|
|
16637 044732 652400 000000
|
|
16638 044733 000400 000000
|
|
16639 044734 777525 252525
|
|
16640 044735 525000 000000
|
|
16641 044736 001000 000000
|
|
16642 044737 777252 525252
|
|
16643 044740 652000 000000
|
|
16644 044741 002000 000000
|
|
16645 044742 776525 252525
|
|
16646 044743 524000 000000
|
|
16647 044744 004000 000000
|
|
16648 044745 775252 525252
|
|
16649 044746 650000 000000
|
|
16650 044747 010000 000000
|
|
16651 044750 772525 252525
|
|
16652 044751 520000 000000
|
|
16653 044752 020000 000000
|
|
16654 044753 765252 525252
|
|
16655 044754 640000 000000
|
|
16656 044755 040000 000000
|
|
16657 044756 752525 252525
|
|
16658 044757 500000 000000
|
|
16659 044760 100000 000000
|
|
16660 044761 725252 525252
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 1-2
|
|
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0370
|
|
|
|
16661 044762 600000 000000
|
|
16662 044763 200000 000000
|
|
16663 044764 652525 252525
|
|
16664 044765 400000 000000
|
|
16665 044766 252525 252526
|
|
16666 044767 252525 252525
|
|
16667 044770 125252 525252
|
|
16668 044771 252525 252524
|
|
16669 044772 000000 000005
|
|
16670 044773 125252 525250
|
|
16671 044774 000000 000012
|
|
16672 044775 252525 252520
|
|
16673 044776 000000 000025
|
|
16674 044777 125252 525240
|
|
16675 045000 000000 000052
|
|
16676 045001 252525 252500
|
|
16677 045002 000000 000125
|
|
16678 045003 125252 525200
|
|
16679 045004 000000 000252
|
|
16680 045005 252525 252400
|
|
16681 045006 000000 000525
|
|
16682 045007 125252 525000
|
|
16683 045010 000000 001252
|
|
16684 045011 252525 252000
|
|
16685 045012 000000 002525
|
|
16686 045013 125252 524000
|
|
16687 045014 000000 005252
|
|
16688 045015 252525 250000
|
|
16689 045016 000000 012525
|
|
16690 045017 125252 520000
|
|
16691 045020 000000 025252
|
|
16692 045021 252525 240000
|
|
16693 045022 000000 052525
|
|
16694 045023 125252 500000
|
|
16695 045024 000000 125252
|
|
16696 045025 252525 200000
|
|
16697 045026 000000 252525
|
|
16698 045027 125252 400000
|
|
16699 045030 000000 525252
|
|
16700 045031 252525 000000
|
|
16701 045032 000001 252525
|
|
16702 045033 125252 000000
|
|
16703 045034 000002 525252
|
|
16704 045035 252524 000000
|
|
16705 045036 000005 252525
|
|
16706 045037 125250 000000
|
|
16707 045040 000012 525252
|
|
16708 045041 252520 000000
|
|
16709 045042 000025 252525
|
|
16710 045043 125240 000000
|
|
16711 045044 000052 525252
|
|
16712 045045 252500 000000
|
|
16713 045046 000125 252525
|
|
16714 045047 125200 000000
|
|
16715 045050 000252 525252
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 1-3
|
|
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0371
|
|
|
|
16716 045051 252400 000000
|
|
16717 045052 000525 252525
|
|
16718 045053 125000 000000
|
|
16719 045054 001252 525252
|
|
16720 045055 252000 000000
|
|
16721 045056 002525 252525
|
|
16722 045057 124000 000000
|
|
16723 045060 005252 525252
|
|
16724 045061 250000 000000
|
|
16725 045062 012525 252525
|
|
16726 045063 120000 000000
|
|
16727 045064 025252 525252
|
|
16728 045065 240000 000000
|
|
16729 045066 052525 252525
|
|
16730 045067 525252 525253
|
|
16731 045070 000000 000011
|
|
16732 045071 777777 777773
|
|
16733 045072 000000 000031
|
|
16734 045073 777777 777767
|
|
16735 045074 000000 000121
|
|
16736 045075 777777 777757
|
|
16737 045076 000000 000441
|
|
16738 045077 777777 777737
|
|
16739 045100 000000 002101
|
|
16740 045101 777777 777677
|
|
16741 045102 000000 010201
|
|
16742 045103 777777 777577
|
|
16743 045104 000000 040401
|
|
16744 045105 777777 777377
|
|
16745 045106 000000 201001
|
|
16746 045107 777777 776777
|
|
16747 045110 000001 002001
|
|
16748 045111 777777 775777
|
|
16749 045112 000004 004001
|
|
16750 045113 777777 773777
|
|
16751 045114 000020 010001
|
|
16752 045115 777777 767777
|
|
16753 045116 000100 020001
|
|
16754 045117 777777 757777
|
|
16755 045120 000400 040001
|
|
16756 045121 777777 737777
|
|
16757 045122 002000 100001
|
|
16758 045123 777777 677777
|
|
16759 045124 010000 200001
|
|
16760 045125 777777 577777
|
|
16761 045126 040000 400001
|
|
16762 045127 777777 377777
|
|
16763 045130 200001 000001
|
|
16764 045131 777776 777777
|
|
16765 045132 000002 000001
|
|
16766 045133 777775 777777
|
|
16767 045134 000004 000001
|
|
16768 045135 777773 777777
|
|
16769 045136 000010 000001
|
|
16770 045137 777767 777777
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 1-4
|
|
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0372
|
|
|
|
16771 045140 000020 000001
|
|
16772 045141 777757 777777
|
|
16773 045142 000040 000001
|
|
16774 045143 777737 777777
|
|
16775 045144 000100 000001
|
|
16776 045145 777677 777777
|
|
16777 045146 000200 000001
|
|
16778 045147 777577 777777
|
|
16779 045150 000400 000001
|
|
16780 045151 777377 777777
|
|
16781 045152 001000 000001
|
|
16782 045153 776777 777777
|
|
16783 045154 002000 000001
|
|
16784 045155 775777 777777
|
|
16785 045156 004000 000001
|
|
16786 045157 773777 777777
|
|
16787 045160 010000 000001
|
|
16788 045161 767777 777777
|
|
16789 045162 020000 000001
|
|
16790 045163 757777 777777
|
|
16791 045164 040000 000001
|
|
16792 045165 737777 777777
|
|
16793 045166 100000 000001
|
|
16794 045167 677777 777777
|
|
16795 045170 200000 000001
|
|
16796 045171 577777 777777
|
|
16797 045172 377777 777777
|
|
16798 045173 377777 777776
|
|
16799 045174 777777 777754
|
|
16800 045175 777777 777670
|
|
16801 045176 777777 777360
|
|
16802 045177 777777 775740
|
|
16803 045200 777777 767700
|
|
16804 045201 777777 737600
|
|
16805 045202 777777 577400
|
|
16806 045203 777776 777000
|
|
16807 045204 777773 776000
|
|
16808 045205 777757 774000
|
|
16809 045206 777677 770000
|
|
16810 045207 777377 760000
|
|
16811 045210 775777 740000
|
|
16812 045211 767777 700000
|
|
16813 045212 737777 600000
|
|
16814 045213 577777 400000
|
|
16815 045214 777777 000000
|
|
16816 045215 777776 000000
|
|
16817 045216 777774 000000
|
|
16818 045217 777770 000000
|
|
16819 045220 777760 000000
|
|
16820 045221 777740 000000
|
|
16821 045222 777700 000000
|
|
16822 045223 777600 000000
|
|
16823 045224 777400 000000
|
|
16824 045225 777000 000000
|
|
16825 045226 776000 000000
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 1-5
|
|
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0373
|
|
|
|
16826 045227 774000 000000
|
|
16827 045230 770000 000000
|
|
16828 045231 760000 000000
|
|
16829 045232 740000 000000
|
|
16830 045233 700000 000000
|
|
16831 045234 400000 000001
|
|
16832 045235 000000 000003
|
|
16833 045236 377777 777774
|
|
16834 045237 377777 777770
|
|
16835 045240 000000 000007
|
|
16836 045241 377777 777760
|
|
16837 045242 000000 000017
|
|
16838 045243 777777 777760
|
|
16839 045244 777777 777740
|
|
16840 045245 000000 036735
|
|
16841 045246 000000 036751
|
|
16842 045247 000000 036773
|
|
16843 045250 000000 037014
|
|
16844 045251 000000 037027
|
|
16845 045252 000000 037042
|
|
16846 045253 000000 037055
|
|
16847 045254 000000 037070
|
|
16848 045255 000000 037103
|
|
16849 045256 000000 037116
|
|
16850 045257 000000 037130
|
|
16851 045260 000000 037142
|
|
16852 045261 000000 037156
|
|
16853 045262 000000 037176
|
|
16854 045263 000000 037211
|
|
16855 045264 000000 037230
|
|
16856 045265 000000 037244
|
|
16857 045266 000000 037264
|
|
16858 045267 000000 037300
|
|
16859 045270 000000 037314
|
|
16860 045271 000000 037334
|
|
16861 045272 000000 037425
|
|
16862 045273 000000 037442
|
|
16863 045274 000000 037443
|
|
16864 045275 000000 037460
|
|
16865 045276 000000 037514
|
|
16866 045277 000000 037533
|
|
16867 045300 000000 037556
|
|
16868 045301 000000 037573
|
|
16869 045302 000000 037614
|
|
16870 045303 000000 037631
|
|
16871 045304 000000 037652
|
|
16872 045305 777777 777770
|
|
16873 045306 000000 040367
|
|
16874 045307 000000 040410
|
|
16875 045310 000000 040431
|
|
16876 045311 000000 040521
|
|
16877 045312 000000 040546
|
|
16878 045313 000000 040575
|
|
16879 045314 000000 040614
|
|
16880 045315 000000 040637
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 1-6
|
|
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0374
|
|
|
|
16881 045316 000000 040714
|
|
16882 045317 000000 040735
|
|
16883 045320 000000 040762
|
|
16884 045321 000000 041011
|
|
16885 045322 000000 041031
|
|
16886 045323 000000 041055
|
|
16887 045324 000000 041070
|
|
16888 045325 777777 777774
|
|
16889 045326 000000 041107
|
|
16890 045327 000000 041121
|
|
16891 045330 000000 041137
|
|
16892 045331 000000 041155
|
|
16893 045332 000000 041173
|
|
16894 045333 000000 041246
|
|
16895 045334 050000 000000
|
|
16896 045335 76 64 45 63 64 00
|
|
16897 045336 60 41 63 63 00 43
|
|
16898 045337 57 65 56 64 00 35
|
|
16899 045340 00 77 00 00 00 00
|
|
16900 045341 76 60 43 00 35 00
|
|
16901 045342 00 00 77 00 00 00
|
|
16902 045343 76 62 45 63 65 54
|
|
16903 045344 64 00 00 35 00 77
|
|
16904 045345 76 46 41 65 54 64
|
|
16905 045346 00 56 65 55 42 45
|
|
16906 045347 62 00 35 00 77 00
|
|
16907 045350 103 050 101 103 051
|
|
16908 045351 040 106 101 111 114
|
|
16909 045352 105 104 000 000 000
|
|
16910 045353 103 050 101 103 053
|
|
16911 045354 061 051 040 106 101
|
|
16912 045355 111 114 105 104 000
|
|
16913 045356 103 050 105 051 040
|
|
16914 045357 106 101 111 114 105
|
|
16915 045360 104 000 000 000 000
|
|
16916 045361 103 050 105 053 061
|
|
16917 045362 051 040 106 101 111
|
|
16918 045363 114 105 104 000 000
|
|
16919 045364 103 050 103 050 101
|
|
16920 045365 103 122 051 051 040
|
|
16921 045366 106 101 111 114 105
|
|
16922 045367 104 000 000 000 000
|
|
16923 045370 103 050 103 050 101
|
|
16924 045371 103 122 053 061 051
|
|
16925 045372 051 040 106 101 111
|
|
16926 045373 114 105 104 000 000
|
|
16927 045374 103 050 103 050 101
|
|
16928 045375 103 114 051 051 040
|
|
16929 045376 106 101 111 114 105
|
|
16930 045377 104 000 000 000 000
|
|
16931 045400 103 050 103 050 105
|
|
16932 045401 051 051 040 106 101
|
|
16933 045402 111 114 105 104 000
|
|
16934 045403 106 114 101 107 040
|
|
16935 045404 106 101 111 114 105
|
|
DAKAL PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2 MACRO %52(537) 17:16 20-JAN-77 PAGE 1-7
|
|
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0375
|
|
|
|
16936 045405 104 000 000 000 000
|
|
16937 LIST
|
|
16938 045406 000000 000000 ENDSLD: 0
|
|
16939
|
|
16940 IFDEF DEBUG,<
|
|
16941 045407 PATCH: BLOCK DEBUG ;PATCHING AREA
|
|
16942 >
|
|
16943
|
|
16944 ;PROGRAM VARIABLES
|
|
16945 045447 VAR
|
|
16946
|
|
16947 IFDEF PGMEND,<
|
|
16948 045457 000000 000000 END: 0
|
|
16949 030000 END BEGIN >
|
|
|
|
NO ERRORS DETECTED
|
|
|
|
PROGRAM BREAK IS 000000
|
|
ABSLUTE BREAK IS 045460
|
|
CPU TIME USED 01:14.759
|
|
|
|
16K CORE USED
|