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,&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, 347 030000 IFNDEF MODDVU, 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=&<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=&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,&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, 728 729 ;MULTIPLY A FLOATING 1 BY 1010...101010 730 V1=N1 731 V2=N1*XX 732 IFL XX, 733 IFG XX,>!>>> 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, 740 741 ;MULTIPLY A FLOATING 1 BY 1010...101010 742 525252 525252 V1=N1 743 525252 525252 V2=N1*XX 744 IFL XX, 745 777777 777777 IFG XX,>!>>> 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, 774 775 ;MULTIPLY A FLOATING 1 BY 1010...101010 776 525252 525252 V1=N1 777 652525 252524 V2=N1*XX 778 IFL XX, 779 777777 777776 IFG XX,>!>>> 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, 808 809 ;MULTIPLY A FLOATING 1 BY 1010...101010 810 525252 525252 V1=N1 811 525252 525250 V2=N1*XX 812 IFL XX, 813 777777 777775 IFG XX,>!>>> 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, 842 843 ;MULTIPLY A FLOATING 1 BY 1010...101010 844 525252 525252 V1=N1 845 652525 252520 V2=N1*XX 846 IFL XX, 847 777777 777772 IFG XX,>!>>> 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, 876 877 ;MULTIPLY A FLOATING 1 BY 1010...101010 878 525252 525252 V1=N1 879 525252 525240 V2=N1*XX 880 IFL XX, 881 777777 777765 IFG XX,>!>>> 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, 910 911 ;MULTIPLY A FLOATING 1 BY 1010...101010 912 525252 525252 V1=N1 913 652525 252500 V2=N1*XX 914 IFL XX, 915 777777 777752 IFG XX,>!>>> 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, 944 945 ;MULTIPLY A FLOATING 1 BY 1010...101010 946 525252 525252 V1=N1 947 525252 525200 V2=N1*XX 948 IFL XX, 949 777777 777725 IFG XX,>!>>> 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, 978 979 ;MULTIPLY A FLOATING 1 BY 1010...101010 980 525252 525252 V1=N1 981 652525 252400 V2=N1*XX 982 IFL XX, 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,>!>>> 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, 1012 1013 ;MULTIPLY A FLOATING 1 BY 1010...101010 1014 525252 525252 V1=N1 1015 525252 525000 V2=N1*XX 1016 IFL XX, 1017 777777 777525 IFG XX,>!>>> 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, 1046 1047 ;MULTIPLY A FLOATING 1 BY 1010...101010 1048 525252 525252 V1=N1 1049 652525 252000 V2=N1*XX 1050 IFL XX, 1051 777777 777252 IFG XX,>!>>> 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, 1080 1081 ;MULTIPLY A FLOATING 1 BY 1010...101010 1082 525252 525252 V1=N1 1083 525252 524000 V2=N1*XX 1084 IFL XX, 1085 777777 776525 IFG XX,>!>>> 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, 1114 1115 ;MULTIPLY A FLOATING 1 BY 1010...101010 1116 525252 525252 V1=N1 1117 652525 250000 V2=N1*XX 1118 IFL XX, 1119 777777 775252 IFG XX,>!>>> 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, 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, 1153 777777 772525 IFG XX,>!>>> 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, 1182 1183 ;MULTIPLY A FLOATING 1 BY 1010...101010 1184 525252 525252 V1=N1 1185 652525 240000 V2=N1*XX 1186 IFL XX, 1187 777777 765252 IFG XX,>!>>> 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, 1216 1217 ;MULTIPLY A FLOATING 1 BY 1010...101010 1218 525252 525252 V1=N1 1219 525252 500000 V2=N1*XX 1220 IFL XX, 1221 777777 752525 IFG XX,>!>>> 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, 1250 1251 ;MULTIPLY A FLOATING 1 BY 1010...101010 1252 525252 525252 V1=N1 1253 652525 200000 V2=N1*XX 1254 IFL XX, 1255 777777 725252 IFG XX,>!>>> 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, 1284 1285 ;MULTIPLY A FLOATING 1 BY 1010...101010 1286 525252 525252 V1=N1 1287 525252 400000 V2=N1*XX 1288 IFL XX, 1289 777777 652525 IFG XX,>!>>> 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, 1318 1319 ;MULTIPLY A FLOATING 1 BY 1010...101010 1320 525252 525252 V1=N1 1321 652525 000000 V2=N1*XX 1322 IFL XX, 1323 777777 525252 IFG XX,>!>>> 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, 1352 1353 ;MULTIPLY A FLOATING 1 BY 1010...101010 1354 525252 525252 V1=N1 1355 525252 000000 V2=N1*XX 1356 IFL XX, 1357 777777 252525 IFG XX,>!>>> 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, 1386 1387 ;MULTIPLY A FLOATING 1 BY 1010...101010 1388 525252 525252 V1=N1 1389 652524 000000 V2=N1*XX 1390 IFL XX, 1391 777776 525252 IFG XX,>!>>> 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, 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, 1425 777775 252525 IFG XX,>!>>> 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, 1454 1455 ;MULTIPLY A FLOATING 1 BY 1010...101010 1456 525252 525252 V1=N1 1457 652520 000000 V2=N1*XX 1458 IFL XX, 1459 777772 525252 IFG XX,>!>>> 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, 1488 1489 ;MULTIPLY A FLOATING 1 BY 1010...101010 1490 525252 525252 V1=N1 1491 525240 000000 V2=N1*XX 1492 IFL XX, 1493 777765 252525 IFG XX,>!>>> 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, 1522 1523 ;MULTIPLY A FLOATING 1 BY 1010...101010 1524 525252 525252 V1=N1 1525 652500 000000 V2=N1*XX 1526 IFL XX, 1527 777752 525252 IFG XX,>!>>> 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, 1556 1557 ;MULTIPLY A FLOATING 1 BY 1010...101010 1558 525252 525252 V1=N1 1559 525200 000000 V2=N1*XX 1560 IFL XX, 1561 777725 252525 IFG XX,>!>>> 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, 1590 1591 ;MULTIPLY A FLOATING 1 BY 1010...101010 1592 525252 525252 V1=N1 1593 652400 000000 V2=N1*XX 1594 IFL XX, 1595 777652 525252 IFG XX,>!>>> 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, 1624 1625 ;MULTIPLY A FLOATING 1 BY 1010...101010 1626 525252 525252 V1=N1 1627 525000 000000 V2=N1*XX 1628 IFL XX, 1629 777525 252525 IFG XX,>!>>> 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, 1658 1659 ;MULTIPLY A FLOATING 1 BY 1010...101010 1660 525252 525252 V1=N1 1661 652000 000000 V2=N1*XX 1662 IFL XX, 1663 777252 525252 IFG XX,>!>>> 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, 1692 1693 ;MULTIPLY A FLOATING 1 BY 1010...101010 1694 525252 525252 V1=N1 1695 524000 000000 V2=N1*XX 1696 IFL XX, 1697 776525 252525 IFG XX,>!>>> 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, 1726 1727 ;MULTIPLY A FLOATING 1 BY 1010...101010 1728 525252 525252 V1=N1 1729 650000 000000 V2=N1*XX 1730 IFL XX, 1731 775252 525252 IFG XX,>!>>> 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, 1760 1761 ;MULTIPLY A FLOATING 1 BY 1010...101010 1762 525252 525252 V1=N1 1763 520000 000000 V2=N1*XX 1764 IFL XX, 1765 772525 252525 IFG XX,>!>>> 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, 1794 1795 ;MULTIPLY A FLOATING 1 BY 1010...101010 1796 525252 525252 V1=N1 1797 640000 000000 V2=N1*XX 1798 IFL XX, 1799 765252 525252 IFG XX,>!>>> 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, 1828 1829 ;MULTIPLY A FLOATING 1 BY 1010...101010 1830 525252 525252 V1=N1 1831 500000 000000 V2=N1*XX 1832 IFL XX, 1833 752525 252525 IFG XX,>!>>> 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, 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, 1867 725252 525252 IFG XX,>!>>> 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, 1896 1897 ;MULTIPLY A FLOATING 1 BY 1010...101010 1898 525252 525252 V1=N1 1899 400000 000000 V2=N1*XX 1900 IFL XX, 1901 652525 252525 IFG XX,>!>>> 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, 1930 1931 ;MULTIPLY A FLOATING 1 BY 1010...101010 1932 525252 525252 V1=N1 1933 000000 V2=N1*XX 1934 252525 252526 IFL XX, 1935 IFG XX,>!>>> 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=&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,&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, 1976 1977 ;MULTIPLY 0101...0101 BY A FLOATING 1 1978 V1=N2 1979 V2=N2*XX 1980 IFG XX,>> 1981 IFL XX, 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, 1988 1989 ;MULTIPLY 0101...0101 BY A FLOATING 1 1990 252525 252525 V1=N2 1991 252525 252525 V2=N2*XX 1992 000000 IFG XX,>> 1993 IFL XX, 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, 2022 2023 ;MULTIPLY 0101...0101 BY A FLOATING 1 2024 252525 252525 V1=N2 2025 125252 525252 V2=N2*XX 2026 000001 IFG XX,>> 2027 IFL XX, 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, 2056 2057 ;MULTIPLY 0101...0101 BY A FLOATING 1 2058 252525 252525 V1=N2 2059 252525 252524 V2=N2*XX 2060 000002 IFG XX,>> 2061 IFL XX, 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, 2090 2091 ;MULTIPLY 0101...0101 BY A FLOATING 1 2092 252525 252525 V1=N2 2093 125252 525250 V2=N2*XX 2094 000005 IFG XX,>> 2095 IFL XX, 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, 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,>> 2129 IFL XX, 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, 2158 2159 ;MULTIPLY 0101...0101 BY A FLOATING 1 2160 252525 252525 V1=N2 2161 125252 525240 V2=N2*XX 2162 000025 IFG XX,>> 2163 IFL XX, 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, 2192 2193 ;MULTIPLY 0101...0101 BY A FLOATING 1 2194 252525 252525 V1=N2 2195 252525 252500 V2=N2*XX 2196 000052 IFG XX,>> 2197 IFL XX, 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, 2226 2227 ;MULTIPLY 0101...0101 BY A FLOATING 1 2228 252525 252525 V1=N2 2229 125252 525200 V2=N2*XX 2230 000125 IFG XX,>> 2231 IFL XX, 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, 2260 2261 ;MULTIPLY 0101...0101 BY A FLOATING 1 2262 252525 252525 V1=N2 2263 252525 252400 V2=N2*XX 2264 000252 IFG XX,>> 2265 IFL XX, 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, 2294 2295 ;MULTIPLY 0101...0101 BY A FLOATING 1 2296 252525 252525 V1=N2 2297 125252 525000 V2=N2*XX 2298 000525 IFG XX,>> 2299 IFL XX, 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, 2328 2329 ;MULTIPLY 0101...0101 BY A FLOATING 1 2330 252525 252525 V1=N2 2331 252525 252000 V2=N2*XX 2332 001252 IFG XX,>> 2333 IFL XX, 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, 2362 2363 ;MULTIPLY 0101...0101 BY A FLOATING 1 2364 252525 252525 V1=N2 2365 125252 524000 V2=N2*XX 2366 002525 IFG XX,>> 2367 IFL XX, 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, 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,>> 2401 IFL XX, 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, 2430 2431 ;MULTIPLY 0101...0101 BY A FLOATING 1 2432 252525 252525 V1=N2 2433 125252 520000 V2=N2*XX 2434 012525 IFG XX,>> 2435 IFL XX, 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, 2464 2465 ;MULTIPLY 0101...0101 BY A FLOATING 1 2466 252525 252525 V1=N2 2467 252525 240000 V2=N2*XX 2468 025252 IFG XX,>> 2469 IFL XX, 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, 2498 2499 ;MULTIPLY 0101...0101 BY A FLOATING 1 2500 252525 252525 V1=N2 2501 125252 500000 V2=N2*XX 2502 052525 IFG XX,>> 2503 IFL XX, 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, 2532 2533 ;MULTIPLY 0101...0101 BY A FLOATING 1 2534 252525 252525 V1=N2 2535 252525 200000 V2=N2*XX 2536 125252 IFG XX,>> 2537 IFL XX, 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, 2566 2567 ;MULTIPLY 0101...0101 BY A FLOATING 1 2568 252525 252525 V1=N2 2569 125252 400000 V2=N2*XX 2570 252525 IFG XX,>> 2571 IFL XX, 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, 2600 2601 ;MULTIPLY 0101...0101 BY A FLOATING 1 2602 252525 252525 V1=N2 2603 252525 000000 V2=N2*XX 2604 525252 IFG XX,>> 2605 IFL XX, 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, 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,>> 2639 IFL XX, 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, 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,>> 2673 IFL XX, 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, 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,>> 2707 IFL XX, 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, 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,>> 2741 IFL XX, 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, 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,>> 2775 IFL XX, 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, 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,>> 2809 IFL XX, 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, 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,>> 2843 IFL XX, 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, 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,>> 2877 IFL XX, 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, 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,>> 2911 IFL XX, 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, 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,>> 2945 IFL XX, 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, 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,>> 2979 IFL XX, 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, 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,>> 3013 IFL XX, 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, 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,>> 3047 IFL XX, 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, 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,>> 3081 IFL XX, 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, 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,>> 3115 IFL XX, 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, 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,>> 3149 IFL XX, 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=&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,&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, 3216 3217 ;MULTIPLY A FLOATING 1 BY 0101...0101 3218 V1=N2 3219 V2=N2*XX 3220 IFG XX,>> 3221 IFL XX, 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, 3228 3229 ;MULTIPLY A FLOATING 1 BY 0101...0101 3230 252525 252525 V1=N2 3231 252525 252525 V2=N2*XX 3232 000000 IFG XX,>> 3233 IFL XX, 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, 3262 3263 ;MULTIPLY A FLOATING 1 BY 0101...0101 3264 252525 252525 V1=N2 3265 125252 525252 V2=N2*XX 3266 000001 IFG XX,>> 3267 IFL XX, 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, 3296 3297 ;MULTIPLY A FLOATING 1 BY 0101...0101 3298 252525 252525 V1=N2 3299 252525 252524 V2=N2*XX 3300 000002 IFG XX,>> 3301 IFL XX, 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, 3330 3331 ;MULTIPLY A FLOATING 1 BY 0101...0101 3332 252525 252525 V1=N2 3333 125252 525250 V2=N2*XX 3334 000005 IFG XX,>> 3335 IFL XX, 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, 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,>> 3369 IFL XX, 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, 3398 3399 ;MULTIPLY A FLOATING 1 BY 0101...0101 3400 252525 252525 V1=N2 3401 125252 525240 V2=N2*XX 3402 000025 IFG XX,>> 3403 IFL XX, 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, 3432 3433 ;MULTIPLY A FLOATING 1 BY 0101...0101 3434 252525 252525 V1=N2 3435 252525 252500 V2=N2*XX 3436 000052 IFG XX,>> 3437 IFL XX, 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, 3466 3467 ;MULTIPLY A FLOATING 1 BY 0101...0101 3468 252525 252525 V1=N2 3469 125252 525200 V2=N2*XX 3470 000125 IFG XX,>> 3471 IFL XX, 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, 3500 3501 ;MULTIPLY A FLOATING 1 BY 0101...0101 3502 252525 252525 V1=N2 3503 252525 252400 V2=N2*XX 3504 000252 IFG XX,>> 3505 IFL XX, 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, 3534 3535 ;MULTIPLY A FLOATING 1 BY 0101...0101 3536 252525 252525 V1=N2 3537 125252 525000 V2=N2*XX 3538 000525 IFG XX,>> 3539 IFL XX, 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, 3568 3569 ;MULTIPLY A FLOATING 1 BY 0101...0101 3570 252525 252525 V1=N2 3571 252525 252000 V2=N2*XX 3572 001252 IFG XX,>> 3573 IFL XX, 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, 3602 3603 ;MULTIPLY A FLOATING 1 BY 0101...0101 3604 252525 252525 V1=N2 3605 125252 524000 V2=N2*XX 3606 002525 IFG XX,>> 3607 IFL XX, 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, 3636 3637 ;MULTIPLY A FLOATING 1 BY 0101...0101 3638 252525 252525 V1=N2 3639 252525 250000 V2=N2*XX 3640 005252 IFG XX,>> 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, 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, 3670 3671 ;MULTIPLY A FLOATING 1 BY 0101...0101 3672 252525 252525 V1=N2 3673 125252 520000 V2=N2*XX 3674 012525 IFG XX,>> 3675 IFL XX, 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, 3704 3705 ;MULTIPLY A FLOATING 1 BY 0101...0101 3706 252525 252525 V1=N2 3707 252525 240000 V2=N2*XX 3708 025252 IFG XX,>> 3709 IFL XX, 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, 3738 3739 ;MULTIPLY A FLOATING 1 BY 0101...0101 3740 252525 252525 V1=N2 3741 125252 500000 V2=N2*XX 3742 052525 IFG XX,>> 3743 IFL XX, 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, 3772 3773 ;MULTIPLY A FLOATING 1 BY 0101...0101 3774 252525 252525 V1=N2 3775 252525 200000 V2=N2*XX 3776 125252 IFG XX,>> 3777 IFL XX, 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, 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,>> 3811 IFL XX, 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, 3840 3841 ;MULTIPLY A FLOATING 1 BY 0101...0101 3842 252525 252525 V1=N2 3843 252525 000000 V2=N2*XX 3844 525252 IFG XX,>> 3845 IFL XX, 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, 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,>> 3879 IFL XX, 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, 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,>> 3913 IFL XX, 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, 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,>> 3947 IFL XX, 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, 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,>> 3981 IFL XX, 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, 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,>> 4015 IFL XX, 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, 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,>> 4049 IFL XX, 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, 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,>> 4083 IFL XX, 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, 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,>> 4117 IFL XX, 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, 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,>> 4151 IFL XX, 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, 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,>> 4185 IFL XX, 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, 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,>> 4219 IFL XX, 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, 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,>> 4253 IFL XX, 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, 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,>> 4287 IFL XX, 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, 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,>> 4321 IFL XX, 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, 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,>> 4355 IFL XX, 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, 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,>> 4389 IFL XX, 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, 4418 4419 ;MULTIPLY A FLOATING 1 BY 0101...0101 4420 252525 252525 V1=N2 4421 400000 000000 V2=N2*XX 4422 IFG XX,>> 4423 525252 525253 IFL XX, 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=&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,&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, 4460 4461 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 4462 V1=XX*XX 4463 IFG XX,*>_1>> 4464 IFL XX, 4465 MOP1 (\ADR,XX,-1,XX,V2,V1)> 4466 4467 003155 ADR=ADR+1 4468 000000 XX=XX+XX 4469 000001 IFE XX, 4470 4471 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 4472 000001 V1=XX*XX 4473 000000 IFG XX,*>_1>> 4474 IFL 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, 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,*>_1>> 4506 IFL 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, 4534 4535 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 4536 000020 V1=XX*XX 4537 000000 IFG XX,*>_1>> 4538 IFL 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, 4566 4567 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 4568 000100 V1=XX*XX 4569 000000 IFG XX,*>_1>> 4570 IFL 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, 4598 4599 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 4600 000400 V1=XX*XX 4601 000000 IFG XX,*>_1>> 4602 IFL 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, 4630 4631 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 4632 002000 V1=XX*XX 4633 000000 IFG XX,*>_1>> 4634 IFL 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, 4662 4663 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 4664 010000 V1=XX*XX 4665 000000 IFG XX,*>_1>> 4666 IFL 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, 4694 4695 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 4696 040000 V1=XX*XX 4697 000000 IFG XX,*>_1>> 4698 IFL 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, 4726 4727 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 4728 200000 V1=XX*XX 4729 000000 IFG XX,*>_1>> 4730 IFL 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, 4758 4759 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 4760 000001 000000 V1=XX*XX 4761 000000 IFG XX,*>_1>> 4762 IFL 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, 4790 4791 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 4792 000004 000000 V1=XX*XX 4793 000000 IFG XX,*>_1>> 4794 IFL 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, 4822 4823 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 4824 000020 000000 V1=XX*XX 4825 000000 IFG XX,*>_1>> 4826 IFL 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, 4854 4855 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 4856 000100 000000 V1=XX*XX 4857 000000 IFG XX,*>_1>> 4858 IFL 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, 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,*>_1>> 4890 IFL 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, 4918 4919 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 4920 002000 000000 V1=XX*XX 4921 000000 IFG XX,*>_1>> 4922 IFL 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, 4950 4951 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 4952 010000 000000 V1=XX*XX 4953 000000 IFG XX,*>_1>> 4954 IFL 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, 4982 4983 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 4984 040000 000000 V1=XX*XX 4985 000000 IFG XX,*>_1>> 4986 IFL 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, 5014 5015 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5016 200000 000000 V1=XX*XX 5017 000000 IFG XX,*>_1>> 5018 IFL 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, 5046 5047 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5048 000000 V1=XX*XX 5049 000002 IFG XX,*>_1>> 5050 IFL 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, 5078 5079 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5080 000000 V1=XX*XX 5081 000010 IFG XX,*>_1>> 5082 IFL 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, 5110 5111 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5112 000000 V1=XX*XX 5113 000040 IFG XX,*>_1>> 5114 IFL 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, 5142 5143 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5144 000000 V1=XX*XX 5145 000200 IFG XX,*>_1>> 5146 IFL 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, 5174 5175 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5176 000000 V1=XX*XX 5177 001000 IFG XX,*>_1>> 5178 IFL 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, 5206 5207 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5208 000000 V1=XX*XX 5209 004000 IFG XX,*>_1>> 5210 IFL 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, 5238 5239 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5240 000000 V1=XX*XX 5241 020000 IFG XX,*>_1>> 5242 IFL 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, 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,*>_1>> 5274 IFL 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, 5302 5303 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5304 000000 V1=XX*XX 5305 400000 IFG XX,*>_1>> 5306 IFL 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, 5334 5335 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5336 000000 V1=XX*XX 5337 000002 000000 IFG XX,*>_1>> 5338 IFL 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, 5366 5367 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5368 000000 V1=XX*XX 5369 000010 000000 IFG XX,*>_1>> 5370 IFL 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, 5398 5399 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5400 000000 V1=XX*XX 5401 000040 000000 IFG XX,*>_1>> 5402 IFL 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, 5430 5431 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5432 000000 V1=XX*XX 5433 000200 000000 IFG XX,*>_1>> 5434 IFL 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, 5462 5463 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5464 000000 V1=XX*XX 5465 001000 000000 IFG XX,*>_1>> 5466 IFL 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, 5494 5495 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5496 000000 V1=XX*XX 5497 004000 000000 IFG XX,*>_1>> 5498 IFL 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, 5526 5527 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5528 000000 V1=XX*XX 5529 020000 000000 IFG XX,*>_1>> 5530 IFL 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, 5558 5559 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5560 000000 V1=XX*XX 5561 100000 000000 IFG XX,*>_1>> 5562 IFL 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, 5590 5591 ;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT 5592 400000 000000 V1=XX*XX 5593 IFG XX,*>_1>> 5594 400000 000000 IFL 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=&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,&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 , 5631 5632 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 5633 V1=XX*XX 5634 IFE , 5635 IFN , 5636 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 5637 IFG XX, 5638 MOP1 (\ADR,XX,-1,XX,V2,V1)> 5639 5640 003221 ADR=ADR+1 5641 000001 XX=XX+XX+1 5642 777777 777776 IFE , 5643 5644 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 5645 000004 V1=XX*XX 5646 IFE , 5647 000000 IFN , 5648 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 5649 IFG XX, 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 , 5677 5678 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 5679 000011 V1=XX*XX 5680 IFE , 5681 000000 IFN , 5682 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 5683 IFG XX, 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 , 5711 5712 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 5713 000031 V1=XX*XX 5714 IFE , 5715 000000 IFN , 5716 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 5717 IFG XX, 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 , 5745 5746 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 5747 000121 V1=XX*XX 5748 IFE , 5749 000000 IFN , 5750 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 5751 IFG XX, 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 , 5779 5780 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 5781 000441 V1=XX*XX 5782 IFE , 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 , 5784 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 5785 IFG XX, 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 , 5813 5814 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 5815 002101 V1=XX*XX 5816 IFE , 5817 000000 IFN , 5818 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 5819 IFG XX, 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 , 5847 5848 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 5849 010201 V1=XX*XX 5850 IFE , 5851 000000 IFN , 5852 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 5853 IFG XX, 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 , 5881 5882 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 5883 040401 V1=XX*XX 5884 IFE , 5885 000000 IFN , 5886 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 5887 IFG XX, 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 , 5915 5916 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 5917 201001 V1=XX*XX 5918 IFE , 5919 000000 IFN , 5920 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 5921 IFG XX, 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 , 5949 5950 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 5951 000001 002001 V1=XX*XX 5952 IFE , 5953 000000 IFN , 5954 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 5955 IFG XX, 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 , 5983 5984 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 5985 000004 004001 V1=XX*XX 5986 IFE , 5987 000000 IFN , 5988 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 5989 IFG XX, 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 , 6017 6018 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6019 000020 010001 V1=XX*XX 6020 IFE , 6021 000000 IFN , 6022 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6023 IFG XX, 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 , 6051 6052 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6053 000100 020001 V1=XX*XX 6054 IFE , 6055 000000 IFN , 6056 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6057 IFG XX, 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 , 6085 6086 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6087 000400 040001 V1=XX*XX 6088 IFE , 6089 000000 IFN , 6090 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6091 IFG XX, 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 , 6119 6120 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6121 002000 100001 V1=XX*XX 6122 IFE , 6123 000000 IFN , 6124 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6125 IFG XX, 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 , 6153 6154 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6155 010000 200001 V1=XX*XX 6156 IFE , 6157 000000 IFN , 6158 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6159 IFG XX, 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 , 6187 6188 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6189 040000 400001 V1=XX*XX 6190 IFE , 6191 000000 IFN , 6192 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6193 IFG XX, 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 , 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 , 6225 000000 IFN , 6226 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6227 IFG XX, 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 , 6255 6256 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6257 000002 000001 V1=XX*XX 6258 IFE , 6259 000000 IFN , 6260 000002 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6261 IFG XX, 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 , 6289 6290 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6291 000004 000001 V1=XX*XX 6292 IFE , 6293 000000 IFN , 6294 000010 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6295 IFG XX, 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 , 6323 6324 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6325 000010 000001 V1=XX*XX 6326 IFE , 6327 000000 IFN , 6328 000040 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6329 IFG XX, 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 , 6357 6358 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6359 000020 000001 V1=XX*XX 6360 IFE , 6361 000000 IFN , 6362 000200 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6363 IFG XX, 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 , 6391 6392 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6393 000040 000001 V1=XX*XX 6394 IFE , 6395 000000 IFN , 6396 001000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6397 IFG XX, 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 , 6425 6426 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6427 000100 000001 V1=XX*XX 6428 IFE , 6429 000000 IFN , 6430 004000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6431 IFG XX, 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 , 6459 6460 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6461 000200 000001 V1=XX*XX 6462 IFE , 6463 000000 IFN , 6464 020000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6465 IFG XX, 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 , 6493 6494 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6495 000400 000001 V1=XX*XX 6496 IFE , 6497 000000 IFN , 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,>_-22>*<<->_-22>>_1>+V2A>> 6499 IFG XX, 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 , 6527 6528 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6529 001000 000001 V1=XX*XX 6530 IFE , 6531 000000 IFN , 6532 400000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6533 IFG XX, 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 , 6561 6562 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6563 002000 000001 V1=XX*XX 6564 IFE , 6565 000000 IFN , 6566 000002 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6567 IFG XX, 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 , 6595 6596 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6597 004000 000001 V1=XX*XX 6598 IFE , 6599 000000 IFN , 6600 000010 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6601 IFG XX, 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 , 6629 6630 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6631 010000 000001 V1=XX*XX 6632 IFE , 6633 000000 IFN , 6634 000040 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6635 IFG XX, 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 , 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 , 6667 000000 IFN , 6668 000200 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6669 IFG XX, 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 , 6697 6698 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6699 040000 000001 V1=XX*XX 6700 IFE , 6701 000000 IFN , 6702 001000 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6703 IFG XX, 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 , 6731 6732 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6733 100000 000001 V1=XX*XX 6734 IFE , 6735 000000 IFN , 6736 004000 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6737 IFG XX, 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 , 6765 6766 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6767 200000 000001 V1=XX*XX 6768 IFE , 6769 000000 IFN , 6770 020000 000000 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6771 IFG XX, 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 , 6799 6800 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6801 000001 V1=XX*XX 6802 000001 IFE , 6803 IFN , 6804 100000 000001 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6805 IFG XX, 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 , 6833 6834 ;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT 6835 000001 V1=XX*XX 6836 IFE , 6837 000000 IFN , 6838 IFL XX,>_-22>*<<->_-22>>_1>+V2A>> 6839 377777 777776 IFG XX, 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=&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,&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, 6878 IFE , 6879 6880 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 6881 V1=XX*YY 6882 IFE , 6883 IFN ,+>*>+-1>> 6884 IFG XX, 6885 IFL XX, 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, 6892 777777 777776 IFE , 6893 6894 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 6895 777777 777776 V1=XX*YY 6896 777777 777777 IFE , 6897 IFN ,+>*>+-1>> 6898 777777 777777 IFG XX, 6899 IFL XX, 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, 6928 IFE , 6929 6930 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 6931 777777 777772 V1=XX*YY 6932 777777 777777 IFE , 6933 IFN ,+>*>+-1>> 6934 777777 777777 IFG XX, 6935 IFL XX, 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, 6964 IFE , 6965 6966 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 6967 777777 777754 V1=XX*YY 6968 777777 777777 IFE , 6969 IFN ,+>*>+-1>> 6970 777777 777777 IFG XX, 6971 IFL XX, 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, 7000 IFE , 7001 7002 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7003 777777 777670 V1=XX*YY 7004 777777 777777 IFE , 7005 IFN ,+>*>+-1>> 7006 777777 777777 IFG XX, 7007 IFL XX, 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, 7036 IFE , 7037 7038 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7039 777777 777360 V1=XX*YY 7040 777777 777777 IFE , 7041 IFN ,+>*>+-1>> 7042 777777 777777 IFG XX, 7043 IFL XX, 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, 7072 IFE , 7073 7074 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7075 777777 775740 V1=XX*YY 7076 777777 777777 IFE , 7077 IFN ,+>*>+-1>> 7078 777777 777777 IFG XX, 7079 IFL XX, 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, 7108 IFE , 7109 7110 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7111 777777 767700 V1=XX*YY 7112 777777 777777 IFE , 7113 IFN ,+>*>+-1>> 7114 777777 777777 IFG XX, 7115 IFL XX, 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, 7144 IFE , 7145 7146 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7147 777777 737600 V1=XX*YY 7148 777777 777777 IFE , 7149 IFN ,+>*>+-1>> 7150 777777 777777 IFG XX, 7151 IFL XX, 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, 7180 IFE , 7181 7182 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7183 777777 577400 V1=XX*YY 7184 777777 777777 IFE , 7185 IFN ,+>*>+-1>> 7186 777777 777777 IFG XX, 7187 IFL XX, 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, 7216 IFE , 7217 7218 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7219 777776 777000 V1=XX*YY 7220 777777 777777 IFE , 7221 IFN ,+>*>+-1>> 7222 777777 777777 IFG XX, 7223 IFL XX, 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, 7252 IFE , 7253 7254 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7255 777773 776000 V1=XX*YY 7256 777777 777777 IFE , 7257 IFN ,+>*>+-1>> 7258 777777 777777 IFG XX, 7259 IFL XX, 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, 7288 IFE , 7289 7290 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7291 777757 774000 V1=XX*YY 7292 777777 777777 IFE , 7293 IFN ,+>*>+-1>> 7294 777777 777777 IFG XX, 7295 IFL XX, 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, 7324 IFE , 7325 7326 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7327 777677 770000 V1=XX*YY 7328 777777 777777 IFE , 7329 IFN ,+>*>+-1>> 7330 777777 777777 IFG XX, 7331 IFL XX, 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, 7360 IFE , 7361 7362 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7363 777377 760000 V1=XX*YY 7364 777777 777777 IFE , 7365 IFN ,+>*>+-1>> 7366 777777 777777 IFG XX, 7367 IFL XX, 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, 7396 IFE , 7397 7398 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7399 775777 740000 V1=XX*YY 7400 777777 777777 IFE , 7401 IFN ,+>*>+-1>> 7402 777777 777777 IFG XX, 7403 IFL XX, 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, 7432 IFE , 7433 7434 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7435 767777 700000 V1=XX*YY 7436 777777 777777 IFE , 7437 IFN ,+>*>+-1>> 7438 777777 777777 IFG XX, 7439 IFL XX, 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, 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 , 7469 7470 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7471 737777 600000 V1=XX*YY 7472 777777 777777 IFE , 7473 IFN ,+>*>+-1>> 7474 777777 777777 IFG XX, 7475 IFL XX, 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, 7504 IFE , 7505 7506 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7507 577777 400000 V1=XX*YY 7508 777777 777777 IFE , 7509 IFN ,+>*>+-1>> 7510 777777 777777 IFG XX, 7511 IFL XX, 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, 7540 IFE , 7541 7542 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7543 777777 000000 V1=XX*YY 7544 IFE , 7545 777777 777775 IFN ,+>*>+-1>> 7546 777777 777775 IFG XX, 7547 IFL XX, 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, 7576 IFE , 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 , 7581 777777 777767 IFN ,+>*>+-1>> 7582 777777 777767 IFG XX, 7583 IFL XX, 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, 7612 IFE , 7613 7614 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7615 777774 000000 V1=XX*YY 7616 IFE , 7617 777777 777737 IFN ,+>*>+-1>> 7618 777777 777737 IFG XX, 7619 IFL XX, 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, 7648 IFE , 7649 7650 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7651 777770 000000 V1=XX*YY 7652 IFE , 7653 777777 777577 IFN ,+>*>+-1>> 7654 777777 777577 IFG XX, 7655 IFL XX, 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, 7684 IFE , 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 , 7689 777777 776777 IFN ,+>*>+-1>> 7690 777777 776777 IFG XX, 7691 IFL XX, 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, 7720 IFE , 7721 7722 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7723 777740 000000 V1=XX*YY 7724 IFE , 7725 777777 773777 IFN ,+>*>+-1>> 7726 777777 773777 IFG XX, 7727 IFL XX, 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, 7756 IFE , 7757 7758 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7759 777700 000000 V1=XX*YY 7760 IFE , 7761 777777 757777 IFN ,+>*>+-1>> 7762 777777 757777 IFG XX, 7763 IFL XX, 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, 7792 IFE , 7793 7794 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7795 777600 000000 V1=XX*YY 7796 IFE , 7797 777777 677777 IFN ,+>*>+-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, 7799 IFL XX, 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, 7828 IFE , 7829 7830 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7831 777400 000000 V1=XX*YY 7832 IFE , 7833 777777 377777 IFN ,+>*>+-1>> 7834 777777 377777 IFG XX, 7835 IFL XX, 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, 7864 IFE , 7865 7866 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7867 777000 000000 V1=XX*YY 7868 IFE , 7869 777775 777777 IFN ,+>*>+-1>> 7870 777775 777777 IFG XX, 7871 IFL XX, 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, 7900 IFE , 7901 7902 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7903 776000 000000 V1=XX*YY 7904 IFE , 7905 777767 777777 IFN ,+>*>+-1>> 7906 777767 777777 IFG XX, 7907 IFL XX, 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, 7936 IFE , 7937 7938 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7939 774000 000000 V1=XX*YY 7940 IFE , 7941 777737 777777 IFN ,+>*>+-1>> 7942 777737 777777 IFG XX, 7943 IFL XX, 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, 7972 IFE , 7973 7974 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 7975 770000 000000 V1=XX*YY 7976 IFE , 7977 777577 777777 IFN ,+>*>+-1>> 7978 777577 777777 IFG XX, 7979 IFL XX, 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, 8008 IFE , 8009 8010 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 8011 760000 000000 V1=XX*YY 8012 IFE , 8013 776777 777777 IFN ,+>*>+-1>> 8014 776777 777777 IFG XX, 8015 IFL XX, 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, 8044 IFE , 8045 8046 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 8047 740000 000000 V1=XX*YY 8048 IFE , 8049 773777 777777 IFN ,+>*>+-1>> 8050 773777 777777 IFG XX, 8051 IFL XX, 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, 8080 IFE , 8081 8082 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 8083 700000 000000 V1=XX*YY 8084 IFE , 8085 757777 777777 IFN ,+>*>+-1>> 8086 757777 777777 IFG XX, 8087 IFL XX, 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, 8116 IFE , 8117 8118 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 8119 600000 000000 V1=XX*YY 8120 IFE , 8121 677777 777777 IFN ,+>*>+-1>> 8122 677777 777777 IFG XX, 8123 IFL XX, 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, 8152 IFE , 8153 8154 ;MULTIPLY A FLOATING 1 BY A FLOATING 0 8155 400000 000000 V1=XX*YY 8156 IFE , 8157 777777 777777 IFN ,+>*>+-1>> 8158 IFG XX, 8159 400000 000001 IFL XX, 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=&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,&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, 8198 IFE , 8199 8200 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8201 V1=XX*YY 8202 IFE , 8203 IFN ,+>*>+-1>> 8204 IFG XX, 8205 IFL XX, 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, 8212 777777 777776 IFE , 8213 8214 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8215 777777 777776 V1=XX*YY 8216 777777 777777 IFE , 8217 IFN ,+>*>+-1>> 8218 777777 777777 IFG XX, 8219 IFL XX, 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, 8248 IFE , 8249 8250 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8251 777777 777772 V1=XX*YY 8252 777777 777777 IFE , 8253 IFN ,+>*>+-1>> 8254 777777 777777 IFG XX, 8255 IFL XX, 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, 8284 IFE , 8285 8286 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8287 777777 777754 V1=XX*YY 8288 777777 777777 IFE , 8289 IFN ,+>*>+-1>> 8290 777777 777777 IFG XX, 8291 IFL XX, 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, 8320 IFE , 8321 8322 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8323 777777 777670 V1=XX*YY 8324 777777 777777 IFE , 8325 IFN ,+>*>+-1>> 8326 777777 777777 IFG XX, 8327 IFL XX, 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, 8356 IFE , 8357 8358 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8359 777777 777360 V1=XX*YY 8360 777777 777777 IFE , 8361 IFN ,+>*>+-1>> 8362 777777 777777 IFG XX, 8363 IFL XX, 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, 8392 IFE , 8393 8394 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8395 777777 775740 V1=XX*YY 8396 777777 777777 IFE , 8397 IFN ,+>*>+-1>> 8398 777777 777777 IFG XX, 8399 IFL XX, 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, 8428 IFE , 8429 8430 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8431 777777 767700 V1=XX*YY 8432 777777 777777 IFE , 8433 IFN ,+>*>+-1>> 8434 777777 777777 IFG XX, 8435 IFL XX, 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, 8464 IFE , 8465 8466 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8467 777777 737600 V1=XX*YY 8468 777777 777777 IFE , 8469 IFN ,+>*>+-1>> 8470 777777 777777 IFG XX, 8471 IFL XX, 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, 8500 IFE , 8501 8502 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8503 777777 577400 V1=XX*YY 8504 777777 777777 IFE , 8505 IFN ,+>*>+-1>> 8506 777777 777777 IFG XX, 8507 IFL XX, 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, 8536 IFE , 8537 8538 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8539 777776 777000 V1=XX*YY 8540 777777 777777 IFE , 8541 IFN ,+>*>+-1>> 8542 777777 777777 IFG XX, 8543 IFL XX, 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, 8572 IFE , 8573 8574 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8575 777773 776000 V1=XX*YY 8576 777777 777777 IFE , 8577 IFN ,+>*>+-1>> 8578 777777 777777 IFG XX, 8579 IFL XX, 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, 8608 IFE , 8609 8610 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8611 777757 774000 V1=XX*YY 8612 777777 777777 IFE , 8613 IFN ,+>*>+-1>> 8614 777777 777777 IFG XX, 8615 IFL XX, 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, 8644 IFE , 8645 8646 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8647 777677 770000 V1=XX*YY 8648 777777 777777 IFE , 8649 IFN ,+>*>+-1>> 8650 777777 777777 IFG XX, 8651 IFL XX, 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, 8680 IFE , 8681 8682 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8683 777377 760000 V1=XX*YY 8684 777777 777777 IFE , 8685 IFN ,+>*>+-1>> 8686 777777 777777 IFG XX, 8687 IFL XX, 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, 8716 IFE , 8717 8718 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8719 775777 740000 V1=XX*YY 8720 777777 777777 IFE , 8721 IFN ,+>*>+-1>> 8722 777777 777777 IFG XX, 8723 IFL XX, 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, 8752 IFE , 8753 8754 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8755 767777 700000 V1=XX*YY 8756 777777 777777 IFE , 8757 IFN ,+>*>+-1>> 8758 777777 777777 IFG XX, 8759 IFL XX, 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, 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 , 8789 8790 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8791 737777 600000 V1=XX*YY 8792 777777 777777 IFE , 8793 IFN ,+>*>+-1>> 8794 777777 777777 IFG XX, 8795 IFL XX, 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, 8824 IFE , 8825 8826 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8827 577777 400000 V1=XX*YY 8828 777777 777777 IFE , 8829 IFN ,+>*>+-1>> 8830 777777 777777 IFG XX, 8831 IFL XX, 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, 8860 IFE , 8861 8862 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8863 777777 000000 V1=XX*YY 8864 IFE , 8865 777777 777775 IFN ,+>*>+-1>> 8866 777777 777775 IFG XX, 8867 IFL XX, 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, 8896 IFE , 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 , 8901 777777 777767 IFN ,+>*>+-1>> 8902 777777 777767 IFG XX, 8903 IFL XX, 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, 8932 IFE , 8933 8934 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8935 777774 000000 V1=XX*YY 8936 IFE , 8937 777777 777737 IFN ,+>*>+-1>> 8938 777777 777737 IFG XX, 8939 IFL XX, 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, 8968 IFE , 8969 8970 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 8971 777770 000000 V1=XX*YY 8972 IFE , 8973 777777 777577 IFN ,+>*>+-1>> 8974 777777 777577 IFG XX, 8975 IFL XX, 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, 9004 IFE , 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 , 9009 777777 776777 IFN ,+>*>+-1>> 9010 777777 776777 IFG XX, 9011 IFL XX, 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, 9040 IFE , 9041 9042 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 9043 777740 000000 V1=XX*YY 9044 IFE , 9045 777777 773777 IFN ,+>*>+-1>> 9046 777777 773777 IFG XX, 9047 IFL XX, 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, 9076 IFE , 9077 9078 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 9079 777700 000000 V1=XX*YY 9080 IFE , 9081 777777 757777 IFN ,+>*>+-1>> 9082 777777 757777 IFG XX, 9083 IFL XX, 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, 9112 IFE , 9113 9114 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 9115 777600 000000 V1=XX*YY 9116 IFE , 9117 777777 677777 IFN ,+>*>+-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, 9119 IFL XX, 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, 9148 IFE , 9149 9150 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 9151 777400 000000 V1=XX*YY 9152 IFE , 9153 777777 377777 IFN ,+>*>+-1>> 9154 777777 377777 IFG XX, 9155 IFL XX, 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, 9184 IFE , 9185 9186 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 9187 777000 000000 V1=XX*YY 9188 IFE , 9189 777775 777777 IFN ,+>*>+-1>> 9190 777775 777777 IFG XX, 9191 IFL XX, 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, 9220 IFE , 9221 9222 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 9223 776000 000000 V1=XX*YY 9224 IFE , 9225 777767 777777 IFN ,+>*>+-1>> 9226 777767 777777 IFG XX, 9227 IFL XX, 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, 9256 IFE , 9257 9258 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 9259 774000 000000 V1=XX*YY 9260 IFE , 9261 777737 777777 IFN ,+>*>+-1>> 9262 777737 777777 IFG XX, 9263 IFL XX, 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, 9292 IFE , 9293 9294 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 9295 770000 000000 V1=XX*YY 9296 IFE , 9297 777577 777777 IFN ,+>*>+-1>> 9298 777577 777777 IFG XX, 9299 IFL XX, 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, 9328 IFE , 9329 9330 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 9331 760000 000000 V1=XX*YY 9332 IFE , 9333 776777 777777 IFN ,+>*>+-1>> 9334 776777 777777 IFG XX, 9335 IFL XX, 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, 9364 IFE , 9365 9366 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 9367 740000 000000 V1=XX*YY 9368 IFE , 9369 773777 777777 IFN ,+>*>+-1>> 9370 773777 777777 IFG XX, 9371 IFL XX, 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, 9400 IFE , 9401 9402 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 9403 700000 000000 V1=XX*YY 9404 IFE , 9405 757777 777777 IFN ,+>*>+-1>> 9406 757777 777777 IFG XX, 9407 IFL XX, 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, 9436 IFE , 9437 9438 ;MULTIPLY A FLOATING 0 BY A FLOATING 1 9439 600000 000000 V1=XX*YY 9440 IFE , 9441 677777 777777 IFN ,+>*>+-1>> 9442 677777 777777 IFG XX, 9443 IFL XX, 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,&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, 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, 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, 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,&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,&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,&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,&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, 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, 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, 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,&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,&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, 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, 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, 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,&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 &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 &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 &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,&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,&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, 10030 IFE ZZ, 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, 10047 200000 IFE ZZ, 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, 10064 IFE ZZ, 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,&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 &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 &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 &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,&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,&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,&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,&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,&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,&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,&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, 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, 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, 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,&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,&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,&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,&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,&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,&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=&777777 11147 IFE ZZ, 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=&777777 11166 777777 IFE ZZ, 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=&777777 11185 IFE ZZ, 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,&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,&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,&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,&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,&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,&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, 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, 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, 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,&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,&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,&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, 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, 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, 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,&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,&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,&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, 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, 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, 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,&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,&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,&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,&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,&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,&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,&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,&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,&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,&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,&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,&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 &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 &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 &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,&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 &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 &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 &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,&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,&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,&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,&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,&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,&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,&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,&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,&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,&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, 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, 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, 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,&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,&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,&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,&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,&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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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,&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, 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, 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, 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, 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, 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, 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,&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, 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, 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, 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, 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, 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, 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,&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, 13758 IFE ZZ, 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, 13776 777777 777777 IFE ZZ, 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, 13794 IFE ZZ, 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, 13812 IFE ZZ, 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, 13830 IFE ZZ, 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, 13848 IFE ZZ, 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,&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, 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,&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,&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, 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,&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,&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, 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,&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,&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, 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,&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,&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, 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,&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,&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, 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,&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,&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,&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, 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, 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, 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, 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, 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, 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,&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,&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,&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,&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,&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,&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,&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,&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,&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,&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,&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,&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,&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,&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,&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, 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, 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, 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, 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, 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, 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,&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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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,&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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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,&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,&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, 15700 IFE ZZ, 15701 MOVEI AC-2,XX ;SETUP FOR COMPARISON 15702 HRROI AC,ZZ ;SETUP DVND 15703 SETO AC-1, ;SETUP DVSR 15704 MOVE AC-3,&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,&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, 15719 777777 777777 IFE ZZ, 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,&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,&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, 15738 IFE ZZ, 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,&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,&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, 15757 IFE ZZ, 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,&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,&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, 15776 IFE ZZ, 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,&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,&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, 15795 IFE ZZ, 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,&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,&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,&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,&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,&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,&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 &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 &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 &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 &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 &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 &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,&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,> 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,^ 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,> 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, 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