DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 1 DAKBAT MAC 21-JAN-77 16:42 DIAGNOSTIC PARAMETERS SEQ 0015 1 ;MAINDEC-10-DAKBA 2 3 000002 DECVER=002 4 000000 MCNVER=000 5 6 XLIST 7 LIST 8 LALL 9 10 NAME \MCNVER,\DECVER^ 11 12 TITLE DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 ^ 13 14 XALL 15 16 ;TEST DESIGNED FOR RANDOM NUMBER TESTING OF THE PDP-10 BASIC INSTRUCTIONS 17 ;(COMPARES,SKIPS,EXCHANGES,BOOLE,ROTATES,TESTS,ETC.) 18 19 ;COPYRIGHT 1977 20 ;DIGITAL EQUIPMENT CORPORATION 21 ;MARLBORO, MASS. 01752 22 23 ;JOHN R. KIRCHOFF 24 25 000137 LOC 137 26 000137 000000 000002 MCNVER,,DECVER 27 28 NOSYM DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 2 DAKBAT MAC 21-JAN-77 16:42 DIAGNOSTIC PARAMETERS SEQ 0016 29 SUBTTL DIAGNOSTIC PARAMETERS 30 31 ;LUUO DEFINITIONS 32 33 001000 000000 OPDEF ERR [1B8] 34 002000 000000 OPDEF ERRM [2B8] 35 003000 000000 OPDEF ERRI [3B8] 36 004000 000000 OPDEF ERROR [4B8] 37 005000 000000 OPDEF ER [5B8] 38 011000 000000 OPDEF EERR [11B8] 39 012000 000000 OPDEF EERRM [12B8] 40 013000 000000 OPDEF EERRI [13B8] 41 037316 LUUO1=ERRMES 42 037316 LUUO2=ERRMES 43 037316 LUUO3=ERRMES 44 037316 LUUO4=ERRMES 45 037316 LUUO5=ERRMES 46 037316 LUUO11=ERRMES 47 037316 LUUO12=ERRMES 48 037316 LUUO13=ERRMES 49 50 ;SUBROUTINE ASSEMBLY DEFINITIONS 51 52 000001 EXCASB==1 53 000001 USRASB==1 54 000040 DEBUG==40 55 000001 KLOLD==1 56 000010 KA10=10 57 000001 PGMEND==1 58 000001 ERRELB==1 59 030000 SADR1==BEGIN 60 030076 SADR2==RESRT1 61 030635 SADR3==RENTR1 62 030000 SADR4==BEGIN 63 030000 SADR5==BEGIN 64 030000 SADR6==BEGIN 65 254200 030000 SADR7==HALT BEGIN 66 254200 030000 SADR8==HALT BEGIN 67 254200 030000 SADR9==HALT BEGIN 68 254200 030000 SADR10==HALT BEGIN 69 254200 030000 SADR11==HALT BEGIN 70 123457 654321 PAREA1==123457,,654321 71 000000 PAREA2==0 72 444153 424100 PAREA3==SIXBIT/DAKBA/ 73 645560 000000 PAREA4==SIXBIT/TMP/ 74 000000 PAREA5==0 75 000000 PAREA6==0 76 000001 ITERAT==1 77 000001 ENDPGM==1 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 3 DAKBAT MAC 21-JAN-77 16:42 DIAGNOSTIC PARAMETERS SEQ 0017 78 ;MACROS 79 80 DEFINE SETUP (A,B)< 81 AC1=&17 82 AC2=&17 83 AC3=&17 84 AC4=&17 85 AC5=&17 86 RAN1=&17 87 MOVEI AC-1,. 88 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 89 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 90 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 91 MOVEI AC-1,A ;ROUTINE WEIGHTING 92 ASH AC-1,@CMPLXT+B ;ROUTINE COMPLEXITY 93 ASH AC-1,@RTIME ;RUN TIME CONTROLLER > 94 95 DEFINE RANDOM (A)< 96 MOVE AC,RAN# ;GENERATE A PSEUDO RANDOM NUMBER 97 ADD AC,[142536475076] 98 ROT AC,-1 ;IN BOTH AC AND 99 EQVB AC,RAN ;REGISTER RAN > 100 101 DEFINE LOOP (A,B)< 102 SOJG AC-1,A ;ITERATION COUNTER 103 MOVE AC,RAN ;RESTORE RANDOM NUMBER 104 JUMPL AC-1,B ;LOOP ON ERROR SWITCH > DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 1 PARAM KLM 18-JAN-77 11:38 *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977 SEQ 0018 105 SUBTTL *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977 106 107 DEFINE S,<;*********************************************************************> 108 109 S^;*********************************************************************^ 110 ;*DATA SWITCHES (READ FROM CONSOLE IN EXEC MODE OR TYPED IN IN USER MODE) 111 ;*LEFT HALF SWITCHES ARE PRE-ASSIGNED FOR SUBROUTINE PACKAGE USE 112 ;*AND CONTROL LOOPING, PRINTING (TTY OR OTHER DEVICE) AND MISC. FUNCTIONS 113 S^;*********************************************************************^ 114 115 400000 ABORT== 400000 ;ABORT PROGRAM ON PASS COMPLETION 116 200000 RSTART==200000 ;RESTART TEST, PRINT TOTALS 117 100000 TOTALS==100000 ;PRINT TOTALS, CONTINUE 118 119 040000 NOPNT== 040000 ;INHIBIT ALL PRINT/TYPE OUT (EXCEPT FORCED) 120 020000 PNTLPT==020000 ;PRINT ALL DATA ON LPT (LOGICAL DEVICE, USER MODE) 121 010000 DING== 010000 ;RING BELL ON ERROR 122 123 004000 LOOPER==004000 ;ENTER EXERCISE/CHECK LOOP ON ERROR 124 002000 ERSTOP==002000 ;HALT ON TEST ERROR 125 001000 PALERS==001000 ;PRINT ALL ERRORS 126 127 000400 RELIAB==000400 ;RELIABILITY MODE 128 000200 TXTINH==000200 ;INHIBIT ERROR TEXT 129 000100 INHPAG==000100 ;INHIBIT PAGING 130 131 000040 MODDVC==000040 ;MODIFY DEVICE CODE 132 000020 INHCSH==000020 ;INHIBIT CACHE 133 000010 OPRSEL==000010 ;OPERATOR SELECTION 134 135 000004 CHAIN== 000004 ;CHAIN CONTROL SWITCH 136 137 000002 KAHZ50==000002 ;KA10 50 HERTZ POWER 138 139 ;SWITCH 17 RESERVED !!! DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 2 PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0019 140 SUBTTL *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 141 142 S^;*********************************************************************^ 143 ;*SPECIAL SUBPROGRAM LINKAGES 144 S^;*********************************************************************^ 145 146 027772 FSELNK= 27772 ;FILE SELECT LINK 147 027773 FRDLNK= 27773 ;FILE READ LINK 148 027774 LDLNK= 27774 ;LOAD LINKAGE ADDRESS 149 027775 DDTLNK= 27775 ;DDT LINKAGE ADDRESS 150 027776 MODLNK= 27776 ;OPERATIONAL MODE CHECK LINKAGE ADDRESS 151 027777 SUBLNK= 27777 ;SUBROUTINE LINKAGE ADDRESS 152 153 S^;*********************************************************************^ 154 ;*SPECIAL SUBROUTINE FATAL HALTS 155 ;*USED TO REPORT ERRORS THAT CAUSE THE SUBROUTINES TO BE UNUSABLE 156 S^;*********************************************************************^ 157 158 ;ADDRESS TAG REASON 159 ;--------------------- 160 161 ; 1010 NOEXEC ;PROGRAM NOT CODED FOR EXEC MODE OPERATION 162 ; 1011 PLERR ;FATAL PUSH LIST POINTER ERROR 163 ; 1012 PLERR1 ;INITIAL PUSH LIST POINTER ERROR 164 ; 1013 MUOERR ;MUUO WITH LUUO HANDLER WIPED OUT 165 ; 1014 DTEBER ;DTE20 INTERRUPT WITHOUT DOORBELL 166 ; 1015 DTECER ;DTE20 CLOCK INTERRUPT WITHOUT FLAG SET 167 ; 1016 CPIERR ;CPU INITIALIZATION ERROR 168 ; 1017 EOPERR ;END OF PROGRAM ERROR 169 ; 1020 LUOERR ;INTERRUPT WITH LUUO HANDLER WIPED OUT 170 171 S^;*********************************************************************^ DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 3 PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0020 172 S^;*********************************************************************^ 173 ;OPERATOR DEFINITIONS (NON-UUO'S) 174 S^;*********************************************************************^ 175 176 260740 000000 OPDEF GO [PUSHJ P,] ;SUBROUTINE CALL 177 263740 000000 OPDEF RTN [POPJ P,] ;SUBROUTINE RETURN 178 261740 000000 OPDEF PUT [PUSH P,] ;PUT DATA ON PUSH LIST 179 262740 000000 OPDEF GET [POP P,] ;GET DATA FROM PUSH LIST 180 254000 000000 OPDEF PJRST [JRST ] ;JRST TO ROUTINE THAT RTN'S 181 254200 000000 OPDEF HALT [JRST 4,] ;DEFINITION FOR DDT 182 254100 000000 OPDEF JRSTF [JRST 2,] ;DEFINITION FOR DDT 183 254500 000000 OPDEF JEN [JRST 12,] ;DEFINITION FOR DDT 184 185 S^;*********************************************************************^ 186 ;*SUBROUTINE INITIALIZATION CALL 187 S^;*********************************************************************^ 188 189 265000 030011 OPDEF PGMINT [JSP 0,SBINIT] ;SUBROUTINE INITIALIZATION 190 191 S^;*********************************************************************^ 192 ;*HALTING UUO'S (A MORE GRACEFUL HALT THAN SIMPLY USING THE HALT INSTRUCTION). 193 S^;*********************************************************************^ 194 195 037640 000004 OPDEF FATAL [37B8!15B12!4] ;FATAL PROGRAMMING HALT 196 037600 000004 OPDEF ERRHLT [37B8!14B12!4] ;PROGRAM ERROR HALT 197 198 S^;*********************************************************************^ 199 ;*TERMINAL INPUT UUO'S 200 ;*ALWAYS COME FROM THE CONSOLE TERMINAL IN EXEC MODE OR THE 201 ;*CONTROLLING TERMINAL (REAL TERMINAL OR PTY) IN USER MODE. 202 S^;*********************************************************************^ 203 204 037000 000003 OPDEF TTICHR [37B8!0B12!3] ;TTY, INPUT ANY CHARACTER 205 037040 000003 OPDEF TTIYES [37B8!1B12!3] ;TTY, NORMAL RETURN Y 206 037100 000003 OPDEF TTINO [37B8!2B12!3] ;TTY, NORMAL RETURN N 207 037140 000003 OPDEF TTIOCT [37B8!3B12!3] ;TTY, INPUT OCTAL WORD 208 037200 000003 OPDEF TTIDEC [37B8!4B12!3] ;TTY, INPUT DECIMAL WORD 209 037240 000003 OPDEF TTICNV [37B8!5B12!3] ;TTY, INPUT CONVERTABLE WORD 210 037300 000003 OPDEF TTLOOK [37B8!6B12!3] ;TTY, KEYBOARD CHECK 211 037340 000003 OPDEF TTALTM [37B8!7B12!3] ;TTY, ALT-MODE CHECK 212 037400 000003 OPDEF TTSIXB [37B8!10B12!3] ;TTY, INPUT SIXBIT WORD 213 037440 000003 OPDEF TTYINP [37B8!11B12!3] ;TTY, IMAGE MODE INPUT DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 4 PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0021 214 ;*TERMINAL OUTPUT UUO'S. 215 216 037000 000000 OPDEF PNTA [37B8!0B12!0] ;PRINT ASCII WORD 217 037000 000001 OPDEF PNTAF [37B8!0B12!1] ;PRINT ASCII WORD FORCED 218 037740 000000 OPDEF PNTAL [37B8!17B12!0] ;PRINT ASCIZ LINE 219 037740 000001 OPDEF PNTALF [37B8!17B12!1] ;PRINT ASCIZ LINE FORCED 220 037600 000003 OPDEF PSIXL [37B8!14B12!3] ;PRINT SIXBIT'Z LINE 221 037640 000003 OPDEF PSIXLF [37B8!15B12!3] ;PRINT SIXBIT'Z LINE FORCED 222 037000 000000 OPDEF PNTMSG [37B8!0B12!0] ;PRINT MESSAGE IMMEDIATE 223 037040 000000 OPDEF PNTMSF [37B8!1B12!0] ;PRINT MESSAGE IMMEDIATE FORCED 224 037100 000000 OPDEF PSIXM [37B8!2B12!0] ;PRINT SIXBIT'Z MSG IMMEDIATE 225 037200 000000 OPDEF PSIXMF [37B8!4B12!0] ;PRINT SIXBIT'Z MSG IMM FORCED 226 037000 000000 OPDEF PNTCI [37B8!0B12!0] ;PRINT CHARACTER IMMEDIATE 227 037040 000000 OPDEF PNTCIF [37B8!1B12!0] ;PRINT CHARACTER IMMEDIATE FORCED 228 037500 000000 OPDEF PNTCHR [37B8!12B12!0] ;PRINT CHARACTER 229 037500 000001 OPDEF PNTCHF [37B8!12B12!1] ;PRINT CHARACTER FORCED 230 037040 000000 OPDEF PNT1 [37B8!1B12!0] ;PRINT ONE OCTAL DIGIT 231 037040 000001 OPDEF PNT1F [37B8!1B12!1] ;PRINT 1 OCTAL DIGIT FORCED 232 037100 000000 OPDEF PNT2 [37B8!2B12!0] ;PRINT TWO OCTAL DIGITS 233 037100 000001 OPDEF PNT2F [37B8!2B12!1] ;PRINT 2 OCTAL DIGITS FORCED 234 037140 000000 OPDEF PNT3 [37B8!3B12!0] ;PRINT THREE OCTAL DIGITS 235 037140 000001 OPDEF PNT3F [37B8!3B12!1] ;PRINT THREE OCTAL DIGITS FORCED 236 037200 000000 OPDEF PNT4 [37B8!4B12!0] ;PRINT FOUR OCTAL DIGITS 237 037200 000001 OPDEF PNT4F [37B8!4B12!1] ;PRINT FOUR OCTAL DIGITS FORCED 238 037240 000000 OPDEF PNT5 [37B8!5B12!0] ;PRINT FIVE OCTAL DIGITS 239 037240 000001 OPDEF PNT5F [37B8!5B12!1] ;PRINT FIVE OCTAL DIGITS FORCED 240 037300 000000 OPDEF PNT6 [37B8!6B12!0] ;PRINT SIX OCTAL DIGITS 241 037300 000001 OPDEF PNT6F [37B8!6B12!1] ;PRINT SIX OCTAL DIGITS FORCED 242 037340 000000 OPDEF PNT7 [37B8!7B12!0] ;PRINT 7 OCTAL DIGITS 243 037340 000001 OPDEF PNT7F [37B8!7B12!1] ;PRINT 7 OCTAL DIGITS FORCED 244 037440 000000 OPDEF PNT11 [37B8!11B12!0] ;PRINT 11 OCTAL DIGITS 245 037440 000001 OPDEF PNT11F [37B8!11B12!1] ;PRINT 11 OCTAL DIGITS FORCED. 246 037400 000000 OPDEF PNTADR [37B8!10B12!0] ;PRINT PHYSICAL ADDRESS 247 037400 000001 OPDEF PNTADF [37B8!10B12!1] ;PRINT PHYSICAL ADDRESS FORCED 248 037600 000000 OPDEF PNTOCT [37B8!14B12!0] ;PRINT FULL WORD OCTAL 249 037600 000001 OPDEF PNTOTF [37B8!14B12!1] ;PRINT FULL WORD OCTAL FORCED 250 037540 000000 OPDEF PNTHW [37B8!13B12!0] ;PRINT OCTAL HALF WORDS, 6 SP 6 251 037540 000001 OPDEF PNTHWF [37B8!13B12!1] ;PRINT OCTAL HALF WORDS, 6 SP 6 FORCED 252 037700 000003 OPDEF PNTOCS [37B8!16B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S 253 037740 000003 OPDEF PNTOCF [37B8!17B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S FORCED 254 037640 000000 OPDEF PNTDEC [37B8!15B12!0] ;PRINT DECIMAL, SUPRESS LEADING 0'S 255 037640 000001 OPDEF PNTDCF [37B8!15B12!1] ;PRINT DECIMAL, SUPRESS LEADING 0'S FORCED 256 037700 000000 OPDEF PNTDS [37B8!16B12!0] ;PRINT DECIMAL, SPACES FOR LD 0'S 257 037700 000001 OPDEF PNTDSF [37B8!16B12!1] ;PRINT DECIMAL, SPACES FOR LD 0'S FORCED 258 037200 000002 OPDEF PNTNM [37B8!4B12!2] ;PRINT PROGRAM NAME 259 037000 000002 OPDEF PNTSIX [37B8!0B12!2] ;PRINT SIXBIT WORD 260 037040 000002 OPDEF PNTSXF [37B8!1B12!2] ;PRINT SIXBIT WORD FORCED 261 037240 000002 OPDEF DROPDV [37B8!5B12!2] ;CLOSE LOGICAL FILE, USER MODE 262 037100 000002 OPDEF PNTCW [37B8!2B12!2] ;PRINT DF10 CONTROL WORD 263 037140 000002 OPDEF PNTCWF [37B8!3B12!2] ;PRINT DF10 CONTROL WORD FORCED 264 037000 030242 OPDEF PCRL [37B8!0B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED 265 037040 030242 OPDEF PCRLF [37B8!1B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED FORCED 266 037000 000040 OPDEF PSP [37B8!0B12!40] ;PRINT SPACE 267 037040 000040 OPDEF PSPF [37B8!1B12!40] ;PRINT SPACE FORCED 268 037000 030243 OPDEF PCRL2 [37B8!0B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 4-1 PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0022 269 037040 030243 OPDEF PCRL2F [37B8!1B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) FORCED 270 037040 000007 OPDEF PBELL [37B8!1B12!7] ;PRINT TTY BELL 271 272 037040 000026 OPDEF PFORCE [37B8!1B12!26] ;PRINT FORCE, CONTROL O OVERRIDE 273 274 DEFINE PMSG (ARG),< 275 PSIXM [SIXBIT\ARG'_\]> 276 277 DEFINE PMSGF (ARG),< 278 PSIXMF [SIXBIT\ARG'_\]> 279 280 ;*SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING 281 ;* CONSERVES CORE OVER ASCIZ 282 283 DEFINE SIXBTZ (ARG),< [SIXBIT\ARG'_\]> 284 285 ;*CONSOLE SWITCH INPUT UUO. 286 ;*READS CONSOLE SWITCHES IF IN EXEC MODE OR ASKS FOR THEM IF 287 ;* USER MODE. 288 289 037400 000002 OPDEF SWITCH [37B8!10B12!2] ;INPUT CONSOLE SWITCHES 290 291 ;*CLOCK INITIALIZATION UUO - TO SET DESIRED CLOCK OPERATION 292 ;*EITHER IGNORE CLOCK, ONLY LET IT TICK OR CAUSE INTERRUPT TO OCCUR. 293 294 037540 000004 OPDEF CLOKOP [37B8!13B12!4] ;CLOCK OPERATION UUO - PDP-11 CLOCK 295 037200 000004 OPDEF MTROP [37B8!4B12!4] ;CLOCK OPERATION UUO - DK20 METER 296 297 ;*KL10 ONLY CACHE OPERATION UUO'S 298 299 037040 000004 OPDEF CINVAL [37B8!1B12!4] ;CACHE INVALIDATE 300 037100 000004 OPDEF CFLUSH [37B8!2B12!4] ;CACHE FLUSH 301 037140 000004 OPDEF CWRTBI [37B8!3B12!4] ;CACHE WRITE-BACK & INVALIDATE DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 5 PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0023 302 ;*END OF PASS/PROGRAM UUOS 303 304 ;PERFORMS THE END OF PASS FUNCTIONS. INCREMENT PASS COUNT, 305 ;*DECREMENT ITERATION COUNT, CHECK IF FINISHED WITH THIS PROGRAM ETC. 306 307 037500 000004 OPDEF ENDUUO [37B8!12B12!4] ;UUO TO DISPLAY LIGHTS 308 037700 000004 OPDEF EOPUUO [37B8!16B12!4] ;END OF PROGRAM UUO 309 310 ;*MEMORY MANAGEMENT UUO'S 311 ;*UUO'S TO PERFORM VARIOUS MEMORY FUNCTIONS. MAPPING, ZEROING, PAGING, 312 ;*ADDRESS CONVERSION, ETC... 313 314 037000 000004 OPDEF MAPMEM [37B8!0B12!4] ;MAP MEMORY 315 037500 000002 OPDEF MEMZRO [37B8!12B12!2] ;ZERO MEMORY 316 037440 000002 OPDEF MEMSEG [37B8!11B12!2] ;SETUP MEMORY SEGMENT 317 037540 000002 OPDEF MAPADR [37B8!13B12!2] ;VIRTUAL TO PHYSICAL ADR CONVERT 318 037640 000002 OPDEF MAPCNK [37B8!15B12!2] ;MAP MEMORY CHUNK 319 037600 000002 OPDEF MAPSET [37B8!14B12!2] ;SET KI10 EXEC PAGE MAP 320 037740 000002 OPDEF MAPPNT [37B8!17B12!2] ;PRINT MEMORY MAP 321 322 ;*DEVICE CODE MODIFICATION UUO 323 ;*ALLOWS THE MODIFICATION OF IOT'S TO ONE DEVICE TO BE CHANGED TO 324 ;*IOT'S TO A DIFFERENT DEVICE CODE. 325 326 037340 000002 OPDEF MODPCU [37B8!7B12!2] ;MODIFY PERHIPERAL CODE, USER 327 037300 000002 OPDEF MODPCP [37B8!6B12!2] ;MODIFY PERHIPERAL CODE, PROGRAM 328 329 030000 IFNDEF MODDVL, 330 030000 IFNDEF MODDVU, 331 332 ;*"DIAMON" FILE SELECTION AND READ UUOS 333 334 037240 000004 OPDEF FSELECT [37B8!5B12!4] ;FILE SELECTION 335 037300 000004 OPDEF FREAD [37B8!6B12!4] ;FILE READ - ASCII DATA 336 037340 000004 OPDEF FRD36 [37B8!7B12!4] ;FILE READ - 36 BIT DATA 337 037400 000004 OPDEF FRD8 [37B8!10B12!4] ;FILE READ - 8 BIT DATA 338 339 ;*KI10 ONLY UUO FOR PRINTING MARGIN VALUES 340 341 037700 000002 OPDEF PNTMGN [37B8!16B12!2] ;PRINT MARGIN VALUE 342 343 XLIST 344 LIST DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 1 FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0024 345 SUBTTL *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 346 347 030000 LOC 30000 348 349 S^;*********************************************************************^ 350 ;*PROGRAM STARTING ADDRESSES 351 ;*THESE ADDRESSES CALL VARIOUS SPECIAL START ROUTINES AND OR OPTIONS 352 ;*NORMAL START ADDRESS IS 30000 ALL OTHERS ARE SPECIAL. INVOKED BECAUSE 353 ;*OF END OF PASS, POWER FAILURE, DDT START, RE-ENTERING(TYPICALLY USER 354 ;*MODE), OR ANY NUMBER OF SPECIAL FEATURE TESTS. 355 S^;*********************************************************************^ 356 357 030000 254 00 1 00 027776 BEGIN: JRST @MODLNK ;STAND-ALONE START 358 030001 254 00 0 00 030600 $START: JRST START ;MODE CHECK STARTING ADDRESS 359 360 030002 254 00 1 00 027774 DIAGMN: JRST @LDLNK ;DIAGNOSTIC MONITOR START 361 362 030003 254 00 1 00 027774 SYSEXR: JRST @LDLNK ;SYSTEM EXERCISER START 363 364 030004 254 00 0 00 030000 SFSTRT: JRST SADR1 ;SPECIAL FEATURE START 365 366 030005 254 00 0 00 030076 PFSTRT: JRST SADR2 ;POWER FAIL RESTART 367 368 030006 254 00 0 00 030635 REENTR: JRST SADR3 ;REENTER START(USUALLY USER MODE ONLY) 369 370 030007 SRTDDT: ;COMMONLY MISTAKEN NAME FOR "DDTSRT" 371 030007 254 00 1 00 027775 DDTSRT: JRST @DDTLNK ;DDT START 372 373 030010 254 00 0 00 030605 BEGIN1: JRST STARTA ;LOOP START(END OF PASS COMES HERE) 374 030011 254 00 1 00 027777 SBINIT: JRST @SUBLNK ;PMGINT LINKAGE 375 030012 000000 000000 RETURN: 0 ;RETURN ADDRESS STORAGE 376 377 030013 254200 030000 START1: SADR7 ;OPTIONAL STARTING ADR/INSTRUCTIONS 378 030014 254200 030000 START2: SADR8 ; " 379 030015 254200 030000 START3: SADR9 ; " 380 030016 254200 030000 START4: SADR10 ; " 381 030017 254200 030000 START5: SADR11 ; " DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 2 FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0025 382 S^;*********************************************************************^ 383 ;*PROGRAM FIXED PARAMETER AREA 384 S^;*********************************************************************^ 385 386 030020 444153 424100 PNTNAM: PAREA3 ;SIXBIT PROGRAM NAME 387 030021 645560 000000 PNTEXT: PAREA4 ;SIXBIT PROGRAM EXTENSION 388 030022 123457 654321 RANDBS: PAREA1 ;RANDOM BASE NUMBER 389 030023 000000 000000 SWTEXR: PAREA2 ;SYSTEM EXERCISER SWITCHES 390 030024 000000 000001 ITRCNT: ITERAT ;PROGRAM ITERATIONS 391 030025 000000 030637 $PNAME: PGMNAM ;POINTER TO PROGRAMS NAME 392 030026 000000 000002 $PVER: MCNVER,,DECVER ;MCN & DEC VERSION LEVEL 393 030027 000000 030000 $MODVL: MODDVL ;DEVICE CODE CHANGE LOWER LIMIT 394 030030 000000 030000 $MODVU: MODDVU ;DEVICE CODE CHANGE UPPER LIMIT 395 030031 777777 777777 $EMODE: IFNDEF EXCASB,<0> IFDEF EXCASB,<-1> ;EXEC ALLOWED 396 030032 777777 777777 $UMODE: IFNDEF USRASB,<0> IFDEF USRASB,<-1> ;USER ALLOWED 397 030033 000000 000000 $DSKUP: IFNDEF DSKUPD,<0> IFDEF DSKUPD,<-1> ;DISK UPDATE MODE 398 030034 000000 000000 $MMAP: IFNDEF MEMMAP,<0> IFDEF MEMMAP,<-1> ;ALLOW MEMORY RTNS 399 030035 000000 000000 PAREA7: PAREA5 ;OPTIONAL PARAMETER 400 030036 000000 000000 PAREA8: PAREA6 ;OPTIONAL PARAMETER 401 402 S^;*********************************************************************^ 403 ;*PROGRAM VARIABLE PARAMETER AREA 404 S^;*********************************************************************^ 405 406 030037 000000 000000 USER: 0 ; 0 = EXEC, -1 = USER MODE FLAG 407 030040 000000 000000 KAIFLG: 0 ;PROCESSOR TYPE, 0 = KA10, -1 = KI10 408 030041 000000 000000 KLFLG: 0 ;PROCESSOR TYPE, 0 = KA/KI, -1 = KL10 409 030042 777777 777777 MONFLG: -1 ;DIAG MONITOR SPECIAL USER FLAG 410 030043 000000 000000 MONCTL: 0 ;DIAG MON/SYS EXR FLAG 411 030044 000000 000000 MONTEN: 0 ;-1= LOADED BY 10 412 030045 000000 000000 CLOCKF: 0 ;CLOCK TICKED FLAG 413 030046 000000 000000 CONSW: 0 ;CONSOLE SWITCH SETTINGS 414 030047 000000 000000 PASCNT: 0 ;PROGRAM PASS COUNT 415 030050 000000 000000 RUNFLG: 0 ;PROGRAM RUN FLAG 416 030051 000000 000000 TESTPC: 0 ;SUBTEST PC 417 030052 000000 000000 ERRPC: 0 ;ERROR PC 418 030053 000000 000000 ERRTLS: 0 ;ERROR TOTALS 419 030054 000000 000000 TICKS: 0 ;PROGRAM RUNNING TIME 420 030055 000000 000000 MARGIN: 0 ;KI10 MARGIN WORD VALUE 421 030056 000000 000000 $ONETM: 0 ;SUBROUTINE INITIALIZATION FLAG DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 3 FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0026 422 S^;*********************************************************************^ 423 ;*SPECIAL PROGRAM DISPATCH ADDRESSES 424 S^;*********************************************************************^ 425 426 030057 037 12 0 00 000004 BEGEND: ENDUUO ;END OF PASS 427 030060 254 00 0 00 030010 $BEND1: JRST BEGIN1 ;KEEP RUNNING PROGRAM 428 030061 037 16 0 00 000004 $BEND2: EOPUUO ;END OF PROGRAM - NO RETURN 429 030062 000000 030000 CNTLC: SADR5 ;CONTROL C XFER ADDRESS 430 030063 000000 030000 ALTMGO: SADR6 ;ALTMODE XFER ADDRESS 431 030064 CPOPJ1: ;SKIP RETURN 432 030064 350 00 0 17 000000 UUOSKP: AOS (P) ;SKIP RETURN FROM UUO 433 030065 CPOPJ: ;NON-SKIP REGULAR RETURN 434 030065 263 17 0 00 000000 UUOEXT: RTN ;UUO RETURN 435 030066 255 00 0 00 000000 UUORTN: JFCL ;ADDITIONAL USERS UUO ROUTINE 436 030067 255 00 0 00 000000 $UORTX: JFCL ;ADDITIONAL UUO LINKAGE 437 030070 255 00 0 00 000000 $UUOER: JFCL ;INITED AS (JRST $UOERX) 438 030071 255 00 0 00 000000 $ITRHL: JFCL ;ADDITIONAL INTERRUPT LINKAGE 439 030072 255 00 0 00 000000 $ITRX1: JFCL ; " 440 030073 255 00 0 00 000000 $USRHL: JFCL ; " 441 030074 255 00 0 00 000000 $RSRTX: JFCL ;ADDITIONAL POWER FAIL LINKAGE 442 030075 255 00 0 00 000000 $RSRTY: JFCL ; " 443 030076 255 00 0 00 000000 RESRT1: JFCL ; INITED AS (JRST RESRTX) 444 030077 255 00 0 00 000000 RESRT2: JFCL ; " 445 030100 255 00 0 00 000000 $PARER: JFCL ;ADDITIONAL PARITY ERROR LINKAGE 446 030101 255 00 0 00 000000 ERMORE: JFCL ;ADDITIONAL ERROR HANDLER LINKAGE 447 030102 254 04 0 00 030102 HALT . ;IMPROPER TRANSFER HALT 448 449 030103 000000 000000 $PSHER: 0 ;INITED AS (JRST PSHERR) 450 030104 000000 000000 ITRCH1: 0 ;PC & FLAGS OF CURRENT INTERRUPT 451 030105 000000 000000 0 ;INITED AS (JRST $ITRC1) 452 453 S^;*********************************************************************^ 454 ;*PROCESSOR CONTROL STORAGE 455 S^;*********************************************************************^ 456 457 030106 000000 000000 $ACC0: 0 ;INTERRUPT SAVED AC0 458 030107 000000 000000 $SVPI: 0 ;INTERRUPT SAVED PI 459 030110 000000 000000 $SVAPR: 0 ;INTERRUPT SAVED APR 460 030111 000000 000000 $SVPAG: 0 ;INTERRUPT SAVED PAG (DATAI) 461 030112 000000 000000 $SPAG1: 0 ;INTERRUPT SAVED PAG (CONI) 462 463 030113 000000 000000 $SVUUO: 0 ;CURRENT USERS UUO 464 030114 000000 000000 $SVUPC: 0 ;PC OF CURRENT USERS UUO 465 466 030115 000000 000000 REPTU: 0 ;REPEAT UUO ITERATIONS 467 030116 000000 000000 SCOPE: 0 ;ERROR HANDLER SCOPE LOOP FLAG 468 030117 000000 000000 %CORFLG:0 ; " CORRECT FLAG 469 030120 000000 000000 %COREC: 0 ; " CORRECT DATA 470 030121 000000 000000 %ACTFL: 0 ; " ACTUAL FLAG 471 030122 000000 000000 %ACTUL: 0 ; " ACTUAL DATA 472 030123 000000 000000 %DISCR: 0 ; " DISCREPENCY DATA DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 4 FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0027 473 S^;*********************************************************************^ 474 ;*UUO DISPATCH TABLE 475 S^;*********************************************************************^ 476 XLIST 477 LIST 478 030124 037316 030070 UUODIS: LUUO1,,$UUOER 479 030125 037316 037316 LUUO3,,LUUO2 480 030126 037316 037316 LUUO5,,LUUO4 481 030127 030070 030070 LUUO7,,LUUO6 482 030130 037316 030070 LUUO11,,LUUO10 483 030131 037316 037316 LUUO13,,LUUO12 484 030132 030070 030070 LUUO15,,LUUO14 485 030133 030070 030070 LUUO17,,LUUO16 486 030134 030070 030070 LUUO21,,LUUO20 487 030135 030070 030070 LUUO23,,LUUO22 488 030136 030070 030070 LUUO25,,LUUO24 489 030137 030070 030070 LUUO27,,LUUO26 490 030140 030070 030070 LUUO31,,LUUO30 491 030141 030070 030070 LUUO33,,LUUO32 492 493 S^;*********************************************************************^ 494 ;*MEMORY MANAGMENT STORAGE 495 S^;*********************************************************************^ 496 497 030142 000000 000000 DF22F: 0 ;DF10 CONTROL FLAG, 0 = 18, -1 = 22 BIT 498 030143 000000 000000 MAPNEW: 0 ;MEMORY MAPPING CONTROL FLAG, -1 = 4096K MAPPING 499 030144 000000 000000 MEMTOT: 0 ;TOTAL MEMORY SIZE IN K (1024.) 500 030145 000000 000000 MEMLOW: 0 ;LOWEST USABLE MEMORY 501 030146 MEMSIZ: BLOCK ^D41 ;MEMORY SEGMENT POINTER TABLE 502 503 S^;*********************************************************************^ 504 ;*PRINT CONTROL STORAGE 505 S^;*********************************************************************^ 506 507 030217 000000 000000 PNTFLG: 0 ;PRINT FLAG, -1 WHILE IN PRINT ROUTINE 508 030220 000000 000000 PNTENB: 0 ;PRINT ENABLE 509 030221 000000 000000 PDISF: 0 ;PRINT DISABLED FLAG 510 030222 000000 000000 PNTINH: 0 ;INHIBIT PRINT INPUT CHECKS 511 030223 000000 000000 PNTSPC: 0 ;PRINT SPACE CONTROL 512 030224 000000 000000 OPTIME: 0 ;TYPE-IN WAIT TIME 513 030225 000000 000000 $TWCNT: 0 ;TIME WAITED 514 030226 000000 000000 $DVOFF: 0 ;LOGICAL DEVICE INITED FLAG 515 030227 000000 000000 TTYFIL: 0 ;TTY EXEC FILLERS FLAG 516 030230 000000 000000 TTYSPD: 0 ;TTY EXEC BAUD RATE 517 030231 000000 000000 $TTCHR: 0 ;ACTUAL TYPED IN CHAR 518 030232 000000 000000 $CHRIN: 0 ;UPPER CASED & PARITY STRIPPED CHAR 519 030233 000000 000000 $TYPNB: 0 ;TYPED IN NUMBER 520 030234 000000 000000 $CRLF: 0 ;FREE CR/LF FLAG 521 030235 000000 000000 $TABF: 0 ;TAB CONVERSION FLAG 522 030236 000000 000000 $FFF: 0 ;FORM FEED CONVERSION FLAG 523 030237 000000 000000 $VTF: 0 ;VERTICAL TAB CONVERSION FLAG 524 030240 000000 000000 USRLFF: 0 ;USER LF FILLERS 525 030241 000000 000000 USRCRF: 0 ;USER CR FILLERS DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 5 FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0028 526 S^;*********************************************************************^ 527 ;*THE FOLLOWING MISCELLANEOUS PRINT CHARACTERS ARE INCLUDED 528 ;*TO FACILITATE PRINTING AND ARE CALLED AS FOLLOWS: 529 ;* MOVEI NAME 530 ;* PNTA ;OR PNTAF 531 S^;*********************************************************************^ 532 533 030242 CRLF: ASCII/ 534 030242 015 012 000 000 000 / 535 030243 CRLF2: ASCII/ 536 537 030243 015 012 015 012 000 / 538 030244 054 000 000 000 000 COMMA: ASCII/,/ 539 030245 056 000 000 000 000 PERIOD: ASCII/./ 540 030246 040 000 000 000 000 SPACE: ASCII/ / 541 030247 011 000 000 000 000 TAB: ASCII/ / 542 030250 MINUS: 543 030250 055 000 000 000 000 HYPEN: ASCII/-/ 544 030251 053 000 000 000 000 PLUS: ASCII/+/ 545 030252 052 000 000 000 000 AST: ASCII/*/ 546 030253 100 000 000 000 000 ATSIN: ASCII/@/ 547 030254 050 000 000 000 000 LFP: ASCII/(/ 548 030255 051 000 000 000 000 RTP: ASCII/)/ 549 030256 007 0000000000 BELL: BYTE (7) 007 550 030257 077 000 000 000 000 QUEST: ASCII/?/ 551 030260 057 000 000 000 000 SLASH: ASCII!/! 552 030261 044 000 000 000 000 DOLLAR: ASCII/$/ 553 030262 000000 000012 RADIX: ^D10 ;DECIMAL PRINT RADIX 554 030263 000000 000040 RADLSP: 40 ;DECIMAL PRINT LEADING CHAR 555 030264 000000 000012 RADLSC: ^D10 ;DECIMAL PRINT LEADING CHAR COUNT 556 557 S^;*********************************************************************^ 558 ;*USER MODE OUTPUT FILE INFORMATION 559 S^;*********************************************************************^ 560 561 030265 $OBUF: BLOCK 3 ;LOGICAL FILE OUTPUT BUFFER HEADER 562 030270 60 62 51 56 64 00 $OUTNM: SIXBIT /PRINT/ ;FILE NAME 563 030271 60 56 64 00 00 00 $OUTEX: SIXBIT /PNT/ ;FILE NAME EXTENSION 564 030272 BLOCK 2 565 566 S^;*********************************************************************^ 567 ;*DISK UPDATE MODE FILE INFORMATION 568 S^;*********************************************************************^ 569 570 030274 $IBUF: BLOCK 3 571 030277 60 62 51 56 64 00 $INNM: SIXBIT /PRINT/ 572 030300 60 56 64 00 00 00 $INEXT: SIXBIT /PNT/ 573 030301 BLOCK 2 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 6 FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0029 574 S^;*********************************************************************^ 575 ;*PUSHDOWN LIST CONTROL INFORMATION 576 S^;*********************************************************************^ 577 578 030303 777577 030303 PLIST: PLIST-PLISTE,,PLIST 579 030304 PLISTS: BLOCK 200 580 030504 000000 000000 PLISTE: 0 ;END OF PUSHDOWN LIST 581 582 S^;*********************************************************************^ 583 ;*POWER LINE CLOCK FREQUENCY FLAG 584 S^;*********************************************************************^ 585 586 030505 000000 000000 CYCL60: 0 ;0 = 60, -1 = 50 CYCLE 587 588 S^;*********************************************************************^ 589 ;*KL10 CACHE CONTROL FLAGS 590 S^;*********************************************************************^ 591 592 030506 000000 000000 CSHFLG: 0 ;ALLOW CACHE IF 0 593 030507 000000 000000 CSHMEM: 0 ;CACHE MEMORY SEGMENTS IF 0 594 595 S^;*********************************************************************^ 596 ;*NUMBER INPUT DIGIT FLAG 597 S^;*********************************************************************^ 598 599 030510 000000 000000 TTNBRF: 0 ;-1 IF ANY DIGIT TYPED 600 601 S^;*********************************************************************^ 602 ;*KL10 & KI10 "INHPAG" SWITCH PAGING PREVENTION 603 S^;*********************************************************************^ 604 605 030511 000000 000000 PVPAGI: 0 ;IF NON-ZERO, OVERRIDE "INHPAG" SWITCH ACTION 606 607 S^;*********************************************************************^ 608 ;*ERROR REPORTING ROUTINE ADDITIONAL USERS CONTROL INSTRUCTIONS 609 S^;*********************************************************************^ 610 611 030512 000000 000000 %ERHI1: 0 ;IF NON-ZERO, XCT'D AT START OF %ERUUO 612 030513 000000 000000 %ERHI2: 0 ;IF NON-ZERO, XCT'D AT END OF %ERUUO 613 030514 000000 000000 %ERHI3: 0 ;IF NON-ZERO, XCT'D AFTER "PC" OF %ERUUO 614 615 S^;*********************************************************************^ 616 ;*SPECIAL USERS UUO INTERCEPT INSTRUCTION 617 S^;*********************************************************************^ 618 619 030515 000000 000000 $$UUO: 0 ;IF NON-ZERO, XCT'D AT START OF $UORTN DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 7 FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0030 620 S^;*********************************************************************^ 621 ;*KL10 PROCESSOR TYPE FLAG, 0=P0, 1=BBD NEW, 2=BBD OLD 622 S^;*********************************************************************^ 623 624 030516 000000 000000 KLTYP: 0 625 626 S^;*********************************************************************^ 627 ;*SPECIAL USERS MUUO INTERCEPT INSTRUCTION 628 S^;*********************************************************************^ 629 630 030517 000000 000000 $$MUUO: 0 ;IF NON-ZERO, XCT'D AT START OF MUUOER 631 632 S^;*********************************************************************^ 633 ;*SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION 634 S^;*********************************************************************^ 635 636 030520 000000 000000 $$OUTER:0 ;IF NON-ZERO, XCT'D AT END OF USER MODE ERROR 637 638 S^;*********************************************************************^ 639 ;*"SWITCH" CALL USAGE CONTROL 640 S^;*********************************************************************^ 641 642 030521 000000 000000 $$TOGGLE:0 ;IF NON-ZERO, USE C(CONSW) FOR SWITCHES 643 644 S^;*********************************************************************^ 645 ;*SPECIAL USERS ALTMODE SWITCH CALL INTERCEPT INSTRUCTIONS 646 S^;*********************************************************************^ 647 648 030522 000000 000000 $$TAX1: 0 ;IF NON-ZERO, XCT'D AT START OF ALTMODE SWITCH CALL 649 030523 000000 000000 $$TAX2: 0 ;IF NON-ZERO, XCT'D AT END OF ALTMODE SWITCH CALL 650 651 S^;*********************************************************************^ 652 ;*SPECIAL FUTURE EXPANSION ROOM 653 ;*IF ANY FIXED AREA TAGS ARE ADDED, REDUCE THE SIZE OF 654 ;*THIS BLOCK STATEMENT ACCORDINGLY. THIS MUST BE DONE 655 ;*SO THAT PREVIOUS FIXED ASSIGNMENTS DO NOT CHANGE. 656 S^;*********************************************************************^ 657 658 030524 BLOCK 53 ;HOPEFULLY THIS IS ENOUGH FOREVER 659 660 S^;*********************************************************************^ 661 ;*END OF FIXED STORAGE 662 S^;*********************************************************************^ 663 664 030577 $ENDFX=&<777700>-1 665 030577 LOC $ENDFX 666 030577 000000 000000 ENDFIX: 0 ;END OF FIXED STORAGE DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 1 DAKBAM MAC 21-JAN-77 16:47 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0031 667 ;INITIALIZE UUO HANDLER 668 669 030600 265 00 0 00 030011 START: PGMINT ;INITIALIZE SUBROUTINES 670 030601 200 00 0 00 030022 MOVE 0,RANDBS ;EXEC, SETUP RANDOM BASE 671 030602 332 00 0 00 030037 SKIPE USER ;USER, USE TIME OF DAY IN JIFFIES 672 030603 040 00 0 00 037560 CALL 0,[SIXBIT/TIMER/] 673 030604 202 00 0 00 037667 MOVEM 0,RAN ;SETUP RANDOM BASE 674 675 ;INITIALIZE COMPLEXITY TABLE 676 000000 A=0 677 030605 402 00 0 00 030671 STARTA: SETZM CMPLXT ;STORE A TABLE OF POWERS OF 2 678 030606 201 01 0 00 000001 MOVEI 1,1 ;OR 0. 679 030607 037 10 0 00 000002 SWITCH 680 030610 607 00 0 00 000400 TLNN RELIAB ;FAST CYCLE SWITCH SET ? 681 030611 402 00 0 00 000001 SETZM 1 ;YES, STORE ZERO'S 682 REPEAT 7, 683 < MOVEM 1,CMPLXT+1+A 684 LSH 1,1 685 A=A+1> 686 030612 202 01 0 00 030672 MOVEM 1,CMPLXT+1+A 687 030613 242 01 0 00 000001 LSH 1,1 688 000001 A=A+1 689 030614 202 01 0 00 030673 MOVEM 1,CMPLXT+1+A 690 030615 242 01 0 00 000001 LSH 1,1 691 000002 A=A+1 692 030616 202 01 0 00 030674 MOVEM 1,CMPLXT+1+A 693 030617 242 01 0 00 000001 LSH 1,1 694 000003 A=A+1 695 030620 202 01 0 00 030675 MOVEM 1,CMPLXT+1+A 696 030621 242 01 0 00 000001 LSH 1,1 697 000004 A=A+1 698 030622 202 01 0 00 030676 MOVEM 1,CMPLXT+1+A 699 030623 242 01 0 00 000001 LSH 1,1 700 000005 A=A+1 701 030624 202 01 0 00 030677 MOVEM 1,CMPLXT+1+A 702 030625 242 01 0 00 000001 LSH 1,1 703 000006 A=A+1 704 030626 202 01 0 00 030700 MOVEM 1,CMPLXT+1+A 705 030627 242 01 0 00 000001 LSH 1,1 706 000007 A=A+1 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 2 DAKBAM MAC 21-JAN-77 16:47 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0032 707 ;INITIALIZE RUN TIME 708 709 030630 201 01 0 00 000001 MOVEI 1,1 710 030631 603 00 0 00 000400 TLNE RELIAB ;FAST CYCLE SWITCH SET ? 711 030632 201 01 0 00 000007 MOVEI 1,7 ;NO, MULTIPLY RUNNING TIME 712 030633 202 01 0 00 030670 MOVEM 1,RTIME ;STORE IN RTIME 713 714 030634 254 00 0 00 030711 JRST CAM1 ;GO PERFORM DIAGNOSTIC 715 716 030635 037 05 0 00 000002 RENTR1: DROPDV ;CLOSE LOGICAL OUTPUT FILE 717 030636 040 00 0 00 037561 CALL [SIXBIT .EXIT.] 718 719 030637 PGMNAM: ASCIZ/ 720 030637 015 012 120 104 120 PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST 1 (DAKBA) 721 030640 055 061 060 040 040 722 030641 113 101 061 060 040 723 030642 102 101 123 111 103 724 030643 040 111 116 123 124 725 030644 122 125 103 124 111 726 030645 117 116 040 122 105 727 030646 114 111 101 102 111 728 030647 114 111 124 131 040 729 030650 124 105 123 124 040 730 030651 061 040 050 104 101 731 030652 113 102 101 051 015 732 030653 012 050 103 117 115 (COMPARES, SKIPS, EXCHANGES, BOOLE, ROTATES, TESTS, ETC.) 733 030654 120 101 122 105 123 734 030655 054 040 123 113 111 735 030656 120 123 054 040 105 736 030657 130 103 110 101 116 737 030660 107 105 123 054 040 738 030661 102 117 117 114 105 739 030662 054 040 122 117 124 740 030663 101 124 105 123 054 741 030664 040 124 105 123 124 742 030665 123 054 040 105 124 743 030666 103 056 051 015 012 / 744 030667 000 000 000 000 000 745 ;CONSTANTS 746 747 030670 000000 000000 RTIME: 0 748 030671 CMPLXT: BLOCK 20 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 3 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0033 749 SUBTTL DIAGNOSTIC SECTION 750 LALL 751 752 ;TEST CAMN,CAME (SIMPLE) 753 ;THE CONTENTS OF THE AC IS COMPARED WITH ITSELF 754 ;AN ERROR WILL OCCUR IF CAMN SKIPS OR CAME FAILS TO SKIP 755 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 756 ;15 ACS ARE USED IN THE TEST 757 758 000002 AC=2 759 030711 CAM1: SETUP 20,0^ 760 000003 AC1=&17 761 000004 AC2=&17 762 000005 AC3=&17 763 000006 AC4=&17 764 000007 AC5=&17 765 000000 RAN1=&17 766 030711 201 01 0 00 030711 MOVEI AC-1,. 767 030712 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 768 030713 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 769 030714 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 770 030715 201 01 0 00 000020 MOVEI AC-1,20 ;ROUTINE WEIGHTING 771 030716 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 772 030717 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 773 RANDOM^ 774 030720 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 775 030721 270 02 0 00 037562 ADD AC,[142536475076] 776 030722 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 777 030723 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 778 CAMNE1: REPEAT ^D10, 779 < MOVE AC,RAN 780 CAMN AC,AC ;C(AC) = C(AC) 781 CAME AC,AC 782 ERROR AC,AC ;CHECK CAME,CAMN 783 AC=&17 784 > 785 030724 200 02 0 00 037667 MOVE AC,RAN 786 030725 316 02 0 00 000002 CAMN AC,AC ;C(AC) = C(AC) 787 030726 312 02 0 00 000002 CAME AC,AC 788 030727 004 02 0 00 000002 ERROR AC,AC ;CHECK CAME,CAMN 789 000003 AC=&17 790 791 030730 200 03 0 00 037667 MOVE AC,RAN 792 030731 316 03 0 00 000003 CAMN AC,AC ;C(AC) = C(AC) 793 030732 312 03 0 00 000003 CAME AC,AC 794 030733 004 03 0 00 000003 ERROR AC,AC ;CHECK CAME,CAMN 795 000004 AC=&17 796 797 030734 200 04 0 00 037667 MOVE AC,RAN 798 030735 316 04 0 00 000004 CAMN AC,AC ;C(AC) = C(AC) 799 030736 312 04 0 00 000004 CAME AC,AC 800 030737 004 04 0 00 000004 ERROR AC,AC ;CHECK CAME,CAMN 801 000005 AC=&17 802 803 030740 200 05 0 00 037667 MOVE AC,RAN DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 3-1 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0034 804 030741 316 05 0 00 000005 CAMN AC,AC ;C(AC) = C(AC) 805 030742 312 05 0 00 000005 CAME AC,AC 806 030743 004 05 0 00 000005 ERROR AC,AC ;CHECK CAME,CAMN 807 000006 AC=&17 808 809 030744 200 06 0 00 037667 MOVE AC,RAN 810 030745 316 06 0 00 000006 CAMN AC,AC ;C(AC) = C(AC) 811 030746 312 06 0 00 000006 CAME AC,AC 812 030747 004 06 0 00 000006 ERROR AC,AC ;CHECK CAME,CAMN 813 000007 AC=&17 814 815 030750 200 07 0 00 037667 MOVE AC,RAN 816 030751 316 07 0 00 000007 CAMN AC,AC ;C(AC) = C(AC) 817 030752 312 07 0 00 000007 CAME AC,AC 818 030753 004 07 0 00 000007 ERROR AC,AC ;CHECK CAME,CAMN 819 000010 AC=&17 820 821 030754 200 10 0 00 037667 MOVE AC,RAN 822 030755 316 10 0 00 000010 CAMN AC,AC ;C(AC) = C(AC) 823 030756 312 10 0 00 000010 CAME AC,AC 824 030757 004 10 0 00 000010 ERROR AC,AC ;CHECK CAME,CAMN 825 000011 AC=&17 826 827 030760 200 11 0 00 037667 MOVE AC,RAN 828 030761 316 11 0 00 000011 CAMN AC,AC ;C(AC) = C(AC) 829 030762 312 11 0 00 000011 CAME AC,AC 830 030763 004 11 0 00 000011 ERROR AC,AC ;CHECK CAME,CAMN 831 000012 AC=&17 832 833 030764 200 12 0 00 037667 MOVE AC,RAN 834 030765 316 12 0 00 000012 CAMN AC,AC ;C(AC) = C(AC) 835 030766 312 12 0 00 000012 CAME AC,AC 836 030767 004 12 0 00 000012 ERROR AC,AC ;CHECK CAME,CAMN 837 000013 AC=&17 838 839 030770 200 13 0 00 037667 MOVE AC,RAN 840 030771 316 13 0 00 000013 CAMN AC,AC ;C(AC) = C(AC) 841 030772 312 13 0 00 000013 CAME AC,AC 842 030773 004 13 0 00 000013 ERROR AC,AC ;CHECK CAME,CAMN 843 000014 AC=&17 844 845 000002 AC=2 846 LOOP CAMNE1-3,CAMNE1^ 847 030774 367 01 0 00 030721 SOJG AC-1,CAMNE1-3 ;ITERATION COUNTER 848 030775 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 849 030776 321 01 0 00 030724 JUMPL AC-1,CAMNE1 ;LOOP ON ERROR SWITCH ^ 850 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 4 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0035 851 852 ;TEST MOVE TO AC,FURTHER TEST OF CAME 853 ;THE C(AC) IS COMPARED WITH THE CONTENTS OF THE RANDOM 854 ;NUMBER GENERATOR. 15 ACS ARE USED IN THE TEST 855 ;ERRORS ARE PRINTED IN THE FORM (PC,AC,C(AC),CORRECT) 856 857 000002 AC=2 858 030777 MOVAC: SETUP 20,0^ 859 000003 AC1=&17 860 000004 AC2=&17 861 000005 AC3=&17 862 000006 AC4=&17 863 000007 AC5=&17 864 000000 RAN1=&17 865 030777 201 01 0 00 030777 MOVEI AC-1,. 866 031000 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 867 031001 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 868 031002 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 869 031003 201 01 0 00 000020 MOVEI AC-1,20 ;ROUTINE WEIGHTING 870 031004 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 871 031005 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 872 RANDOM^ 873 031006 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 874 031007 270 02 0 00 037562 ADD AC,[142536475076] 875 031010 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 876 031011 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 877 MOVAC1: REPEAT ^D10, 878 < MOVE AC,RAN ;MOVE RAN INTO AC. 879 CAME AC,RAN ;RANDOM SHOULD EQUAL AC 880 ERROR AC,RAN ;IF NOT MOVE FAILED 881 CAME AC,RAN# ;IF AC=RAN CAME FAILED 882 ERROR AC,RAN# ;IF PREVIOUS WORKED,INHIBIT STORE 883 AC=&17 ;AC ON CAME FAILED 884 > 885 031012 200 02 0 00 037667 MOVE AC,RAN ;MOVE RAN INTO AC. 886 031013 312 02 0 00 037667 CAME AC,RAN ;RANDOM SHOULD EQUAL AC 887 031014 004 02 0 00 037667 ERROR AC,RAN ;IF NOT MOVE FAILED 888 031015 312 02 0 00 037667 CAME AC,RAN# ;IF AC=RAN CAME FAILED 889 031016 004 02 0 00 037667 ERROR AC,RAN# ;IF PREVIOUS WORKED,INHIBIT STORE 890 000003 AC=&17 ;AC ON CAME FAILED 891 892 031017 200 03 0 00 037667 MOVE AC,RAN ;MOVE RAN INTO AC. 893 031020 312 03 0 00 037667 CAME AC,RAN ;RANDOM SHOULD EQUAL AC 894 031021 004 03 0 00 037667 ERROR AC,RAN ;IF NOT MOVE FAILED 895 031022 312 03 0 00 037667 CAME AC,RAN# ;IF AC=RAN CAME FAILED 896 031023 004 03 0 00 037667 ERROR AC,RAN# ;IF PREVIOUS WORKED,INHIBIT STORE 897 000004 AC=&17 ;AC ON CAME FAILED 898 899 031024 200 04 0 00 037667 MOVE AC,RAN ;MOVE RAN INTO AC. 900 031025 312 04 0 00 037667 CAME AC,RAN ;RANDOM SHOULD EQUAL AC 901 031026 004 04 0 00 037667 ERROR AC,RAN ;IF NOT MOVE FAILED 902 031027 312 04 0 00 037667 CAME AC,RAN# ;IF AC=RAN CAME FAILED 903 031030 004 04 0 00 037667 ERROR AC,RAN# ;IF PREVIOUS WORKED,INHIBIT STORE 904 000005 AC=&17 ;AC ON CAME FAILED 905 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 4-1 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0036 906 031031 200 05 0 00 037667 MOVE AC,RAN ;MOVE RAN INTO AC. 907 031032 312 05 0 00 037667 CAME AC,RAN ;RANDOM SHOULD EQUAL AC 908 031033 004 05 0 00 037667 ERROR AC,RAN ;IF NOT MOVE FAILED 909 031034 312 05 0 00 037667 CAME AC,RAN# ;IF AC=RAN CAME FAILED 910 031035 004 05 0 00 037667 ERROR AC,RAN# ;IF PREVIOUS WORKED,INHIBIT STORE 911 000006 AC=&17 ;AC ON CAME FAILED 912 913 031036 200 06 0 00 037667 MOVE AC,RAN ;MOVE RAN INTO AC. 914 031037 312 06 0 00 037667 CAME AC,RAN ;RANDOM SHOULD EQUAL AC 915 031040 004 06 0 00 037667 ERROR AC,RAN ;IF NOT MOVE FAILED 916 031041 312 06 0 00 037667 CAME AC,RAN# ;IF AC=RAN CAME FAILED 917 031042 004 06 0 00 037667 ERROR AC,RAN# ;IF PREVIOUS WORKED,INHIBIT STORE 918 000007 AC=&17 ;AC ON CAME FAILED 919 920 031043 200 07 0 00 037667 MOVE AC,RAN ;MOVE RAN INTO AC. 921 031044 312 07 0 00 037667 CAME AC,RAN ;RANDOM SHOULD EQUAL AC 922 031045 004 07 0 00 037667 ERROR AC,RAN ;IF NOT MOVE FAILED 923 031046 312 07 0 00 037667 CAME AC,RAN# ;IF AC=RAN CAME FAILED 924 031047 004 07 0 00 037667 ERROR AC,RAN# ;IF PREVIOUS WORKED,INHIBIT STORE 925 000010 AC=&17 ;AC ON CAME FAILED 926 927 031050 200 10 0 00 037667 MOVE AC,RAN ;MOVE RAN INTO AC. 928 031051 312 10 0 00 037667 CAME AC,RAN ;RANDOM SHOULD EQUAL AC 929 031052 004 10 0 00 037667 ERROR AC,RAN ;IF NOT MOVE FAILED 930 031053 312 10 0 00 037667 CAME AC,RAN# ;IF AC=RAN CAME FAILED 931 031054 004 10 0 00 037667 ERROR AC,RAN# ;IF PREVIOUS WORKED,INHIBIT STORE 932 000011 AC=&17 ;AC ON CAME FAILED 933 934 031055 200 11 0 00 037667 MOVE AC,RAN ;MOVE RAN INTO AC. 935 031056 312 11 0 00 037667 CAME AC,RAN ;RANDOM SHOULD EQUAL AC 936 031057 004 11 0 00 037667 ERROR AC,RAN ;IF NOT MOVE FAILED 937 031060 312 11 0 00 037667 CAME AC,RAN# ;IF AC=RAN CAME FAILED 938 031061 004 11 0 00 037667 ERROR AC,RAN# ;IF PREVIOUS WORKED,INHIBIT STORE 939 000012 AC=&17 ;AC ON CAME FAILED 940 941 031062 200 12 0 00 037667 MOVE AC,RAN ;MOVE RAN INTO AC. 942 031063 312 12 0 00 037667 CAME AC,RAN ;RANDOM SHOULD EQUAL AC 943 031064 004 12 0 00 037667 ERROR AC,RAN ;IF NOT MOVE FAILED 944 031065 312 12 0 00 037667 CAME AC,RAN# ;IF AC=RAN CAME FAILED 945 031066 004 12 0 00 037667 ERROR AC,RAN# ;IF PREVIOUS WORKED,INHIBIT STORE 946 000013 AC=&17 ;AC ON CAME FAILED 947 948 031067 200 13 0 00 037667 MOVE AC,RAN ;MOVE RAN INTO AC. 949 031070 312 13 0 00 037667 CAME AC,RAN ;RANDOM SHOULD EQUAL AC 950 031071 004 13 0 00 037667 ERROR AC,RAN ;IF NOT MOVE FAILED 951 031072 312 13 0 00 037667 CAME AC,RAN# ;IF AC=RAN CAME FAILED 952 031073 004 13 0 00 037667 ERROR AC,RAN# ;IF PREVIOUS WORKED,INHIBIT STORE 953 000014 AC=&17 ;AC ON CAME FAILED 954 955 000002 AC=2 956 LOOP MOVAC1-3,MOVAC1^ 957 031074 367 01 0 00 031007 SOJG AC-1,MOVAC1-3 ;ITERATION COUNTER 958 031075 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 959 031076 321 01 0 00 031012 JUMPL AC-1,MOVAC1 ;LOOP ON ERROR SWITCH ^ DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 5 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0037 960 961 ;TEST THE SKIP INST FOR NO SKIP,ABILITY TO LOAD 962 ;AN AC,AC SELECTION,AND AC0 LOGIC(NOT LOADING 0) 963 ;ERRORS ARE PRESENTED IN THE FORM(PC,AC,C(AC),CORRECT) 964 965 000005 AC=5 966 031077 SKP: SETUP 30,0^ 967 000006 AC1=&17 968 000007 AC2=&17 969 000010 AC3=&17 970 000011 AC4=&17 971 000012 AC5=&17 972 000003 RAN1=&17 973 031077 201 04 0 00 031077 MOVEI AC-1,. 974 031100 202 04 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 975 031101 201 04 0 00 000004 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 976 031102 202 04 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 977 031103 201 04 0 00 000030 MOVEI AC-1,30 ;ROUTINE WEIGHTING 978 031104 240 04 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 979 031105 240 04 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 980 RANDOM^ 981 031106 200 05 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 982 031107 270 05 0 00 037562 ADD AC,[142536475076] 983 031110 241 05 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 984 031111 447 05 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 985 031112 200 00 0 00 037563 SKP1: MOVE [0] ;DO NOT USE AC0 FOR SKIP 986 REPEAT ^D8, 987 < SKIP AC1,RAN# ;STORE IN AC,DO NOT SKIP,CHECK 988 CAME AC1,AC ;NEW AC AGAINST PREVIOUSLY 989 ERROR AC1,AC ;STORED AC. IF AC=AC+1(SKIP LOGIC) 990 CAME [0] ;IF NOT= STORE CYCLE 991 ERROR [0] ;IF 0 NONE ZERO ADDR/STORE 992 AC=&17 993 AC1=&17 994 > 995 031113 330 06 0 00 037667 SKIP AC1,RAN# ;STORE IN AC,DO NOT SKIP,CHECK 996 031114 312 06 0 00 000005 CAME AC1,AC ;NEW AC AGAINST PREVIOUSLY 997 031115 004 06 0 00 000005 ERROR AC1,AC ;STORED AC. IF AC=AC+1(SKIP LOGIC) 998 031116 312 00 0 00 037563 CAME [0] ;IF NOT= STORE CYCLE 999 031117 004 00 0 00 037563 ERROR [0] ;IF 0 NONE ZERO ADDR/STORE 1000 000006 AC=&17 1001 000007 AC1=&17 1002 1003 031120 330 07 0 00 037667 SKIP AC1,RAN# ;STORE IN AC,DO NOT SKIP,CHECK 1004 031121 312 07 0 00 000006 CAME AC1,AC ;NEW AC AGAINST PREVIOUSLY 1005 031122 004 07 0 00 000006 ERROR AC1,AC ;STORED AC. IF AC=AC+1(SKIP LOGIC) 1006 031123 312 00 0 00 037563 CAME [0] ;IF NOT= STORE CYCLE 1007 031124 004 00 0 00 037563 ERROR [0] ;IF 0 NONE ZERO ADDR/STORE 1008 000007 AC=&17 1009 000010 AC1=&17 1010 1011 031125 330 10 0 00 037667 SKIP AC1,RAN# ;STORE IN AC,DO NOT SKIP,CHECK 1012 031126 312 10 0 00 000007 CAME AC1,AC ;NEW AC AGAINST PREVIOUSLY 1013 031127 004 10 0 00 000007 ERROR AC1,AC ;STORED AC. IF AC=AC+1(SKIP LOGIC) 1014 031130 312 00 0 00 037563 CAME [0] ;IF NOT= STORE CYCLE DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 5-1 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0038 1015 031131 004 00 0 00 037563 ERROR [0] ;IF 0 NONE ZERO ADDR/STORE 1016 000010 AC=&17 1017 000011 AC1=&17 1018 1019 031132 330 11 0 00 037667 SKIP AC1,RAN# ;STORE IN AC,DO NOT SKIP,CHECK 1020 031133 312 11 0 00 000010 CAME AC1,AC ;NEW AC AGAINST PREVIOUSLY 1021 031134 004 11 0 00 000010 ERROR AC1,AC ;STORED AC. IF AC=AC+1(SKIP LOGIC) 1022 031135 312 00 0 00 037563 CAME [0] ;IF NOT= STORE CYCLE 1023 031136 004 00 0 00 037563 ERROR [0] ;IF 0 NONE ZERO ADDR/STORE 1024 000011 AC=&17 1025 000012 AC1=&17 1026 1027 031137 330 12 0 00 037667 SKIP AC1,RAN# ;STORE IN AC,DO NOT SKIP,CHECK 1028 031140 312 12 0 00 000011 CAME AC1,AC ;NEW AC AGAINST PREVIOUSLY 1029 031141 004 12 0 00 000011 ERROR AC1,AC ;STORED AC. IF AC=AC+1(SKIP LOGIC) 1030 031142 312 00 0 00 037563 CAME [0] ;IF NOT= STORE CYCLE 1031 031143 004 00 0 00 037563 ERROR [0] ;IF 0 NONE ZERO ADDR/STORE 1032 000012 AC=&17 1033 000013 AC1=&17 1034 1035 031144 330 13 0 00 037667 SKIP AC1,RAN# ;STORE IN AC,DO NOT SKIP,CHECK 1036 031145 312 13 0 00 000012 CAME AC1,AC ;NEW AC AGAINST PREVIOUSLY 1037 031146 004 13 0 00 000012 ERROR AC1,AC ;STORED AC. IF AC=AC+1(SKIP LOGIC) 1038 031147 312 00 0 00 037563 CAME [0] ;IF NOT= STORE CYCLE 1039 031150 004 00 0 00 037563 ERROR [0] ;IF 0 NONE ZERO ADDR/STORE 1040 000013 AC=&17 1041 000014 AC1=&17 1042 1043 031151 330 14 0 00 037667 SKIP AC1,RAN# ;STORE IN AC,DO NOT SKIP,CHECK 1044 031152 312 14 0 00 000013 CAME AC1,AC ;NEW AC AGAINST PREVIOUSLY 1045 031153 004 14 0 00 000013 ERROR AC1,AC ;STORED AC. IF AC=AC+1(SKIP LOGIC) 1046 031154 312 00 0 00 037563 CAME [0] ;IF NOT= STORE CYCLE 1047 031155 004 00 0 00 037563 ERROR [0] ;IF 0 NONE ZERO ADDR/STORE 1048 000014 AC=&17 1049 000015 AC1=&17 1050 1051 031156 330 15 0 00 037667 SKIP AC1,RAN# ;STORE IN AC,DO NOT SKIP,CHECK 1052 031157 312 15 0 00 000014 CAME AC1,AC ;NEW AC AGAINST PREVIOUSLY 1053 031160 004 15 0 00 000014 ERROR AC1,AC ;STORED AC. IF AC=AC+1(SKIP LOGIC) 1054 031161 312 00 0 00 037563 CAME [0] ;IF NOT= STORE CYCLE 1055 031162 004 00 0 00 037563 ERROR [0] ;IF 0 NONE ZERO ADDR/STORE 1056 000015 AC=&17 1057 000016 AC1=&17 1058 1059 000005 AC=5 1060 LOOP SKP1-4,SKP1^ 1061 031163 367 04 0 00 031106 SOJG AC-1,SKP1-4 ;ITERATION COUNTER 1062 031164 200 05 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1063 031165 321 04 0 00 031112 JUMPL AC-1,SKP1 ;LOOP ON ERROR SWITCH ^ DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 6 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0039 1064 1065 ;TEST SKIPA INST FOR PC INCREMENT,ABILITY TO LOAD AN AC, 1066 ;AC SELECTION AND AC0 LOGIC(NOT LOADING 0).ERRORS ARE 1067 ;PRESENTED IN THE FORM (PC,AC,C(AC),CORRECT) 1068 1069 000005 AC=5 1070 031166 SKPA: SETUP 30,0^ 1071 000006 AC1=&17 1072 000007 AC2=&17 1073 000010 AC3=&17 1074 000011 AC4=&17 1075 000012 AC5=&17 1076 000003 RAN1=&17 1077 031166 201 04 0 00 031166 MOVEI AC-1,. 1078 031167 202 04 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1079 031170 201 04 0 00 000004 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1080 031171 202 04 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1081 031172 201 04 0 00 000030 MOVEI AC-1,30 ;ROUTINE WEIGHTING 1082 031173 240 04 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 1083 031174 240 04 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1084 RANDOM^ 1085 031175 200 05 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1086 031176 270 05 0 00 037562 ADD AC,[142536475076] 1087 031177 241 05 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1088 031200 447 05 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1089 031201 200 00 0 00 037563 SKPA1: MOVE [0] ;DO NOT USE AC0 FOR SKIPA 1090 REPEAT ^D8, 1091 < SKIPA AC1,AC ;LOAD AC1 AND SKIP 1092 ER AC,[ASCII /SKP/] ;FAILED TO SKIP. 1093 CAME AC,RAN ;C(E) GET CHANGED? 1094 ERROR AC,RAN ;YES. 1095 CAME AC1,RAN ;AC GET LOADED WITH RAN? 1096 ERROR AC1,RAN ;NO. 1097 CAME 0,[0] ;C(AC0) STILL = 0? 1098 ERROR [0] ;CHECK STORE CYCLE,AC ADDRESS 1099 AC=&17 1100 AC1=&17 1101 > 1102 031202 334 06 0 00 000005 SKIPA AC1,AC ;LOAD AC1 AND SKIP 1103 031203 005 05 0 00 037564 ER AC,[ASCII /SKP/] ;FAILED TO SKIP. 1104 031204 312 05 0 00 037667 CAME AC,RAN ;C(E) GET CHANGED? 1105 031205 004 05 0 00 037667 ERROR AC,RAN ;YES. 1106 031206 312 06 0 00 037667 CAME AC1,RAN ;AC GET LOADED WITH RAN? 1107 031207 004 06 0 00 037667 ERROR AC1,RAN ;NO. 1108 031210 312 00 0 00 037563 CAME 0,[0] ;C(AC0) STILL = 0? 1109 031211 004 00 0 00 037563 ERROR [0] ;CHECK STORE CYCLE,AC ADDRESS 1110 000006 AC=&17 1111 000007 AC1=&17 1112 1113 031212 334 07 0 00 000006 SKIPA AC1,AC ;LOAD AC1 AND SKIP 1114 031213 005 06 0 00 037564 ER AC,[ASCII /SKP/] ;FAILED TO SKIP. 1115 031214 312 06 0 00 037667 CAME AC,RAN ;C(E) GET CHANGED? 1116 031215 004 06 0 00 037667 ERROR AC,RAN ;YES. 1117 031216 312 07 0 00 037667 CAME AC1,RAN ;AC GET LOADED WITH RAN? 1118 031217 004 07 0 00 037667 ERROR AC1,RAN ;NO. DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 6-1 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0040 1119 031220 312 00 0 00 037563 CAME 0,[0] ;C(AC0) STILL = 0? 1120 031221 004 00 0 00 037563 ERROR [0] ;CHECK STORE CYCLE,AC ADDRESS 1121 000007 AC=&17 1122 000010 AC1=&17 1123 1124 031222 334 10 0 00 000007 SKIPA AC1,AC ;LOAD AC1 AND SKIP 1125 031223 005 07 0 00 037564 ER AC,[ASCII /SKP/] ;FAILED TO SKIP. 1126 031224 312 07 0 00 037667 CAME AC,RAN ;C(E) GET CHANGED? 1127 031225 004 07 0 00 037667 ERROR AC,RAN ;YES. 1128 031226 312 10 0 00 037667 CAME AC1,RAN ;AC GET LOADED WITH RAN? 1129 031227 004 10 0 00 037667 ERROR AC1,RAN ;NO. 1130 031230 312 00 0 00 037563 CAME 0,[0] ;C(AC0) STILL = 0? 1131 031231 004 00 0 00 037563 ERROR [0] ;CHECK STORE CYCLE,AC ADDRESS 1132 000010 AC=&17 1133 000011 AC1=&17 1134 1135 031232 334 11 0 00 000010 SKIPA AC1,AC ;LOAD AC1 AND SKIP 1136 031233 005 10 0 00 037564 ER AC,[ASCII /SKP/] ;FAILED TO SKIP. 1137 031234 312 10 0 00 037667 CAME AC,RAN ;C(E) GET CHANGED? 1138 031235 004 10 0 00 037667 ERROR AC,RAN ;YES. 1139 031236 312 11 0 00 037667 CAME AC1,RAN ;AC GET LOADED WITH RAN? 1140 031237 004 11 0 00 037667 ERROR AC1,RAN ;NO. 1141 031240 312 00 0 00 037563 CAME 0,[0] ;C(AC0) STILL = 0? 1142 031241 004 00 0 00 037563 ERROR [0] ;CHECK STORE CYCLE,AC ADDRESS 1143 000011 AC=&17 1144 000012 AC1=&17 1145 1146 031242 334 12 0 00 000011 SKIPA AC1,AC ;LOAD AC1 AND SKIP 1147 031243 005 11 0 00 037564 ER AC,[ASCII /SKP/] ;FAILED TO SKIP. 1148 031244 312 11 0 00 037667 CAME AC,RAN ;C(E) GET CHANGED? 1149 031245 004 11 0 00 037667 ERROR AC,RAN ;YES. 1150 031246 312 12 0 00 037667 CAME AC1,RAN ;AC GET LOADED WITH RAN? 1151 031247 004 12 0 00 037667 ERROR AC1,RAN ;NO. 1152 031250 312 00 0 00 037563 CAME 0,[0] ;C(AC0) STILL = 0? 1153 031251 004 00 0 00 037563 ERROR [0] ;CHECK STORE CYCLE,AC ADDRESS 1154 000012 AC=&17 1155 000013 AC1=&17 1156 1157 031252 334 13 0 00 000012 SKIPA AC1,AC ;LOAD AC1 AND SKIP 1158 031253 005 12 0 00 037564 ER AC,[ASCII /SKP/] ;FAILED TO SKIP. 1159 031254 312 12 0 00 037667 CAME AC,RAN ;C(E) GET CHANGED? 1160 031255 004 12 0 00 037667 ERROR AC,RAN ;YES. 1161 031256 312 13 0 00 037667 CAME AC1,RAN ;AC GET LOADED WITH RAN? 1162 031257 004 13 0 00 037667 ERROR AC1,RAN ;NO. 1163 031260 312 00 0 00 037563 CAME 0,[0] ;C(AC0) STILL = 0? 1164 031261 004 00 0 00 037563 ERROR [0] ;CHECK STORE CYCLE,AC ADDRESS 1165 000013 AC=&17 1166 000014 AC1=&17 1167 1168 031262 334 14 0 00 000013 SKIPA AC1,AC ;LOAD AC1 AND SKIP 1169 031263 005 13 0 00 037564 ER AC,[ASCII /SKP/] ;FAILED TO SKIP. 1170 031264 312 13 0 00 037667 CAME AC,RAN ;C(E) GET CHANGED? 1171 031265 004 13 0 00 037667 ERROR AC,RAN ;YES. 1172 031266 312 14 0 00 037667 CAME AC1,RAN ;AC GET LOADED WITH RAN? 1173 031267 004 14 0 00 037667 ERROR AC1,RAN ;NO. DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 6-2 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0041 1174 031270 312 00 0 00 037563 CAME 0,[0] ;C(AC0) STILL = 0? 1175 031271 004 00 0 00 037563 ERROR [0] ;CHECK STORE CYCLE,AC ADDRESS 1176 000014 AC=&17 1177 000015 AC1=&17 1178 1179 031272 334 15 0 00 000014 SKIPA AC1,AC ;LOAD AC1 AND SKIP 1180 031273 005 14 0 00 037564 ER AC,[ASCII /SKP/] ;FAILED TO SKIP. 1181 031274 312 14 0 00 037667 CAME AC,RAN ;C(E) GET CHANGED? 1182 031275 004 14 0 00 037667 ERROR AC,RAN ;YES. 1183 031276 312 15 0 00 037667 CAME AC1,RAN ;AC GET LOADED WITH RAN? 1184 031277 004 15 0 00 037667 ERROR AC1,RAN ;NO. 1185 031300 312 00 0 00 037563 CAME 0,[0] ;C(AC0) STILL = 0? 1186 031301 004 00 0 00 037563 ERROR [0] ;CHECK STORE CYCLE,AC ADDRESS 1187 000015 AC=&17 1188 000016 AC1=&17 1189 1190 000005 AC=5 1191 LOOP SKPA1-4,SKPA1^ 1192 031302 367 04 0 00 031175 SOJG AC-1,SKPA1-4 ;ITERATION COUNTER 1193 031303 200 05 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1194 031304 321 04 0 00 031201 JUMPL AC-1,SKPA1 ;LOOP ON ERROR SWITCH ^ 1195 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 7 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0042 1196 1197 ;TEST EXCH. BOTH AC AND E ARE AC'S. CHECK FOR 1198 ;CORRECT DATA IN AC AND C(E). 1199 ;C(E) = -1, C(AC) = RAN NUM. 1200 1201 000005 AC=5 1202 031305 EXCH1: SETUP 200,0^ 1203 000006 AC1=&17 1204 000007 AC2=&17 1205 000010 AC3=&17 1206 000011 AC4=&17 1207 000012 AC5=&17 1208 000003 RAN1=&17 1209 031305 201 04 0 00 031305 MOVEI AC-1,. 1210 031306 202 04 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1211 031307 201 04 0 00 000004 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1212 031310 202 04 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1213 031311 201 04 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 1214 031312 240 04 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 1215 031313 240 04 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1216 031314 EXCH2: RANDOM^ 1217 031314 200 05 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1218 031315 270 05 0 00 037562 ADD AC,[142536475076] 1219 031316 241 05 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1220 031317 447 05 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1221 031320 477 06 0 00 000003 EXCH3: SETOB AC1,RAN1 ;MAKE C(E) = -1. 1222 031321 250 05 0 00 000006 EXCH AC,AC1 ;DO THE EXCH. 1223 031322 312 05 0 00 000003 CAME AC,RAN1 ;THE C(AC) SHOULD = ORIG C(E). 1224 031323 001 03 0 00 037667 ERR RAN1,RAN 1225 031324 312 06 0 00 037667 CAME AC1,RAN ;THE C(E) SHOULD = ORIG C(AC). 1226 031325 001 03 0 00 037667 ERR RAN1,RAN 1227 LOOP EXCH2,EXCH3^ 1228 031326 367 04 0 00 031314 SOJG AC-1,EXCH2 ;ITERATION COUNTER 1229 031327 200 05 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1230 031330 321 04 0 00 031320 JUMPL AC-1,EXCH3 ;LOOP ON ERROR SWITCH ^ 1231 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 8 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0043 1232 1233 ;TEST SETCA FOR COMPLEMENT AC AND NOT STORING IN C(E) 1234 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 1235 ;SETCA DOES NOT NORMALLY CHANGE THE CONTENTS OF "E" 1236 1237 000010 AC=10 1238 BOLCA: REPEAT 2, 1239 < SETUP 100,2 1240 RANDOM 1241 MOVE AC2,[0] ;CLEAR AC2, USED TO INSURE 1242 SETCA AC,AC2 ;SETCA DOES NOT STORE IN C(E) 1243 CAMN AC,RAN# ;IF AC UNCHANGED CNTL PULSES 1244 ERROR AC,RAN ;FOR INST SETCA FAILED 1245 REPEAT 3, 1246 < SETCA AC,AC2> 1247 CAME AC,RAN# ;A TOTAL OF 4 COMPLEMENTS 1248 ERROR AC,RAN ;SHOULD PRODUCE ORIGINAL NUM 1249 CAME AC2,[0] ;IF SETCA STORED C(E) 1250 ERROR AC2,[0] ;C(AC2) WILL NO LONGER BE 0. 1251 LOOP .-16,.-15 1252 AC=AC+17 1253 > 1254 SETUP 100,2^ 1255 000011 AC1=&17 1256 000012 AC2=&17 1257 000013 AC3=&17 1258 000014 AC4=&17 1259 000015 AC5=&17 1260 000006 RAN1=&17 1261 031331 201 07 0 00 031331 MOVEI AC-1,. 1262 031332 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1263 031333 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1264 031334 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1265 031335 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 1266 031336 240 07 1 00 030673 ASH AC-1,@CMPLXT+2 ;ROUTINE COMPLEXITY 1267 031337 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1268 RANDOM^ 1269 031340 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1270 031341 270 10 0 00 037562 ADD AC,[142536475076] 1271 031342 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1272 031343 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1273 031344 200 12 0 00 037563 MOVE AC2,[0] ;CLEAR AC2, USED TO INSURE 1274 031345 450 10 0 00 000012 SETCA AC,AC2 ;SETCA DOES NOT STORE IN C(E) 1275 031346 316 10 0 00 037667 CAMN AC,RAN# ;IF AC UNCHANGED CNTL PULSES 1276 031347 004 10 0 00 037667 ERROR AC,RAN ;FOR INST SETCA FAILED 1277 REPEAT 3, 1278 031350 450 10 0 00 000012 SETCA AC,AC2 1279 031351 450 10 0 00 000012 SETCA AC,AC2 1280 031352 450 10 0 00 000012 SETCA AC,AC2 1281 031353 312 10 0 00 037667 CAME AC,RAN# ;A TOTAL OF 4 COMPLEMENTS 1282 031354 004 10 0 00 037667 ERROR AC,RAN ;SHOULD PRODUCE ORIGINAL NUM 1283 031355 312 12 0 00 037563 CAME AC2,[0] ;IF SETCA STORED C(E) 1284 031356 004 12 0 00 037563 ERROR AC2,[0] ;C(AC2) WILL NO LONGER BE 0. 1285 LOOP .-16,.-15^ 1286 031357 367 07 0 00 031341 SOJG AC-1,.-16 ;ITERATION COUNTER DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 8-1 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0044 1287 031360 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1288 031361 321 07 0 00 031344 JUMPL AC-1,.-15 ;LOOP ON ERROR SWITCH ^ 1289 000027 AC=AC+17 1290 1291 SETUP 100,2^ 1292 000010 AC1=&17 1293 000011 AC2=&17 1294 000012 AC3=&17 1295 000013 AC4=&17 1296 000014 AC5=&17 1297 000005 RAN1=&17 1298 031362 201 06 0 00 031362 MOVEI AC-1,. 1299 031363 202 06 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1300 031364 201 06 0 00 000006 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1301 031365 202 06 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1302 031366 201 06 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 1303 031367 240 06 1 00 030673 ASH AC-1,@CMPLXT+2 ;ROUTINE COMPLEXITY 1304 031370 240 06 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1305 RANDOM^ 1306 031371 200 07 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1307 031372 270 07 0 00 037562 ADD AC,[142536475076] 1308 031373 241 07 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1309 031374 447 07 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1310 031375 200 11 0 00 037563 MOVE AC2,[0] ;CLEAR AC2, USED TO INSURE 1311 031376 450 07 0 00 000011 SETCA AC,AC2 ;SETCA DOES NOT STORE IN C(E) 1312 031377 316 07 0 00 037667 CAMN AC,RAN# ;IF AC UNCHANGED CNTL PULSES 1313 031400 004 07 0 00 037667 ERROR AC,RAN ;FOR INST SETCA FAILED 1314 REPEAT 3, 1315 031401 450 07 0 00 000011 SETCA AC,AC2 1316 031402 450 07 0 00 000011 SETCA AC,AC2 1317 031403 450 07 0 00 000011 SETCA AC,AC2 1318 031404 312 07 0 00 037667 CAME AC,RAN# ;A TOTAL OF 4 COMPLEMENTS 1319 031405 004 07 0 00 037667 ERROR AC,RAN ;SHOULD PRODUCE ORIGINAL NUM 1320 031406 312 11 0 00 037563 CAME AC2,[0] ;IF SETCA STORED C(E) 1321 031407 004 11 0 00 037563 ERROR AC2,[0] ;C(AC2) WILL NO LONGER BE 0. 1322 LOOP .-16,.-15^ 1323 031410 367 06 0 00 031372 SOJG AC-1,.-16 ;ITERATION COUNTER 1324 031411 200 07 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1325 031412 321 06 0 00 031375 JUMPL AC-1,.-15 ;LOOP ON ERROR SWITCH ^ 1326 000046 AC=AC+17 1327 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 9 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0045 1328 1329 ;TEST SETCAI ABILITY TO COMPLEMENT AC AND FAILURE TO FETCH C(E) 1330 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT 1331 ;SETCA IS INDEXED FOR NOISE PURPOSES 1332 1333 000005 AC=5 1334 031413 BOLCAI: SETUP 40,0^ 1335 000006 AC1=&17 1336 000007 AC2=&17 1337 000010 AC3=&17 1338 000011 AC4=&17 1339 000012 AC5=&17 1340 000003 RAN1=&17 1341 031413 201 04 0 00 031413 MOVEI AC-1,. 1342 031414 202 04 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1343 031415 201 04 0 00 000004 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1344 031416 202 04 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1345 031417 201 04 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 1346 031420 240 04 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 1347 031421 240 04 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1348 031422 BOLCA1: RANDOM^ 1349 031422 200 05 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1350 031423 270 05 0 00 037562 ADD AC,[142536475076] 1351 031424 241 05 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1352 031425 447 05 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1353 BOLCA2: REPEAT 4, 1354 < MOVE AC1,AC ;MOVE RANDOM TO AN AC 1355 SETCAI AC1,-1(AC) ;TWO COMP SHOULD PRODUCE 1356 SETCAI AC1,777000(AC) ;ORIGINAL NUMBER 1357 CAME AC1,AC ;SETCAI FAILED 1358 ERROR AC1,AC 1359 AC=&17 1360 AC1=&17 1361 > 1362 031426 200 06 0 00 000005 MOVE AC1,AC ;MOVE RANDOM TO AN AC 1363 031427 451 06 0 05 777777 SETCAI AC1,-1(AC) ;TWO COMP SHOULD PRODUCE 1364 031430 451 06 0 05 777000 SETCAI AC1,777000(AC) ;ORIGINAL NUMBER 1365 031431 312 06 0 00 000005 CAME AC1,AC ;SETCAI FAILED 1366 031432 004 06 0 00 000005 ERROR AC1,AC 1367 000006 AC=&17 1368 000007 AC1=&17 1369 1370 031433 200 07 0 00 000006 MOVE AC1,AC ;MOVE RANDOM TO AN AC 1371 031434 451 07 0 06 777777 SETCAI AC1,-1(AC) ;TWO COMP SHOULD PRODUCE 1372 031435 451 07 0 06 777000 SETCAI AC1,777000(AC) ;ORIGINAL NUMBER 1373 031436 312 07 0 00 000006 CAME AC1,AC ;SETCAI FAILED 1374 031437 004 07 0 00 000006 ERROR AC1,AC 1375 000007 AC=&17 1376 000010 AC1=&17 1377 1378 031440 200 10 0 00 000007 MOVE AC1,AC ;MOVE RANDOM TO AN AC 1379 031441 451 10 0 07 777777 SETCAI AC1,-1(AC) ;TWO COMP SHOULD PRODUCE 1380 031442 451 10 0 07 777000 SETCAI AC1,777000(AC) ;ORIGINAL NUMBER 1381 031443 312 10 0 00 000007 CAME AC1,AC ;SETCAI FAILED 1382 031444 004 10 0 00 000007 ERROR AC1,AC DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 9-1 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0046 1383 000010 AC=&17 1384 000011 AC1=&17 1385 1386 031445 200 11 0 00 000010 MOVE AC1,AC ;MOVE RANDOM TO AN AC 1387 031446 451 11 0 10 777777 SETCAI AC1,-1(AC) ;TWO COMP SHOULD PRODUCE 1388 031447 451 11 0 10 777000 SETCAI AC1,777000(AC) ;ORIGINAL NUMBER 1389 031450 312 11 0 00 000010 CAME AC1,AC ;SETCAI FAILED 1390 031451 004 11 0 00 000010 ERROR AC1,AC 1391 000011 AC=&17 1392 000012 AC1=&17 1393 1394 000005 AC=5 1395 LOOP BOLCA1,BOLCA2^ 1396 031452 367 04 0 00 031422 SOJG AC-1,BOLCA1 ;ITERATION COUNTER 1397 031453 200 05 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1398 031454 321 04 0 00 031426 JUMPL AC-1,BOLCA2 ;LOOP ON ERROR SWITCH ^ 1399 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 10 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0047 1400 1401 ;TEST XOR TO ZERO,XOR 0 TO N,N TO N,-1 TO N 1402 ;THREE ACS ARE USED IN THE TEST 1403 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT 1404 1405 000001 AC=1 1406 BOLX: REPEAT 3, 1407 < SETUP 200,0 1408 RANDOM 1409 MOVE AC,[0] ;CLEAR THE AC 1410 XOR AC,RAN ;0 EXCLUSIVE ORED WITH 1411 CAME AC,RAN ;RANDOM SHOULD = RANDOM 1412 ERROR AC,RAN ;XOR FAILED 1413 XOR AC,[0] ;ANY NUMBER XORED 1414 CAME AC,RAN ;WITH THE NUMBER 0 1415 ERROR AC,RAN ;SHOULD REMAIN UNCHANGED 1416 XOR AC,RAN ;ANY NUMBER XORED 1417 CAME AC,[0] ;WITH ITSELF SHOULD 1418 ERROR AC,[0] ;EQUAL 0 1419 XOR AC,[-1] ;SET AC TO ALL ONES 1420 XOR AC,RAN ;AC SHOULD CONTAIN COMP OF RAN 1421 XOR AC,[-1] ;RECOMPLEMENT AC TO ORIG 1422 CAME AC,RAN ;CHECK FOR RANDOM 1423 ERROR AC,RAN ;XOR FAILED 1424 LOOP .-22,.-21 1425 AC=AC+1 1426 > 1427 SETUP 200,0^ 1428 000002 AC1=&17 1429 000003 AC2=&17 1430 000004 AC3=&17 1431 000005 AC4=&17 1432 000006 AC5=&17 1433 000017 RAN1=&17 1434 031455 201 00 0 00 031455 MOVEI AC-1,. 1435 031456 202 00 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1436 031457 201 00 0 00 000000 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1437 031460 202 00 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1438 031461 201 00 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 1439 031462 240 00 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 1440 031463 240 00 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1441 RANDOM^ 1442 031464 200 01 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1443 031465 270 01 0 00 037562 ADD AC,[142536475076] 1444 031466 241 01 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1445 031467 447 01 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1446 031470 200 01 0 00 037563 MOVE AC,[0] ;CLEAR THE AC 1447 031471 430 01 0 00 037667 XOR AC,RAN ;0 EXCLUSIVE ORED WITH 1448 031472 312 01 0 00 037667 CAME AC,RAN ;RANDOM SHOULD = RANDOM 1449 031473 004 01 0 00 037667 ERROR AC,RAN ;XOR FAILED 1450 031474 430 01 0 00 037563 XOR AC,[0] ;ANY NUMBER XORED 1451 031475 312 01 0 00 037667 CAME AC,RAN ;WITH THE NUMBER 0 1452 031476 004 01 0 00 037667 ERROR AC,RAN ;SHOULD REMAIN UNCHANGED 1453 031477 430 01 0 00 037667 XOR AC,RAN ;ANY NUMBER XORED 1454 031500 312 01 0 00 037563 CAME AC,[0] ;WITH ITSELF SHOULD DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 10-1 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0048 1455 031501 004 01 0 00 037563 ERROR AC,[0] ;EQUAL 0 1456 031502 430 01 0 00 037565 XOR AC,[-1] ;SET AC TO ALL ONES 1457 031503 430 01 0 00 037667 XOR AC,RAN ;AC SHOULD CONTAIN COMP OF RAN 1458 031504 430 01 0 00 037565 XOR AC,[-1] ;RECOMPLEMENT AC TO ORIG 1459 031505 312 01 0 00 037667 CAME AC,RAN ;CHECK FOR RANDOM 1460 031506 004 01 0 00 037667 ERROR AC,RAN ;XOR FAILED 1461 LOOP .-22,.-21^ 1462 031507 367 00 0 00 031465 SOJG AC-1,.-22 ;ITERATION COUNTER 1463 031510 200 01 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1464 031511 321 00 0 00 031470 JUMPL AC-1,.-21 ;LOOP ON ERROR SWITCH ^ 1465 000002 AC=AC+1 1466 1467 SETUP 200,0^ 1468 000003 AC1=&17 1469 000004 AC2=&17 1470 000005 AC3=&17 1471 000006 AC4=&17 1472 000007 AC5=&17 1473 000000 RAN1=&17 1474 031512 201 01 0 00 031512 MOVEI AC-1,. 1475 031513 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1476 031514 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1477 031515 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1478 031516 201 01 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 1479 031517 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 1480 031520 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1481 RANDOM^ 1482 031521 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1483 031522 270 02 0 00 037562 ADD AC,[142536475076] 1484 031523 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1485 031524 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1486 031525 200 02 0 00 037563 MOVE AC,[0] ;CLEAR THE AC 1487 031526 430 02 0 00 037667 XOR AC,RAN ;0 EXCLUSIVE ORED WITH 1488 031527 312 02 0 00 037667 CAME AC,RAN ;RANDOM SHOULD = RANDOM 1489 031530 004 02 0 00 037667 ERROR AC,RAN ;XOR FAILED 1490 031531 430 02 0 00 037563 XOR AC,[0] ;ANY NUMBER XORED 1491 031532 312 02 0 00 037667 CAME AC,RAN ;WITH THE NUMBER 0 1492 031533 004 02 0 00 037667 ERROR AC,RAN ;SHOULD REMAIN UNCHANGED 1493 031534 430 02 0 00 037667 XOR AC,RAN ;ANY NUMBER XORED 1494 031535 312 02 0 00 037563 CAME AC,[0] ;WITH ITSELF SHOULD 1495 031536 004 02 0 00 037563 ERROR AC,[0] ;EQUAL 0 1496 031537 430 02 0 00 037565 XOR AC,[-1] ;SET AC TO ALL ONES 1497 031540 430 02 0 00 037667 XOR AC,RAN ;AC SHOULD CONTAIN COMP OF RAN 1498 031541 430 02 0 00 037565 XOR AC,[-1] ;RECOMPLEMENT AC TO ORIG 1499 031542 312 02 0 00 037667 CAME AC,RAN ;CHECK FOR RANDOM 1500 031543 004 02 0 00 037667 ERROR AC,RAN ;XOR FAILED 1501 LOOP .-22,.-21^ 1502 031544 367 01 0 00 031522 SOJG AC-1,.-22 ;ITERATION COUNTER 1503 031545 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1504 031546 321 01 0 00 031525 JUMPL AC-1,.-21 ;LOOP ON ERROR SWITCH ^ 1505 000003 AC=AC+1 1506 1507 SETUP 200,0^ 1508 000004 AC1=&17 1509 000005 AC2=&17 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 10-2 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0049 1510 000006 AC3=&17 1511 000007 AC4=&17 1512 000010 AC5=&17 1513 000001 RAN1=&17 1514 031547 201 02 0 00 031547 MOVEI AC-1,. 1515 031550 202 02 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1516 031551 201 02 0 00 000002 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1517 031552 202 02 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1518 031553 201 02 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 1519 031554 240 02 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 1520 031555 240 02 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1521 RANDOM^ 1522 031556 200 03 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1523 031557 270 03 0 00 037562 ADD AC,[142536475076] 1524 031560 241 03 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1525 031561 447 03 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1526 031562 200 03 0 00 037563 MOVE AC,[0] ;CLEAR THE AC 1527 031563 430 03 0 00 037667 XOR AC,RAN ;0 EXCLUSIVE ORED WITH 1528 031564 312 03 0 00 037667 CAME AC,RAN ;RANDOM SHOULD = RANDOM 1529 031565 004 03 0 00 037667 ERROR AC,RAN ;XOR FAILED 1530 031566 430 03 0 00 037563 XOR AC,[0] ;ANY NUMBER XORED 1531 031567 312 03 0 00 037667 CAME AC,RAN ;WITH THE NUMBER 0 1532 031570 004 03 0 00 037667 ERROR AC,RAN ;SHOULD REMAIN UNCHANGED 1533 031571 430 03 0 00 037667 XOR AC,RAN ;ANY NUMBER XORED 1534 031572 312 03 0 00 037563 CAME AC,[0] ;WITH ITSELF SHOULD 1535 031573 004 03 0 00 037563 ERROR AC,[0] ;EQUAL 0 1536 031574 430 03 0 00 037565 XOR AC,[-1] ;SET AC TO ALL ONES 1537 031575 430 03 0 00 037667 XOR AC,RAN ;AC SHOULD CONTAIN COMP OF RAN 1538 031576 430 03 0 00 037565 XOR AC,[-1] ;RECOMPLEMENT AC TO ORIG 1539 031577 312 03 0 00 037667 CAME AC,RAN ;CHECK FOR RANDOM 1540 031600 004 03 0 00 037667 ERROR AC,RAN ;XOR FAILED 1541 LOOP .-22,.-21^ 1542 031601 367 02 0 00 031557 SOJG AC-1,.-22 ;ITERATION COUNTER 1543 031602 200 03 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1544 031603 321 02 0 00 031562 JUMPL AC-1,.-21 ;LOOP ON ERROR SWITCH ^ 1545 000004 AC=AC+1 1546 1547 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 11 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0050 1548 1549 ;TEST SETZI AND IOR. SETZI ABILITY TO CLEAR,IOR RAN TO 0, 1550 ;RANDOM TO RANDOM,RANDOM TO COMP RANDOM,0 TO RANDOM 1551 ;ERROR IN THE FORM (PC,AC,C(AC),CORRECT) 1552 1553 000005 AC=5 1554 031604 BOLZI: SETUP 100,0^ 1555 000006 AC1=&17 1556 000007 AC2=&17 1557 000010 AC3=&17 1558 000011 AC4=&17 1559 000012 AC5=&17 1560 000003 RAN1=&17 1561 031604 201 04 0 00 031604 MOVEI AC-1,. 1562 031605 202 04 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1563 031606 201 04 0 00 000004 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1564 031607 202 04 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1565 031610 201 04 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 1566 031611 240 04 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 1567 031612 240 04 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1568 RANDOM^ 1569 031613 200 05 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1570 031614 270 05 0 00 037562 ADD AC,[142536475076] 1571 031615 241 05 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1572 031616 447 05 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1573 BOLZI1: REPEAT 2, 1574 < MOVE AC,RAN# ;LOAD THE AC THEN 1575 SETZI AC,(AC) ;TRY TO CLEAR IT,INDEX REDUNDANT 1576 CAME AC,[0] ;IF NOT 0 1577 ERROR AC,[0] ;SETZI FAILED 1578 IOR AC,RAN ;INCLUSIVE OR OF A 1579 CAME AC,RAN ;NUMBER TO 0 SHOULD PRODUCE 1580 ERROR AC,RAN ;THE NUMBER 1581 IOR AC,RAN ;IOR SAME NUMBERS 1582 CAME AC,RAN ;SHOULD HAVE NO EFFECT 1583 ERROR AC,RAN ;ON AC.IOR FAILED 1584 IOR AC,[0] ;IOR OF NO BITS SHOULD DO NOTHING 1585 CAME AC,RAN 1586 ERROR AC,RAN ;IOR FAILED 1587 SETCA AC,0 1588 IOR AC,RAN ;INCLUSIVE OR OF COMP NUMBERS 1589 CAME AC,[-1] ;SHOULD SET ALL BITS 1590 ERROR AC,[-1] ;IOR FAILED 1591 IOR AC,[-1] ;ALL BITS TO ALL BITS 1592 CAME AC,[-1] ;PRODUCE ALL BITS 1593 ERROR AC,[-1] 1594 AC=&17 1595 > 1596 031617 200 05 0 00 037667 MOVE AC,RAN# ;LOAD THE AC THEN 1597 031620 401 05 0 05 000000 SETZI AC,(AC) ;TRY TO CLEAR IT,INDEX REDUNDANT 1598 031621 312 05 0 00 037563 CAME AC,[0] ;IF NOT 0 1599 031622 004 05 0 00 037563 ERROR AC,[0] ;SETZI FAILED 1600 031623 434 05 0 00 037667 IOR AC,RAN ;INCLUSIVE OR OF A 1601 031624 312 05 0 00 037667 CAME AC,RAN ;NUMBER TO 0 SHOULD PRODUCE 1602 031625 004 05 0 00 037667 ERROR AC,RAN ;THE NUMBER DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 11-1 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0051 1603 031626 434 05 0 00 037667 IOR AC,RAN ;IOR SAME NUMBERS 1604 031627 312 05 0 00 037667 CAME AC,RAN ;SHOULD HAVE NO EFFECT 1605 031630 004 05 0 00 037667 ERROR AC,RAN ;ON AC.IOR FAILED 1606 031631 434 05 0 00 037563 IOR AC,[0] ;IOR OF NO BITS SHOULD DO NOTHING 1607 031632 312 05 0 00 037667 CAME AC,RAN 1608 031633 004 05 0 00 037667 ERROR AC,RAN ;IOR FAILED 1609 031634 450 05 0 00 000000 SETCA AC,0 1610 031635 434 05 0 00 037667 IOR AC,RAN ;INCLUSIVE OR OF COMP NUMBERS 1611 031636 312 05 0 00 037565 CAME AC,[-1] ;SHOULD SET ALL BITS 1612 031637 004 05 0 00 037565 ERROR AC,[-1] ;IOR FAILED 1613 031640 434 05 0 00 037565 IOR AC,[-1] ;ALL BITS TO ALL BITS 1614 031641 312 05 0 00 037565 CAME AC,[-1] ;PRODUCE ALL BITS 1615 031642 004 05 0 00 037565 ERROR AC,[-1] 1616 000006 AC=&17 1617 1618 031643 200 06 0 00 037667 MOVE AC,RAN# ;LOAD THE AC THEN 1619 031644 401 06 0 06 000000 SETZI AC,(AC) ;TRY TO CLEAR IT,INDEX REDUNDANT 1620 031645 312 06 0 00 037563 CAME AC,[0] ;IF NOT 0 1621 031646 004 06 0 00 037563 ERROR AC,[0] ;SETZI FAILED 1622 031647 434 06 0 00 037667 IOR AC,RAN ;INCLUSIVE OR OF A 1623 031650 312 06 0 00 037667 CAME AC,RAN ;NUMBER TO 0 SHOULD PRODUCE 1624 031651 004 06 0 00 037667 ERROR AC,RAN ;THE NUMBER 1625 031652 434 06 0 00 037667 IOR AC,RAN ;IOR SAME NUMBERS 1626 031653 312 06 0 00 037667 CAME AC,RAN ;SHOULD HAVE NO EFFECT 1627 031654 004 06 0 00 037667 ERROR AC,RAN ;ON AC.IOR FAILED 1628 031655 434 06 0 00 037563 IOR AC,[0] ;IOR OF NO BITS SHOULD DO NOTHING 1629 031656 312 06 0 00 037667 CAME AC,RAN 1630 031657 004 06 0 00 037667 ERROR AC,RAN ;IOR FAILED 1631 031660 450 06 0 00 000000 SETCA AC,0 1632 031661 434 06 0 00 037667 IOR AC,RAN ;INCLUSIVE OR OF COMP NUMBERS 1633 031662 312 06 0 00 037565 CAME AC,[-1] ;SHOULD SET ALL BITS 1634 031663 004 06 0 00 037565 ERROR AC,[-1] ;IOR FAILED 1635 031664 434 06 0 00 037565 IOR AC,[-1] ;ALL BITS TO ALL BITS 1636 031665 312 06 0 00 037565 CAME AC,[-1] ;PRODUCE ALL BITS 1637 031666 004 06 0 00 037565 ERROR AC,[-1] 1638 000007 AC=&17 1639 1640 000005 AC=5 1641 LOOP BOLZI1-4,BOLZI1^ 1642 031667 367 04 0 00 031613 SOJG AC-1,BOLZI1-4 ;ITERATION COUNTER 1643 031670 200 05 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1644 031671 321 04 0 00 031617 JUMPL AC-1,BOLZI1 ;LOOP ON ERROR SWITCH ^ 1645 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 12 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0052 1646 ;TEST AND FOR 0 TO 0,1 TO 1,0 TO 1,1 TO 0 1647 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 1648 1649 000010 AC=10 1650 031672 BOLA: SETUP 400,0^ 1651 000011 AC1=&17 1652 000012 AC2=&17 1653 000013 AC3=&17 1654 000014 AC4=&17 1655 000015 AC5=&17 1656 000006 RAN1=&17 1657 031672 201 07 0 00 031672 MOVEI AC-1,. 1658 031673 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1659 031674 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1660 031675 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1661 031676 201 07 0 00 000400 MOVEI AC-1,400 ;ROUTINE WEIGHTING 1662 031677 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 1663 031700 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1664 RANDOM^ 1665 031701 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1666 031702 270 10 0 00 037562 ADD AC,[142536475076] 1667 031703 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1668 031704 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1669 031705 404 10 0 00 037667 BOLA1: AND AC,RAN ;NUMBER AND NUMBeR 1670 031706 312 10 0 00 037667 CAME AC,RAN ;SHOULD EQUAL NUMBER 1671 031707 004 10 0 00 037667 ERROR AC,RAN ;IF NOT, "AND" FAILED. 1672 031710 404 10 0 00 037565 AND AC,[-1] ;"AND" OF ALL BITS WITH 1673 031711 312 10 0 00 037667 CAME AC,RAN ;ANY NUMBER SHOULD 1674 031712 004 10 0 00 037667 ERROR AC,RAN ;LEAVE THE NUMBER UNCHANGED 1675 031713 450 10 0 00 000000 SETCA AC, 1676 031714 404 10 0 00 037667 AND AC,RAN ;"AND" OF A NUMBER WITH ITS 1677 031715 312 10 0 00 037563 CAME AC,[0] ;COMPLEMENT SHOULD 1678 031716 004 10 0 00 037563 ERROR AC,[0] ;PRODUCE 0 1679 LOOP BOLA1-4,BOLA1^ 1680 031717 367 07 0 00 031701 SOJG AC-1,BOLA1-4 ;ITERATION COUNTER 1681 031720 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1682 031721 321 07 0 00 031705 JUMPL AC-1,BOLA1 ;LOOP ON ERROR SWITCH ^ DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 13 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0053 1683 1684 ;TEST ORCA AND SETO. 1 TO 0,1 TO 1, 0 TO 0, 1 TO 0,0 TO 1 1685 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 1686 ;ONE AC IS USED FOR TESTING 1687 1688 000012 AC=12 1689 031722 BOLOS: SETUP 300,0^ 1690 000013 AC1=&17 1691 000014 AC2=&17 1692 000015 AC3=&17 1693 000016 AC4=&17 1694 000017 AC5=&17 1695 000010 RAN1=&17 1696 031722 201 11 0 00 031722 MOVEI AC-1,. 1697 031723 202 11 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1698 031724 201 11 0 00 000011 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1699 031725 202 11 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1700 031726 201 11 0 00 000300 MOVEI AC-1,300 ;ROUTINE WEIGHTING 1701 031727 240 11 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 1702 031730 240 11 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1703 RANDOM^ 1704 031731 200 12 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1705 031732 270 12 0 00 037562 ADD AC,[142536475076] 1706 031733 241 12 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1707 031734 447 12 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1708 031735 474 12 0 00 031735 BOLOS1: SETO AC,. ;WILL CHANGE THIS INST IF FETCH/STORE C(E). 1709 031736 312 12 0 00 037565 CAME AC,[-1] ;CHECK FOR ALL BITS SET 1710 031737 004 12 0 00 037565 ERROR AC,[-1] ;SETO FAILED 1711 031740 454 12 0 00 037667 ORCA AC,RAN ;-1 ORED TO RANDOM 1712 031741 312 12 0 00 037667 CAME AC,RAN ;SHOULD PRODUCE RANDOM 1713 031742 004 12 0 00 037667 ERROR AC,RAN ;IF AC COMP PROBELY 1714 031743 454 12 0 00 037667 ORCA AC,RAN ;RANDOM TO RANDOM SHOULD 1715 031744 312 12 0 00 037565 CAME AC,[-1] ;PRODUCE -1 1716 031745 004 12 0 00 037565 ERROR AC,[-1] ;IF AC COMPLEMENTED PROPERLY 1717 031746 454 12 0 00 037563 ORCA AC,[0] ;WITH NO BITS EFFECT IC COMP AC 1718 031747 454 12 0 00 037667 ORCA AC,RAN 1719 031750 312 12 0 00 037565 CAME AC,[-1] ;NO BITS COMPLEMENTS TO PRODUCE 1720 031751 004 12 0 00 037565 ERROR AC,[-1] ;ALL ONES 1721 LOOP BOLOS1-4,BOLOS1^ 1722 031752 367 11 0 00 031731 SOJG AC-1,BOLOS1-4 ;ITERATION COUNTER 1723 031753 200 12 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1724 031754 321 11 0 00 031735 JUMPL AC-1,BOLOS1 ;LOOP ON ERROR SWITCH ^ 1725 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 14 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0054 1726 1727 ;TEST ANDCA.1 TO 1,0 TO 0, 0 TO 1,0 TO 0,1 TO 1,1 TO 0 1728 ;ERRORS ARE IN THE FORM(PC,AC,C(AC),CORRECT 1729 ;ONE AC IS USED 1730 1731 000013 AC=13 1732 031755 BOLAC: SETUP 200,1^ 1733 000014 AC1=&17 1734 000015 AC2=&17 1735 000016 AC3=&17 1736 000017 AC4=&17 1737 000000 AC5=&17 1738 000011 RAN1=&17 1739 031755 201 12 0 00 031755 MOVEI AC-1,. 1740 031756 202 12 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1741 031757 201 12 0 00 000012 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1742 031760 202 12 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1743 031761 201 12 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 1744 031762 240 12 1 00 030672 ASH AC-1,@CMPLXT+1 ;ROUTINE COMPLEXITY 1745 031763 240 12 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1746 RANDOM^ 1747 031764 200 13 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1748 031765 270 13 0 00 037562 ADD AC,[142536475076] 1749 031766 241 13 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1750 031767 447 13 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1751 031770 410 13 0 00 037667 BOLAC1: ANDCA AC,RAN ;ANDCA OF LIKE NUMBERS 1752 031771 312 13 0 00 037563 CAME AC,[0] ;SHOULD PRODUCE 0 1753 031772 004 13 0 00 037563 ERROR AC,[0] ;ANDCA FAILED 1754 031773 410 13 0 00 037667 ANDCA AC,RAN 1755 031774 312 13 0 00 037667 CAME AC,RAN ;ANDCA OF ZERO AND NUMBER 1756 031775 004 13 0 00 037667 ERROR AC,RAN ;SHOULD PRODUCE NUMBER 1757 031776 474 13 0 00 031776 SETO AC,. ;SET ALL BITS 1758 031777 410 13 0 00 037667 ANDCA AC,RAN 1759 032000 312 13 0 00 037563 CAME AC,[0] ;ANDCA OF ALL BITS WITH NUMBER 1760 032001 004 13 0 00 037563 ERROR AC,[0] ;SHOULD PRODUCE 0 1761 LOOP BOLAC1-4,BOLAC1^ 1762 032002 367 12 0 00 031764 SOJG AC-1,BOLAC1-4 ;ITERATION COUNTER 1763 032003 200 13 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1764 032004 321 12 0 00 031770 JUMPL AC-1,BOLAC1 ;LOOP ON ERROR SWITCH ^ 1765 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 15 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0055 1766 1767 ;TEST EQV,1 TO 1,0 TO 0,1 TO 0,0 TO 1. EQV =(SET ALL LIKE BITS) 1768 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 1769 1770 000014 AC=14 1771 032005 BOLEQ: SETUP 200,2^ 1772 000015 AC1=&17 1773 000016 AC2=&17 1774 000017 AC3=&17 1775 000000 AC4=&17 1776 000001 AC5=&17 1777 000012 RAN1=&17 1778 032005 201 13 0 00 032005 MOVEI AC-1,. 1779 032006 202 13 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1780 032007 201 13 0 00 000013 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1781 032010 202 13 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1782 032011 201 13 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 1783 032012 240 13 1 00 030673 ASH AC-1,@CMPLXT+2 ;ROUTINE COMPLEXITY 1784 032013 240 13 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1785 RANDOM^ 1786 032014 200 14 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1787 032015 270 14 0 00 037562 ADD AC,[142536475076] 1788 032016 241 14 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1789 032017 447 14 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1790 032020 444 14 0 00 037667 BOLEQ1: EQV AC,RAN ;WHEN NUMBERS ARE EQUAL 1791 032021 312 14 0 00 037565 CAME AC,[-1] ;EQV SHOULD PRODUCE ALL 1792 032022 004 14 0 00 037565 ERROR AC,[-1] ;BITS SET.EQV FAILED 1793 032023 444 14 0 00 037667 EQV AC,RAN# 1794 032024 312 14 0 00 037667 CAME AC,RAN ;WITH AC SET,EQV SHOULD 1795 032025 004 14 0 00 037667 ERROR AC,RAN ;PRODUCE C(E) IN THE AC 1796 032026 401 14 0 00 777777 SETZI AC,-1 1797 032027 444 14 0 00 037667 EQV AC,RAN ;WHEN AC=0 EQV SHOULD 1798 032030 450 14 0 00 032030 SETCA AC,. ;PRODUCE COMPLEMENT OF 1799 032031 312 14 0 00 037667 CAME AC,RAN ;C(E) 1800 032032 004 14 0 00 037667 ERROR AC,RAN ;EQV FAILED 1801 LOOP BOLEQ1-3,BOLEQ1^ 1802 032033 367 13 0 00 032015 SOJG AC-1,BOLEQ1-3 ;ITERATION COUNTER 1803 032034 200 14 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1804 032035 321 13 0 00 032020 JUMPL AC-1,BOLEQ1 ;LOOP ON ERROR SWITCH ^ 1805 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 16 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0056 1806 1807 ;TEST SETM. SET THE CONTENTS OF MEMORY TO THE AC 1808 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 1809 1810 000010 AC=10 1811 032036 BOLSM: SETUP 100,0^ 1812 000011 AC1=&17 1813 000012 AC2=&17 1814 000013 AC3=&17 1815 000014 AC4=&17 1816 000015 AC5=&17 1817 000006 RAN1=&17 1818 032036 201 07 0 00 032036 MOVEI AC-1,. 1819 032037 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1820 032040 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1821 032041 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1822 032042 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 1823 032043 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 1824 032044 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1825 RANDOM^ 1826 032045 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1827 032046 270 10 0 00 037562 ADD AC,[142536475076] 1828 032047 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1829 032050 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1830 BOLSM1: REPEAT 2, 1831 < SETM AC1,RAN ;THE NET RESULT OF SETM 1832 CAME AC1,AC ;IS THE SAME AS MOVE 1833 ERROR AC1,RAN ;SETM FAILED 1834 AC=&17 1835 AC1=&17 1836 > 1837 032051 414 11 0 00 037667 SETM AC1,RAN ;THE NET RESULT OF SETM 1838 032052 312 11 0 00 000010 CAME AC1,AC ;IS THE SAME AS MOVE 1839 032053 004 11 0 00 037667 ERROR AC1,RAN ;SETM FAILED 1840 000011 AC=&17 1841 000012 AC1=&17 1842 1843 032054 414 12 0 00 037667 SETM AC1,RAN ;THE NET RESULT OF SETM 1844 032055 312 12 0 00 000011 CAME AC1,AC ;IS THE SAME AS MOVE 1845 032056 004 12 0 00 037667 ERROR AC1,RAN ;SETM FAILED 1846 000012 AC=&17 1847 000013 AC1=&17 1848 1849 000010 AC=10 1850 LOOP BOLSM1-4,BOLSM1^ 1851 032057 367 07 0 00 032045 SOJG AC-1,BOLSM1-4 ;ITERATION COUNTER 1852 032060 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1853 032061 321 07 0 00 032051 JUMPL AC-1,BOLSM1 ;LOOP ON ERROR SWITCH ^ DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 17 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0057 1854 1855 ;TEST SETCM. (MOVE THE COMPLEMENT OF MEMORY TO AC) 1856 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 1857 1858 000014 AC=14 1859 032062 BOLCM: SETUP 100,0^ 1860 000015 AC1=&17 1861 000016 AC2=&17 1862 000017 AC3=&17 1863 000000 AC4=&17 1864 000001 AC5=&17 1865 000012 RAN1=&17 1866 032062 201 13 0 00 032062 MOVEI AC-1,. 1867 032063 202 13 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1868 032064 201 13 0 00 000013 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1869 032065 202 13 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1870 032066 201 13 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 1871 032067 240 13 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 1872 032070 240 13 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1873 RANDOM^ 1874 032071 200 14 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1875 032072 270 14 0 00 037562 ADD AC,[142536475076] 1876 032073 241 14 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1877 032074 447 14 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1878 032075 460 15 0 00 037667 BOLCM1: SETCM AC1,RAN ;COMP OF RANDOM TO AC 1879 032076 460 16 0 00 000015 SETCM AC2,AC1 ;RECOMP TO AC2 1880 032077 312 16 0 00 037667 CAME AC2,RAN 1881 032100 004 16 0 00 037667 ERROR AC2,RAN ;SETCM 1 OR 2 FAILED 1882 LOOP BOLCM1-3,BOLCM1^ 1883 032101 367 13 0 00 032072 SOJG AC-1,BOLCM1-3 ;ITERATION COUNTER 1884 032102 200 14 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1885 032103 321 13 0 00 032075 JUMPL AC-1,BOLCM1 ;LOOP ON ERROR SWITCH ^ 1886 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 18 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0058 1887 1888 ;TEST ORCM. (INCLUSIVE OR THE CONTENTS OF COMPLEMENTED MEMORY 1889 ;TO THE CONTENTS OF AC.) ERRORS ARE IN THE FORM (PC,AC, 1890 ;C(AC),CORRECT 1891 1892 000005 AC=5 1893 032104 BOLOC: SETUP 140,0^ 1894 000006 AC1=&17 1895 000007 AC2=&17 1896 000010 AC3=&17 1897 000011 AC4=&17 1898 000012 AC5=&17 1899 000003 RAN1=&17 1900 032104 201 04 0 00 032104 MOVEI AC-1,. 1901 032105 202 04 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1902 032106 201 04 0 00 000004 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1903 032107 202 04 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1904 032110 201 04 0 00 000140 MOVEI AC-1,140 ;ROUTINE WEIGHTING 1905 032111 240 04 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 1906 032112 240 04 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1907 RANDOM^ 1908 032113 200 05 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1909 032114 270 05 0 00 037562 ADD AC,[142536475076] 1910 032115 241 05 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1911 032116 447 05 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1912 032117 464 05 0 00 037667 BOLOC1: ORCM AC,RAN ;LIKE NUMBERS SHOULD PRODUCE 1913 032120 312 05 0 00 037565 CAME AC,[-1] ;ALL BITS SET 1914 032121 004 05 0 00 037565 ERROR AC,[-1] 1915 032122 464 05 0 00 037667 ORCM AC,RAN ;ANY NUMBER ORED WITH ALL 1916 032123 312 05 0 00 037565 CAME AC,[-1] ;ONES SHOULD PRODUCE 1917 032124 004 05 0 00 037565 ERROR AC,[-1] ;ALL ONES 1918 032125 401 05 0 00 777777 SETZI AC,-1 1919 032126 464 05 0 00 037667 ORCM AC,RAN ;THE RANDOM NUMBER IS 1920 032127 450 05 0 00 032127 SETCA AC,. ;ORED TO 0. THIS SHOULD 1921 032130 312 05 0 00 037667 CAME AC,RAN ;PRODUCE THE COMPLEMENT 1922 032131 004 05 0 00 037667 ERROR AC,RAN ;OF RANDOM 1923 032132 464 05 0 00 037565 ORCM AC,[-1] 1924 032133 312 05 0 00 037667 CAME AC,RAN ;ORING -1 SHOULD LEAVE 1925 032134 004 05 0 00 037667 ERROR AC,RAN ;AC UNCHANGED 1926 LOOP BOLOC1-3,BOLOC1^ 1927 032135 367 04 0 00 032114 SOJG AC-1,BOLOC1-3 ;ITERATION COUNTER 1928 032136 200 05 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1929 032137 321 04 0 00 032117 JUMPL AC-1,BOLOC1 ;LOOP ON ERROR SWITCH ^ 1930 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 19 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0059 1931 1932 ;TEST ANDCM (AND WITH THE COMP OF MEMORY) 1933 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 1934 1935 000010 AC=10 1936 032140 BOLAX: SETUP 140,0^ 1937 000011 AC1=&17 1938 000012 AC2=&17 1939 000013 AC3=&17 1940 000014 AC4=&17 1941 000015 AC5=&17 1942 000006 RAN1=&17 1943 032140 201 07 0 00 032140 MOVEI AC-1,. 1944 032141 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1945 032142 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1946 032143 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1947 032144 201 07 0 00 000140 MOVEI AC-1,140 ;ROUTINE WEIGHTING 1948 032145 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 1949 032146 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1950 RANDOM^ 1951 032147 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1952 032150 270 10 0 00 037562 ADD AC,[142536475076] 1953 032151 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1954 032152 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1955 032153 420 10 0 00 037667 BOLAX1: ANDCM AC,RAN ;LIKE NUMBERS SHOULD 1956 032154 312 10 0 00 037563 CAME AC,[0] ;PRODUCE 0 1957 032155 004 10 0 00 037563 ERROR AC,[0] ;ANDCM FAILED 1958 032156 420 10 0 00 037667 ANDCM AC,RAN ;ANYTHING ANDED TO 1959 032157 312 10 0 00 037563 CAME AC,[0] ;ZERO SHOULD = 0 1960 032160 004 10 0 00 037563 ERROR AC,[0] 1961 032161 474 10 0 00 000000 SETO AC, 1962 032162 420 10 0 00 037667 ANDCM AC,RAN ;AC SHOULD - COMP OF MEMORY 1963 032163 420 10 0 00 037563 ANDCM AC,[0] ;AC SHOULD REMAIN UNCHANGED 1964 032164 430 10 0 00 037565 XOR AC,[-1] ;COMP AC 1965 032165 312 10 0 00 037667 CAME AC,RAN ;AFTER COMP SHOULD EQUAL 1966 032166 004 10 0 00 037667 ERROR AC,RAN ;RANDOM. ANDCM FAILED 1967 LOOP BOLAX1-3,BOLAX1^ 1968 032167 367 07 0 00 032150 SOJG AC-1,BOLAX1-3 ;ITERATION COUNTER 1969 032170 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 1970 032171 321 07 0 00 032153 JUMPL AC-1,BOLAX1 ;LOOP ON ERROR SWITCH ^ 1971 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 20 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0060 1972 1973 ;TEST ORCB (INCLUSIVE OR THE COMPLEMENT OF AC AND C(E)) 1974 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 1975 1976 000001 AC=1 1977 032172 BOLOB: SETUP 140,0^ 1978 000002 AC1=&17 1979 000003 AC2=&17 1980 000004 AC3=&17 1981 000005 AC4=&17 1982 000006 AC5=&17 1983 000017 RAN1=&17 1984 032172 201 00 0 00 032172 MOVEI AC-1,. 1985 032173 202 00 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 1986 032174 201 00 0 00 000000 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 1987 032175 202 00 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 1988 032176 201 00 0 00 000140 MOVEI AC-1,140 ;ROUTINE WEIGHTING 1989 032177 240 00 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 1990 032200 240 00 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 1991 RANDOM^ 1992 032201 200 01 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 1993 032202 270 01 0 00 037562 ADD AC,[142536475076] 1994 032203 241 01 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 1995 032204 447 01 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 1996 032205 470 01 0 00 037667 BOLOB1: ORCB AC,RAN ;PRODUCE COMP OF RAN 1997 032206 470 01 0 00 037565 ORCB AC,[-1] ;COMP AC 1998 032207 312 01 0 00 037667 CAME AC,RAN ;CHECK ORCB 1999 032210 004 01 0 00 037667 ERROR AC,RAN 2000 032211 470 01 0 00 037565 ORCB AC,[-1] ;COMP AC 2001 032212 470 01 0 00 037667 ORCB AC,RAN ;ANY TWO COMPLEMENTED NUMBERS 2002 032213 312 01 0 00 037565 CAME AC,[-1] ;SHOULD PRODUCE ALL ONES 2003 032214 004 01 0 00 037565 ERROR AC,[-1] 2004 032215 470 01 0 00 037563 ORCB AC,[0] ;AC COMPLEMENTS TO 0 2005 032216 312 01 0 00 037565 CAME AC,[-1] 2006 032217 004 01 0 00 037565 ERROR AC,[-1] ;ORCB FAILED 2007 LOOP BOLOB1-4,BOLOB1^ 2008 032220 367 00 0 00 032201 SOJG AC-1,BOLOB1-4 ;ITERATION COUNTER 2009 032221 200 01 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2010 032222 321 00 0 00 032205 JUMPL AC-1,BOLOB1 ;LOOP ON ERROR SWITCH ^ 2011 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 21 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0061 2012 2013 ;TEST ANDCB (AND WITH BOTH OPERANDS COMPLEMENTED) 2014 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2015 2016 000002 AC=2 2017 032223 BOLAB: SETUP 140,0^ 2018 000003 AC1=&17 2019 000004 AC2=&17 2020 000005 AC3=&17 2021 000006 AC4=&17 2022 000007 AC5=&17 2023 000000 RAN1=&17 2024 032223 201 01 0 00 032223 MOVEI AC-1,. 2025 032224 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2026 032225 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2027 032226 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2028 032227 201 01 0 00 000140 MOVEI AC-1,140 ;ROUTINE WEIGHTING 2029 032230 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 2030 032231 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2031 RANDOM^ 2032 032232 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2033 032233 270 02 0 00 037562 ADD AC,[142536475076] 2034 032234 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2035 032235 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2036 032236 440 02 0 00 037667 BOLAB1: ANDCB AC,RAN ;PRODUCE COMP OF RAN 2037 032237 440 02 0 00 037563 ANDCB AC,[0] ;COMP AC 2038 032240 312 02 0 00 037667 CAME AC,RAN ;CHECK FOR ORIGIONAL NUMBER 2039 032241 004 02 0 00 037667 ERROR AC,RAN ;ANDCB FAILED 2040 032242 440 02 0 00 037563 ANDCB AC,[0] ;COMPLEMENT AC 2041 032243 440 02 0 00 037563 ANDCB AC,[0] ;RECOMPLEMENT AC 2042 032244 312 02 0 00 037667 CAME AC,RAN ;SHOULD PRODUCE ORIGIONAL 2043 032245 004 02 0 00 037667 ERROR AC,RAN ;ANDCB FAILED 2044 032246 440 02 0 00 037565 ANDCB AC,[-1] ;RESULT SHOULD BE 0 IF 2045 032247 312 02 0 00 037563 CAME AC,[0] ;CONTENTS OF E 2046 032250 004 02 0 00 037563 ERROR AC,[0] ;CONTAINS NO BITS AFTER COMP 2047 032251 440 02 0 00 037667 ANDCB AC,RAN ;AC SHOULD EQUAL COMP OF RAN 2048 032252 440 02 0 00 037563 ANDCB AC,[0] ;COMP AC 2049 032253 312 02 0 00 037667 CAME AC,RAN ;THE AND TO 0 2050 032254 004 02 0 00 037667 ERROR AC,RAN ;FAILED 2051 LOOP BOLAB1-3,BOLAB1^ 2052 032255 367 01 0 00 032233 SOJG AC-1,BOLAB1-3 ;ITERATION COUNTER 2053 032256 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2054 032257 321 01 0 00 032236 JUMPL AC-1,BOLAB1 ;LOOP ON ERROR SWITCH ^ 2055 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 22 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0062 2056 2057 ;TEST SETA (EFFECTIVELY A NO OPERATION IN THIS MODE) 2058 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2059 2060 000003 AC=3 2061 032260 BOLSA: SETUP 100,0^ 2062 000004 AC1=&17 2063 000005 AC2=&17 2064 000006 AC3=&17 2065 000007 AC4=&17 2066 000010 AC5=&17 2067 000001 RAN1=&17 2068 032260 201 02 0 00 032260 MOVEI AC-1,. 2069 032261 202 02 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2070 032262 201 02 0 00 000002 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2071 032263 202 02 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2072 032264 201 02 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 2073 032265 240 02 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 2074 032266 240 02 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2075 RANDOM^ 2076 032267 200 03 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2077 032270 270 03 0 00 037562 ADD AC,[142536475076] 2078 032271 241 03 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2079 032272 447 03 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2080 ;DO 7 SETA'S. 2081 BOLSA1: REPEAT 7,< 2082 SETA AC,.> 2083 2084 032273 424 03 0 00 032273 SETA AC,. 2085 2086 032274 424 03 0 00 032274 SETA AC,. 2087 2088 032275 424 03 0 00 032275 SETA AC,. 2089 2090 032276 424 03 0 00 032276 SETA AC,. 2091 2092 032277 424 03 0 00 032277 SETA AC,. 2093 2094 032300 424 03 0 00 032300 SETA AC,. 2095 2096 032301 424 03 0 00 032301 SETA AC,. 2097 032302 312 03 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = ORIG. C(AC) 2098 032303 004 03 0 00 037667 ERROR AC,RAN 2099 LOOP BOLSA1-3,BOLSA1^ 2100 032304 367 02 0 00 032270 SOJG AC-1,BOLSA1-3 ;ITERATION COUNTER 2101 032305 200 03 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2102 032306 321 02 0 00 032273 JUMPL AC-1,BOLSA1 ;LOOP ON ERROR SWITCH ^ 2103 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 23 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0063 2104 2105 ;TEST IORM, WHERE E IS AN AC. THE INST IS TESTED 2106 ;FOR NOT STORING IN AC AS WELL AS STORING PROPERLY 2107 ;IN E. 2108 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2109 2110 000011 AC=11 2111 032307 BMIOR: SETUP 100,1^ 2112 000012 AC1=&17 2113 000013 AC2=&17 2114 000014 AC3=&17 2115 000015 AC4=&17 2116 000016 AC5=&17 2117 000007 RAN1=&17 2118 032307 201 10 0 00 032307 MOVEI AC-1,. 2119 032310 202 10 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2120 032311 201 10 0 00 000010 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2121 032312 202 10 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2122 032313 201 10 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 2123 032314 240 10 1 00 030672 ASH AC-1,@CMPLXT+1 ;ROUTINE COMPLEXITY 2124 032315 240 10 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2125 032316 BMIOR1: RANDOM^ 2126 032316 200 11 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2127 032317 270 11 0 00 037562 ADD AC,[142536475076] 2128 032320 241 11 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2129 032321 447 11 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2130 032322 204 12 0 00 000011 BMIOR2: MOVS AC1,AC ;AC=C(E) ORIG 2131 032323 316 11 0 00 000012 CAMN AC,AC1 ;HALVES SAME? 2132 032324 254 00 0 00 032316 JRST BMIOR1 ;YES. REJECT. 2133 032325 460 00 0 00 000011 SETCM AC ;SIM AN 2134 032326 404 00 0 00 000012 AND AC1 ;IOR 2135 032327 430 00 0 00 000011 XOR AC ;INST 2136 032330 436 11 0 00 000012 IORM AC,AC1 ;RESULT TO AC1 2137 032331 316 11 0 00 000012 CAMN AC,AC1 ;BOTH SAME? 2138 032332 004 11 0 00 000012 ERROR AC,AC1 ;YES. STORED IN AC. 2139 032333 312 12 0 00 000000 CAME AC1,0 ;C(E) = SIM. ANS? 2140 032334 004 11 0 00 000000 ERROR AC,0 ;NO. IORM FAILED. 2141 LOOP BMIOR1,BMIOR2^ 2142 032335 367 10 0 00 032316 SOJG AC-1,BMIOR1 ;ITERATION COUNTER 2143 032336 200 11 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2144 032337 321 10 0 00 032322 JUMPL AC-1,BMIOR2 ;LOOP ON ERROR SWITCH ^ 2145 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 24 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0064 2146 2147 ;TEST ORCAM, WHERE E IS AN AC. THE INSTRUCTION IS TESTED 2148 ;FOR NOT STORING IN AC AS WELL AS STORING PROPERLY IN C(E). 2149 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2150 2151 000012 AC=12 2152 032340 BMICA: SETUP 100,1^ 2153 000013 AC1=&17 2154 000014 AC2=&17 2155 000015 AC3=&17 2156 000016 AC4=&17 2157 000017 AC5=&17 2158 000010 RAN1=&17 2159 032340 201 11 0 00 032340 MOVEI AC-1,. 2160 032341 202 11 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2161 032342 201 11 0 00 000011 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2162 032343 202 11 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2163 032344 201 11 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 2164 032345 240 11 1 00 030672 ASH AC-1,@CMPLXT+1 ;ROUTINE COMPLEXITY 2165 032346 240 11 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2166 032347 BMICA1: RANDOM^ 2167 032347 200 12 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2168 032350 270 12 0 00 037562 ADD AC,[142536475076] 2169 032351 241 12 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2170 032352 447 12 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2171 032353 204 13 0 00 000012 BMICA2: MOVS AC1,AC ;SECOND RANDOM NUMBER 2172 032354 460 14 0 00 000013 SETCM AC2,AC1 ;MOVE COMPLEMENT OF NUMBER 2173 032355 460 00 0 00 000012 SETCM AC ;SIMULATE 2174 032356 404 00 0 00 000014 AND AC2 ;THE INSTRUCTION 2175 032357 430 00 0 00 000012 XOR AC ;IN AC0. 2176 032360 456 13 0 00 000012 ORCAM AC1,AC ;RESULT TO C(E) 2177 032361 316 13 0 00 000012 CAMN AC1,AC ;EQUAL? 2178 032362 004 13 0 00 000012 ERROR AC1,AC ;YES. STORED IN AC. 2179 032363 312 12 0 00 000000 CAME AC,0 ;C(E) = SIM. ANS? 2180 032364 004 12 0 00 000000 ERROR AC,0 ;NO. ORCAM FAILED. 2181 LOOP BMICA1,BMICA2^ 2182 032365 367 11 0 00 032347 SOJG AC-1,BMICA1 ;ITERATION COUNTER 2183 032366 200 12 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2184 032367 321 11 0 00 032353 JUMPL AC-1,BMICA2 ;LOOP ON ERROR SWITCH ^ 2185 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 25 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0065 2186 2187 ;TEST ORCMM, WHERE E IS AN AC. THE INSTRUCTION 2188 ;IS TESTED FOR NOT STORING IN AC AS WELL AS THE 2189 ;CORRECT ANSWER IN C(E). 2190 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2191 2192 000013 AC=13 2193 032370 BMICM: SETUP 100,0^ 2194 000014 AC1=&17 2195 000015 AC2=&17 2196 000016 AC3=&17 2197 000017 AC4=&17 2198 000000 AC5=&17 2199 000011 RAN1=&17 2200 032370 201 12 0 00 032370 MOVEI AC-1,. 2201 032371 202 12 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2202 032372 201 12 0 00 000012 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2203 032373 202 12 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2204 032374 201 12 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 2205 032375 240 12 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 2206 032376 240 12 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2207 032377 BMICM1: RANDOM^ 2208 032377 200 13 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2209 032400 270 13 0 00 037562 ADD AC,[142536475076] 2210 032401 241 13 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2211 032402 447 13 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2212 032403 204 14 0 00 000013 BMICM2: MOVS AC1,AC ;SECOND RANDOM NUMBER 2213 032404 460 15 0 00 000013 SETCM AC2,AC ;SIMULATE 2214 032405 460 00 0 00 000014 SETCM AC1 ;THE 2215 032406 404 00 0 00 000015 AND AC2 ;INSTRUCTION 2216 032407 430 00 0 00 000014 XOR AC1 ;IN AC0 2217 032410 316 00 0 00 000014 CAMN 0,AC1 ;IS SIMULATED ANS 2218 032411 254 00 0 00 032377 JRST BMICM1 ;= C(AC)?...REJECT. 2219 032412 466 14 0 00 000013 ORCMM AC1,AC ;IF AC1 = AC, STORE INHIBIT 2220 032413 316 14 0 00 000013 CAMN AC1,AC 2221 032414 004 14 0 00 000013 ERROR AC1,AC ;FAILED. 2222 032415 312 13 0 00 000000 CAME AC,0 ;C(E) SHOULD = SIM. ANS. 2223 032416 004 13 0 00 000000 ERROR AC,0 ;ORCMM FAILED. 2224 LOOP BMICM1,BMICM2^ 2225 032417 367 12 0 00 032377 SOJG AC-1,BMICM1 ;ITERATION COUNTER 2226 032420 200 13 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2227 032421 321 12 0 00 032403 JUMPL AC-1,BMICM2 ;LOOP ON ERROR SWITCH ^ 2228 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 26 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0066 2229 2230 ;TEST ORCBM, WHERE E IS AN AC. THE INSTRUCTION 2231 ;IS TESTED FOR NOT STORING IN AC AS WELL AS THE 2232 ;CORRECT ANSWER IN C(E). 2233 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2234 2235 000014 AC=14 2236 032422 BMICB: SETUP 200,0^ 2237 000015 AC1=&17 2238 000016 AC2=&17 2239 000017 AC3=&17 2240 000000 AC4=&17 2241 000001 AC5=&17 2242 000012 RAN1=&17 2243 032422 201 13 0 00 032422 MOVEI AC-1,. 2244 032423 202 13 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2245 032424 201 13 0 00 000013 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2246 032425 202 13 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2247 032426 201 13 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 2248 032427 240 13 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 2249 032430 240 13 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2250 032431 BMICB1: RANDOM^ 2251 032431 200 14 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2252 032432 270 14 0 00 037562 ADD AC,[142536475076] 2253 032433 241 14 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2254 032434 447 14 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2255 032435 204 15 0 00 000014 BMICB2: MOVS AC1,AC ;AC1= 0101,0011 2256 032436 460 16 0 00 000014 SETCM AC2,AC ;AC2= 1100,1010 2257 032437 460 00 0 00 000016 SETCM AC2 ;AC0 = 0011,0101 2258 032440 420 00 0 00 000015 ANDCM AC1 ;AC0 = 0010,0100 2259 032441 430 00 0 00 000016 XOR AC2 ;AC0 = 1110,1110 2260 032442 472 15 0 00 000014 ORCBM AC1,AC ;SHOULD PRODUCE SAME LOGIC 2261 032443 316 15 0 00 000014 CAMN AC1,AC ;EQUAL? 2262 032444 004 15 0 00 000014 ERROR AC1,AC ;YES. INHIBIT STORE AC FAILED. 2263 032445 312 14 0 00 000000 CAME AC,0 ;C(E) SHOULD = SIM. ANS. 2264 032446 004 14 0 00 000000 ERROR AC,0 ;ORCBM FAILED. 2265 LOOP BMICB1,BMICB2^ 2266 032447 367 13 0 00 032431 SOJG AC-1,BMICB1 ;ITERATION COUNTER 2267 032450 200 14 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2268 032451 321 13 0 00 032435 JUMPL AC-1,BMICB2 ;LOOP ON ERROR SWITCH ^ 2269 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 27 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0067 2270 2271 ;TEST XORM, WHERE E IS AN AC. THE INSTRUCTION IS 2272 ;TESTED FOR NOT STORING AC AS WELL AS CONTENTS 2273 ;OF E CORRECTNESS. 2274 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2275 2276 000010 AC=10 2277 032452 BMX: SETUP 200,1^ 2278 000011 AC1=&17 2279 000012 AC2=&17 2280 000013 AC3=&17 2281 000014 AC4=&17 2282 000015 AC5=&17 2283 000006 RAN1=&17 2284 032452 201 07 0 00 032452 MOVEI AC-1,. 2285 032453 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2286 032454 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2287 032455 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2288 032456 201 07 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 2289 032457 240 07 1 00 030672 ASH AC-1,@CMPLXT+1 ;ROUTINE COMPLEXITY 2290 032460 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2291 032461 BMX1: RANDOM^ 2292 032461 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2293 032462 270 10 0 00 037562 ADD AC,[142536475076] 2294 032463 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2295 032464 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2296 032465 322 10 0 00 032461 BMX2: JUMPE AC,BMX1 ;REJECT IF RAN = 0. 2297 032466 204 11 0 00 000010 MOVS AC1,AC ;SECOND RANDOM NUMBER. 2298 032467 460 00 0 00 000010 SETCM AC 2299 032470 410 00 0 00 000011 ANDCA AC1 ;PERFORM 2300 032471 200 12 0 00 000010 MOVE AC2,AC ;A PSEUDO 2301 032472 434 12 0 00 000011 IOR AC2,AC1 ;EXCLUSIVE 2302 032473 410 00 0 00 000012 ANDCA AC2 ;OR INSTRUCTION 2303 032474 432 11 0 00 000010 XORM AC1,AC ;DO THE XOR 2304 032475 316 11 0 00 000010 CAMN AC1,AC ;EQUAL? 2305 032476 004 11 0 00 000010 ERROR AC1,AC ;YES. INHIBIT STORE AC FAILED. 2306 032477 312 10 0 00 000000 CAME AC,0 ;C(E) SHOULD = SIM. ANS. 2307 032500 004 10 0 00 000000 ERROR AC,0 ;XORM FAILED. 2308 LOOP BMX1,BMX2^ 2309 032501 367 07 0 00 032461 SOJG AC-1,BMX1 ;ITERATION COUNTER 2310 032502 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2311 032503 321 07 0 00 032465 JUMPL AC-1,BMX2 ;LOOP ON ERROR SWITCH ^ 2312 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 28 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0068 2313 2314 ;TEST EQVM, WHERE E IS AN AC. THE INSTRUCTION 2315 ;IS TESTED FOR NOT STORING AC AS WELL AS 2316 ;CORRECTNESS OF C(E). 2317 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2318 2319 000010 AC=10 2320 032504 BMEQ: SETUP 100,0^ 2321 000011 AC1=&17 2322 000012 AC2=&17 2323 000013 AC3=&17 2324 000014 AC4=&17 2325 000015 AC5=&17 2326 000006 RAN1=&17 2327 032504 201 07 0 00 032504 MOVEI AC-1,. 2328 032505 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2329 032506 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2330 032507 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2331 032510 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 2332 032511 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 2333 032512 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2334 032513 BMEQ1: RANDOM^ 2335 032513 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2336 032514 270 10 0 00 037562 ADD AC,[142536475076] 2337 032515 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2338 032516 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2339 032517 204 11 0 00 000010 BMEQ2: MOVS AC1,AC ;SECOND RANDOM NUMBER 2340 032520 460 00 0 00 000011 SETCM AC1 ;EQV IS SAME LOGIC 2341 032521 430 00 0 00 000010 XOR AC ;AS XOR WITH COMP AC 2342 032522 446 11 0 00 000010 EQVM AC1,AC ;EQV SETS ALL LIKE BITS 2343 032523 316 11 0 00 000010 CAMN AC1,AC ;EQUAL? 2344 032524 004 11 0 00 000010 ERROR AC1,AC ;YES. INHIBIT STORE AC FAILED. 2345 032525 312 10 0 00 000000 CAME AC,0 ;C(E) SHOULD = SIM. ANS. 2346 032526 004 10 0 00 000000 ERROR AC,0 ;EQVM FAILED. 2347 LOOP BMEQ1,BMEQ2^ 2348 032527 367 07 0 00 032513 SOJG AC-1,BMEQ1 ;ITERATION COUNTER 2349 032530 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2350 032531 321 07 0 00 032517 JUMPL AC-1,BMEQ2 ;LOOP ON ERROR SWITCH ^ 2351 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 29 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0069 2352 2353 2354 ;TEST ANDM, WHERE E IS AN AC. THE INSTRUCTION IS 2355 ;TESTED FOR NOT STORING IN AC AS WELL AS STORING 2356 ;PROPERLY IN C(E). 2357 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2358 2359 000003 AC=3 2360 032532 BMAN: SETUP 100,0^ 2361 000004 AC1=&17 2362 000005 AC2=&17 2363 000006 AC3=&17 2364 000007 AC4=&17 2365 000010 AC5=&17 2366 000001 RAN1=&17 2367 032532 201 02 0 00 032532 MOVEI AC-1,. 2368 032533 202 02 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2369 032534 201 02 0 00 000002 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2370 032535 202 02 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2371 032536 201 02 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 2372 032537 240 02 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 2373 032540 240 02 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2374 032541 BMAN1: RANDOM^ 2375 032541 200 03 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2376 032542 270 03 0 00 037562 ADD AC,[142536475076] 2377 032543 241 03 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2378 032544 447 03 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2379 032545 204 04 0 00 000003 BMAN2: MOVS AC1,AC ;SECOND RANDOM NUMBER 2380 032546 200 00 0 00 000003 MOVE AC ;SIMULATE 2381 032547 434 00 0 00 000004 IOR AC1 ;AN "AND" 2382 032550 430 00 0 00 000004 XOR AC1 ;INSTRUCTION. 2383 032551 430 00 0 00 000003 XOR AC ;IN AC0 2384 032552 316 04 0 00 000003 CAMN AC1,AC ;REJECT THE NUMBER 2385 032553 254 00 0 00 032541 JRST BMAN1 ;IF EQUAL. 2386 032554 406 04 0 00 000003 ANDM AC1,AC ;THE INSTRUCTION 2387 032555 316 04 0 00 000003 CAMN AC1,AC ;EQUAL? 2388 032556 004 04 0 00 000003 ERROR AC1,AC ;YES. INHIBIT STORE AC FAILED. 2389 032557 312 03 0 00 000000 CAME AC,0 ;C(E) SHOULD = SIM. ANS. 2390 032560 004 03 0 00 000000 ERROR AC,0 ;AND FAILED. 2391 LOOP BMAN1,BMAN2^ 2392 032561 367 02 0 00 032541 SOJG AC-1,BMAN1 ;ITERATION COUNTER 2393 032562 200 03 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2394 032563 321 02 0 00 032545 JUMPL AC-1,BMAN2 ;LOOP ON ERROR SWITCH ^ 2395 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 30 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0070 2396 2397 2398 ;TEST ANDCAM, WHERE E IS AN AC. THE INSTRUCTION IS 2399 ;TESTED FOR NOT STORING IN AN AC AS WELL AS 2400 ;STORING C(E) PROPERLY. 2401 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2402 2403 000004 AC=4 2404 032564 BMACA: SETUP 100,0^ 2405 000005 AC1=&17 2406 000006 AC2=&17 2407 000007 AC3=&17 2408 000010 AC4=&17 2409 000011 AC5=&17 2410 000002 RAN1=&17 2411 032564 201 03 0 00 032564 MOVEI AC-1,. 2412 032565 202 03 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2413 032566 201 03 0 00 000003 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2414 032567 202 03 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2415 032570 201 03 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 2416 032571 240 03 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 2417 032572 240 03 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2418 032573 BMACA1: RANDOM^ 2419 032573 200 04 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2420 032574 270 04 0 00 037562 ADD AC,[142536475076] 2421 032575 241 04 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2422 032576 447 04 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2423 032577 322 04 0 00 032573 BMACA2: JUMPE AC,BMACA1 ;REJECT IF RAN = 0. 2424 032600 204 05 0 00 000004 MOVS AC1,AC ;SECOND RANDOM NUMBER 2425 032601 414 00 0 00 000004 SETM AC ;SIMULATE 2426 032602 454 00 0 00 000005 ORCA AC1 ;ANDCA 2427 032603 450 00 0 00 000000 SETCA ;LOGIC 2428 032604 412 05 0 00 000004 ANDCAM AC1,AC ;THE INSTRUCTION 2429 032605 316 05 0 00 000004 CAMN AC1,AC ;EQUAL? 2430 032606 004 05 0 00 000004 ERROR AC1,AC ;YES. INHIBIT STORE AC FAILED. 2431 032607 312 04 0 00 000000 CAME AC,0 ;C(E) SHOULD = SIM. ANS. 2432 032610 004 04 0 00 000000 ERROR AC,0 ;ANDCA FAILED. 2433 LOOP BMACA1,BMACA2^ 2434 032611 367 03 0 00 032573 SOJG AC-1,BMACA1 ;ITERATION COUNTER 2435 032612 200 04 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2436 032613 321 03 0 00 032577 JUMPL AC-1,BMACA2 ;LOOP ON ERROR SWITCH ^ 2437 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 31 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0071 2438 2439 ;TEST ANDCMM, WHERE E IS AN AC. THE INSTRUCTION IS 2440 ;TESTED FOR NOT STORING IN AN AC AS WELL AS 2441 ;STORING C(E) PROPERLY. 2442 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2443 2444 000005 AC=5 2445 032614 BMACM: SETUP 100,0^ 2446 000006 AC1=&17 2447 000007 AC2=&17 2448 000010 AC3=&17 2449 000011 AC4=&17 2450 000012 AC5=&17 2451 000003 RAN1=&17 2452 032614 201 04 0 00 032614 MOVEI AC-1,. 2453 032615 202 04 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2454 032616 201 04 0 00 000004 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2455 032617 202 04 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2456 032620 201 04 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 2457 032621 240 04 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 2458 032622 240 04 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2459 032623 BMACM1: RANDOM^ 2460 032623 200 05 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2461 032624 270 05 0 00 037562 ADD AC,[142536475076] 2462 032625 241 05 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2463 032626 447 05 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2464 032627 322 05 0 00 032623 BMACM2: JUMPE AC,BMACM1 ;REJECT IF RAN = 0. 2465 032630 204 06 0 00 000005 MOVS AC1,AC ;SECOND RANDOM NUMBER 2466 032631 426 06 0 00 000000 SETAM AC1,0 ;AC1 TO AC0. 2467 032632 434 00 0 00 000005 IOR AC ;SIMULATE 2468 032633 430 00 0 00 000005 XOR AC ;THE INSTUCTION 2469 032634 316 00 0 00 000006 CAMN 0,AC1 ;SIM ANS = C(AC)? 2470 032635 254 00 0 00 032623 JRST BMACM1 ;YES. REJECT. 2471 032636 422 06 0 00 000005 ANDCMM AC1,AC ;DO AN ANDCMM INSTRUCTION. 2472 032637 316 06 0 00 000005 CAMN AC1,AC ;EQUAL? 2473 032640 004 06 0 00 000005 ERROR AC1,AC ;YES. INHIBIT STORE AC FAILED. 2474 032641 312 05 0 00 000000 CAME AC,0 ;C(E) SHOULD = SIM. ANS. 2475 032642 004 05 0 00 000000 ERROR AC,0 ;ANDCMM FAILED. 2476 LOOP BMACM1,BMACM2^ 2477 032643 367 04 0 00 032623 SOJG AC-1,BMACM1 ;ITERATION COUNTER 2478 032644 200 05 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2479 032645 321 04 0 00 032627 JUMPL AC-1,BMACM2 ;LOOP ON ERROR SWITCH ^ 2480 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 32 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0072 2481 2482 ;TEST ANDCBM, WHERE E IS AN AC. THE INSTRUCTION 2483 ;IS TESTED FOR NOT STORING IN AC AS WELL AS STORING 2484 ;PROPERLY IN C(E). 2485 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2486 2487 000007 AC=7 2488 032646 BMACB: SETUP 100,0^ 2489 000010 AC1=&17 2490 000011 AC2=&17 2491 000012 AC3=&17 2492 000013 AC4=&17 2493 000014 AC5=&17 2494 000005 RAN1=&17 2495 032646 201 06 0 00 032646 MOVEI AC-1,. 2496 032647 202 06 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2497 032650 201 06 0 00 000006 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2498 032651 202 06 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2499 032652 201 06 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 2500 032653 240 06 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 2501 032654 240 06 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2502 032655 BMACB1: RANDOM^ 2503 032655 200 07 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2504 032656 270 07 0 00 037562 ADD AC,[142536475076] 2505 032657 241 07 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2506 032660 447 07 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2507 032661 204 10 0 00 000007 BMACB2: MOVS AC1,AC ;SECOND RANDOM NUMBER. 2508 032662 460 00 0 00 000010 SETCM AC1 ;SIMULATE 2509 032663 460 01 0 00 000007 SETCM 1,AC ;AN 2510 032664 404 00 0 00 000001 AND 1 ;ANDCBM INST. 2511 032665 442 10 0 00 000007 ANDCBM AC1,AC ;DO AN ANDCBM. 2512 032666 316 10 0 00 000007 CAMN AC1,AC ;EQUAL? 2513 032667 004 10 0 00 000007 ERROR AC1,AC ;YES. INHIBIT STORE AC FAILED. 2514 032670 312 07 0 00 000000 CAME AC,0 ;C(E) SHOULD = SIM. ANS. 2515 032671 004 07 0 00 000000 ERROR AC,0 ;ANDCBM FAILED. 2516 LOOP BMACB1,BMACB2^ 2517 032672 367 06 0 00 032655 SOJG AC-1,BMACB1 ;ITERATION COUNTER 2518 032673 200 07 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2519 032674 321 06 0 00 032661 JUMPL AC-1,BMACB2 ;LOOP ON ERROR SWITCH ^ 2520 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 33 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0073 2521 2522 ;TEST SETCAM, WHERE E IS AN AC. THE INSTRUCTION 2523 ;IS TESTED FOR NOT STORING IN AC AS WELL AS 2524 ;PROPER C(E). 2525 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2526 2527 000010 AC=10 2528 032675 BMCMM: SETUP 200,0^ 2529 000011 AC1=&17 2530 000012 AC2=&17 2531 000013 AC3=&17 2532 000014 AC4=&17 2533 000015 AC5=&17 2534 000006 RAN1=&17 2535 032675 201 07 0 00 032675 MOVEI AC-1,. 2536 032676 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2537 032677 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2538 032700 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2539 032701 201 07 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 2540 032702 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 2541 032703 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2542 032704 BMCMM1: RANDOM^ 2543 032704 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2544 032705 270 10 0 00 037562 ADD AC,[142536475076] 2545 032706 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2546 032707 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2547 032710 204 11 0 00 000010 BMCMM2: MOVS AC1,AC ;CHECK FOR NO CHANGE 2548 032711 316 11 0 00 000010 CAMN AC1,AC ;IN 8 COMPLEMENTS 2549 032712 254 00 0 00 032704 JRST BMCMM1 ;REJECT IF HALF SAME. 2550 2551 REPEAT 10,< 2552 SETCMM AC1,AC> 2553 2554 032713 462 11 0 00 000010 SETCMM AC1,AC 2555 2556 032714 462 11 0 00 000010 SETCMM AC1,AC 2557 2558 032715 462 11 0 00 000010 SETCMM AC1,AC 2559 2560 032716 462 11 0 00 000010 SETCMM AC1,AC 2561 2562 032717 462 11 0 00 000010 SETCMM AC1,AC 2563 2564 032720 462 11 0 00 000010 SETCMM AC1,AC 2565 2566 032721 462 11 0 00 000010 SETCMM AC1,AC 2567 2568 032722 462 11 0 00 000010 SETCMM AC1,AC 2569 032723 316 11 0 00 000010 CAMN AC1,AC ;EQUAL? 2570 032724 004 11 0 00 000010 ERROR AC1,AC ;YES. INHIBIT STORE AC FAILED. 2571 032725 312 10 0 00 037667 CAME AC,RAN ;C(E) SHOULD = ORIG. C(E). 2572 032726 004 10 0 00 037667 ERROR AC,RAN ;SETCMM FAILED. 2573 LOOP BMCMM1,BMCMM2^ 2574 032727 367 07 0 00 032704 SOJG AC-1,BMCMM1 ;ITERATION COUNTER 2575 032730 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 33-1 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0074 2576 032731 321 07 0 00 032710 JUMPL AC-1,BMCMM2 ;LOOP ON ERROR SWITCH ^ 2577 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 34 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0075 2578 2579 ;TEST SETCAM, WHERE E IS AN AC. TEST FOR NOT 2580 ;STORING IN AC AS WELL AS PROPER STORAGE IN C(E). 2581 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2582 2583 000011 AC=11 2584 032732 BMCAM: SETUP 100,0^ 2585 000012 AC1=&17 2586 000013 AC2=&17 2587 000014 AC3=&17 2588 000015 AC4=&17 2589 000016 AC5=&17 2590 000007 RAN1=&17 2591 032732 201 10 0 00 032732 MOVEI AC-1,. 2592 032733 202 10 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2593 032734 201 10 0 00 000010 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2594 032735 202 10 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2595 032736 201 10 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 2596 032737 240 10 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 2597 032740 240 10 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2598 032741 BMCAM1: RANDOM^ 2599 032741 200 11 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2600 032742 270 11 0 00 037562 ADD AC,[142536475076] 2601 032743 241 11 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2602 032744 447 11 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2603 032745 204 12 0 00 000011 BMCAM2: MOVS AC1,AC ;SECOND RANDOM NUMBER. 2604 032746 460 00 0 00 000012 SETCM AC1 ;SIMULATE SETCAM. 2605 032747 452 12 0 00 000011 SETCAM AC1,AC ;DO SETCAM. 2606 032750 316 12 0 00 000011 CAMN AC1,AC ;EQUAL? 2607 032751 004 12 0 00 000011 ERROR AC1,AC ;YES. INHIBIT STORE AC FAILED. 2608 032752 312 11 0 00 000000 CAME AC,0 ;C(E) SHOULD = SIM. ANS. 2609 032753 004 11 0 00 000000 ERROR AC,0 ;SETCAM FAILED. 2610 LOOP BMCAM1,BMACM2^ 2611 032754 367 10 0 00 032741 SOJG AC-1,BMCAM1 ;ITERATION COUNTER 2612 032755 200 11 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2613 032756 321 10 0 00 032627 JUMPL AC-1,BMACM2 ;LOOP ON ERROR SWITCH ^ 2614 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 35 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0076 2615 2616 ;TEST SETAM, WHERE E IS AN AC. 2617 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2618 2619 000010 AC=10 2620 032757 BMSA: SETUP 100,0^ 2621 000011 AC1=&17 2622 000012 AC2=&17 2623 000013 AC3=&17 2624 000014 AC4=&17 2625 000015 AC5=&17 2626 000006 RAN1=&17 2627 032757 201 07 0 00 032757 MOVEI AC-1,. 2628 032760 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2629 032761 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2630 032762 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2631 032763 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 2632 032764 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 2633 032765 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2634 032766 BMSA1: RANDOM^ 2635 032766 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2636 032767 270 10 0 00 037562 ADD AC,[142536475076] 2637 032770 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2638 032771 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2639 032772 204 11 0 00 000010 BMSA2: MOVS AC1,AC ;SECOND RANDOM NUMBER 2640 032773 316 11 0 00 000010 CAMN AC1,AC 2641 032774 254 00 0 00 032766 JRST BMSA1 ;REJECT IF SAME. 2642 032775 426 10 0 00 000011 SETAM AC,AC1 ;C(AC) TO C(AC1) 2643 032776 312 10 0 00 000011 CAME AC,AC1 ;EQUAL? 2644 032777 004 10 0 00 000011 ERROR AC,AC1 ;NO. 2645 033000 312 11 0 00 037667 CAME AC1,RAN ;C(E) SHOULD = ORIG C(AC). 2646 033001 004 11 0 00 037667 ERROR AC1,RAN ;SETAM FAILED. 2647 LOOP BMSA1,BMSA2^ 2648 033002 367 07 0 00 032766 SOJG AC-1,BMSA1 ;ITERATION COUNTER 2649 033003 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2650 033004 321 07 0 00 032772 JUMPL AC-1,BMSA2 ;LOOP ON ERROR SWITCH ^ 2651 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 36 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0077 2652 2653 ;TEST SETOM, WHERE E IS AN AC. 2654 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2655 2656 000010 AC=10 2657 033005 BMSM: SETUP 100,0^ 2658 000011 AC1=&17 2659 000012 AC2=&17 2660 000013 AC3=&17 2661 000014 AC4=&17 2662 000015 AC5=&17 2663 000006 RAN1=&17 2664 033005 201 07 0 00 033005 MOVEI AC-1,. 2665 033006 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2666 033007 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2667 033010 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2668 033011 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 2669 033012 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 2670 033013 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2671 033014 BMSM1: RANDOM^ 2672 033014 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2673 033015 270 10 0 00 037562 ADD AC,[142536475076] 2674 033016 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2675 033017 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2676 033020 204 11 0 00 000010 BMSM2: MOVS AC1,AC ;SECOND RANDOM NUMBER 2677 033021 476 11 0 00 000010 SETOM AC1,AC ;DO SETOM INST. 2678 033022 316 11 0 00 000010 CAMN AC1,AC ;EQUAL? 2679 033023 004 11 0 00 000010 ERROR AC1,AC ;YES. INHIBIT STORE AC FAILED. 2680 033024 312 10 0 00 037565 CAME AC,[-1] ;C(E) SHOULD = A -1. 2681 033025 004 10 0 00 037565 ERROR AC,[-1] ;SETOM FAILED. 2682 LOOP BMSM1,BMSM2^ 2683 033026 367 07 0 00 033014 SOJG AC-1,BMSM1 ;ITERATION COUNTER 2684 033027 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2685 033030 321 07 0 00 033020 JUMPL AC-1,BMSM2 ;LOOP ON ERROR SWITCH ^ 2686 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 37 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0078 2687 2688 ;TEST SETMM, WHERE E IS AN AC. 2689 ;ERRORS ARE IN THE FORM (PC, AC,C(AC),CORRECT) 2690 2691 000010 AC=10 2692 033031 BMSMM: SETUP 100,0^ 2693 000011 AC1=&17 2694 000012 AC2=&17 2695 000013 AC3=&17 2696 000014 AC4=&17 2697 000015 AC5=&17 2698 000006 RAN1=&17 2699 033031 201 07 0 00 033031 MOVEI AC-1,. 2700 033032 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2701 033033 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2702 033034 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2703 033035 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 2704 033036 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 2705 033037 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2706 033040 BMSMM1: RANDOM^ 2707 033040 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2708 033041 270 10 0 00 037562 ADD AC,[142536475076] 2709 033042 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2710 033043 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2711 033044 204 11 0 00 000010 BMSMM2: MOVS AC1,AC ;A SECOND RANDOM NUMBER 2712 033045 316 10 0 00 000011 CAMN AC,AC1 ;REJECT IF 2713 033046 254 00 0 00 033040 JRST BMSMM1 ;HALF SAME 2714 ;DO 8 SETMM...SHOULD NOT CHANGE C(E). 2715 REPEAT 10,< 2716 SETMM AC1,AC> 2717 2718 033047 416 11 0 00 000010 SETMM AC1,AC 2719 2720 033050 416 11 0 00 000010 SETMM AC1,AC 2721 2722 033051 416 11 0 00 000010 SETMM AC1,AC 2723 2724 033052 416 11 0 00 000010 SETMM AC1,AC 2725 2726 033053 416 11 0 00 000010 SETMM AC1,AC 2727 2728 033054 416 11 0 00 000010 SETMM AC1,AC 2729 2730 033055 416 11 0 00 000010 SETMM AC1,AC 2731 2732 033056 416 11 0 00 000010 SETMM AC1,AC 2733 033057 316 11 0 00 000010 CAMN AC1,AC ;EQUAL? 2734 033060 004 11 0 00 000010 ERROR AC1,AC ;YES. INHIBIT STORE AC FAILED. 2735 033061 312 10 0 00 037667 CAME AC,RAN ;C(E) SHOULD = ORIG. C(E). 2736 033062 004 10 0 00 037667 ERROR AC,RAN ;SETMM FAILED. 2737 LOOP BMSMM1,BMSMM2^ 2738 033063 367 07 0 00 033040 SOJG AC-1,BMSMM1 ;ITERATION COUNTER 2739 033064 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2740 033065 321 07 0 00 033044 JUMPL AC-1,BMSMM2 ;LOOP ON ERROR SWITCH ^ 2741 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 38 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0079 2742 2743 ;TEST SETZM, WHERE E IS AN AC. TESTS FOR NOT STORING 2744 ;IN AC AS WELL AS STORING IN C(E) PROPERLY. 2745 2746 000010 AC=10 2747 033066 SETZM1: SETUP 40,0^ 2748 000011 AC1=&17 2749 000012 AC2=&17 2750 000013 AC3=&17 2751 000014 AC4=&17 2752 000015 AC5=&17 2753 000006 RAN1=&17 2754 033066 201 07 0 00 033066 MOVEI AC-1,. 2755 033067 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2756 033070 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2757 033071 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2758 033072 201 07 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 2759 033073 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 2760 033074 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2761 033075 SETZM2: RANDOM^ 2762 033075 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2763 033076 270 10 0 00 037562 ADD AC,[142536475076] 2764 033077 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2765 033100 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2766 033101 322 10 0 00 033075 SETZM3: JUMPE AC,SETZM2 ;REJECT IF C(AC) = 0. 2767 033102 477 11 0 00 000006 SETOB AC1,RAN1 ;SET C(AC) TO ALL ONES. 2768 033103 402 11 0 00 000010 SETZM AC1,AC ;DO SETZM 2769 033104 312 10 0 00 037563 CAME AC,[0] ;DID AC GET CLEARED? 2770 033105 011 00 0 00 000006 EERR ,RAN1 ;NO. 2771 033106 312 11 0 00 037565 CAME AC1,[-1] ;DOES C(AC1) STILL = -1? 2772 033107 011 00 0 00 000006 EERR ,RAN1 ;NO. 2773 LOOP SETZM2,SETZM3^ 2774 033110 367 07 0 00 033075 SOJG AC-1,SETZM2 ;ITERATION COUNTER 2775 033111 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2776 033112 321 07 0 00 033101 JUMPL AC-1,SETZM3 ;LOOP ON ERROR SWITCH ^ 2777 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 39 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0080 2778 2779 ;TEST ROT LEFT 3X(2X18). CHECKING FOR AC1 NOT CHANGED 2780 ;AS WELL AS C(AC) BEING THE PROPER NUMBER. 2781 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2782 2783 000010 AC=10 2784 033113 ROTL2: SETUP 200,2^ 2785 000011 AC1=&17 2786 000012 AC2=&17 2787 000013 AC3=&17 2788 000014 AC4=&17 2789 000015 AC5=&17 2790 000006 RAN1=&17 2791 033113 201 07 0 00 033113 MOVEI AC-1,. 2792 033114 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2793 033115 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2794 033116 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2795 033117 201 07 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 2796 033120 240 07 1 00 030673 ASH AC-1,@CMPLXT+2 ;ROUTINE COMPLEXITY 2797 033121 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2798 033122 ROTL2A: RANDOM^ 2799 033122 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2800 033123 270 10 0 00 037562 ADD AC,[142536475076] 2801 033124 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2802 033125 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2803 033126 477 11 0 00 000006 ROTL2B: SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 2804 ;DO 6 X (ROT LEFT 18 PLACES). 2805 REPEAT 3,< 2806 ROT AC,22 2807 ROT AC,22> 2808 2809 033127 241 10 0 00 000022 ROT AC,22 2810 033130 241 10 0 00 000022 ROT AC,22 2811 2812 033131 241 10 0 00 000022 ROT AC,22 2813 033132 241 10 0 00 000022 ROT AC,22 2814 2815 033133 241 10 0 00 000022 ROT AC,22 2816 033134 241 10 0 00 000022 ROT AC,22 2817 033135 312 10 0 00 037667 CAME AC,RAN ;C(AC)SHOULD = C(AC) BEFORE ROT. 2818 033136 013 00 0 00 000022 EERRI ,22 2819 033137 312 11 0 00 037565 CAME AC1,[-1] ;AC1 SHOULD NOT HAVE CHANGED. 2820 033140 001 06 0 00 000022 ERR RAN1,22 2821 LOOP ROTL2A,ROTL2B^ 2822 033141 367 07 0 00 033122 SOJG AC-1,ROTL2A ;ITERATION COUNTER 2823 033142 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2824 033143 321 07 0 00 033126 JUMPL AC-1,ROTL2B ;LOOP ON ERROR SWITCH ^ 2825 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 40 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0081 2826 ;TEST ROT RIGHT 3X(2X18)..CHECKING FOR AC1 NOT 2827 ;CHANGED AS WELL AS C(AC) ENDING UP BEING 2828 ;THE SAME AS IT WAS BEFORE THE ROT. 2829 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2830 2831 000010 AC=10 2832 033144 ROTR2: SETUP 300,2^ 2833 000011 AC1=&17 2834 000012 AC2=&17 2835 000013 AC3=&17 2836 000014 AC4=&17 2837 000015 AC5=&17 2838 000006 RAN1=&17 2839 033144 201 07 0 00 033144 MOVEI AC-1,. 2840 033145 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2841 033146 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2842 033147 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2843 033150 201 07 0 00 000300 MOVEI AC-1,300 ;ROUTINE WEIGHTING 2844 033151 240 07 1 00 030673 ASH AC-1,@CMPLXT+2 ;ROUTINE COMPLEXITY 2845 033152 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2846 033153 ROTR2A: RANDOM^ 2847 033153 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2848 033154 270 10 0 00 037562 ADD AC,[142536475076] 2849 033155 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2850 033156 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2851 033157 477 11 0 00 000006 ROTR2B: SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 2852 ;DO 6 X (ROT RIGHT 18 PLACES). 2853 REPEAT 3,< 2854 ROT AC,-22 2855 ROT AC,-22> 2856 2857 033160 241 10 0 00 777756 ROT AC,-22 2858 033161 241 10 0 00 777756 ROT AC,-22 2859 2860 033162 241 10 0 00 777756 ROT AC,-22 2861 033163 241 10 0 00 777756 ROT AC,-22 2862 2863 033164 241 10 0 00 777756 ROT AC,-22 2864 033165 241 10 0 00 777756 ROT AC,-22 2865 033166 312 10 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = C(AC) BEFORE ROT. 2866 033167 011 00 0 00 777756 EERR ,-22 2867 033170 312 11 0 00 037565 CAME AC1,[-1] ;C(AC1) SHOULD STILL = -1. 2868 033171 003 06 0 00 777756 ERRI RAN1,-22 2869 LOOP ROTR2A,ROTR2B^ 2870 033172 367 07 0 00 033153 SOJG AC-1,ROTR2A ;ITERATION COUNTER 2871 033173 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2872 033174 321 07 0 00 033157 JUMPL AC-1,ROTR2B ;LOOP ON ERROR SWITCH ^ 2873 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 41 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0082 2874 2875 ;TEST ROT LEFT 3X36. CHECKING FOR AC1 NOT 2876 ;CHANGED AND C(AC) = WHAT IT WAS BEFORE 2877 ;ROT. 2878 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2879 2880 000002 AC=2 2881 033175 RTL36: SETUP 300,2^ 2882 000003 AC1=&17 2883 000004 AC2=&17 2884 000005 AC3=&17 2885 000006 AC4=&17 2886 000007 AC5=&17 2887 000000 RAN1=&17 2888 033175 201 01 0 00 033175 MOVEI AC-1,. 2889 033176 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2890 033177 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2891 033200 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2892 033201 201 01 0 00 000300 MOVEI AC-1,300 ;ROUTINE WEIGHTING 2893 033202 240 01 1 00 030673 ASH AC-1,@CMPLXT+2 ;ROUTINE COMPLEXITY 2894 033203 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2895 033204 RTL36A: RANDOM^ 2896 033204 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2897 033205 270 02 0 00 037562 ADD AC,[142536475076] 2898 033206 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2899 033207 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2900 033210 477 03 0 00 000000 RTL36B: SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 2901 ;DO 3 X (ROT LEFT 36 PLACES). 2902 REPEAT 3,< 2903 ROT AC,44> 2904 2905 033211 241 02 0 00 000044 ROT AC,44 2906 2907 033212 241 02 0 00 000044 ROT AC,44 2908 2909 033213 241 02 0 00 000044 ROT AC,44 2910 033214 312 02 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = C(AC) BEFORE ROT. 2911 033215 013 00 0 00 000044 EERRI ,44 2912 033216 312 03 0 00 037565 CAME AC1,[-1] ;C(AC1) SHOULD STILL = -1. 2913 033217 003 00 0 00 000044 ERRI RAN1,44 2914 LOOP RTL36A,RTL36B^ 2915 033220 367 01 0 00 033204 SOJG AC-1,RTL36A ;ITERATION COUNTER 2916 033221 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2917 033222 321 01 0 00 033210 JUMPL AC-1,RTL36B ;LOOP ON ERROR SWITCH ^ 2918 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 42 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0083 2919 2920 ;TEST ROT RIGHT 3X36. CHECKING FOR AC1 NOT 2921 ;CHANGED AND C(AC) = WHAT IT DID BEFORE ROT. 2922 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2923 2924 000002 AC=2 2925 033223 RTR36: SETUP 300,2^ 2926 000003 AC1=&17 2927 000004 AC2=&17 2928 000005 AC3=&17 2929 000006 AC4=&17 2930 000007 AC5=&17 2931 000000 RAN1=&17 2932 033223 201 01 0 00 033223 MOVEI AC-1,. 2933 033224 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2934 033225 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2935 033226 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2936 033227 201 01 0 00 000300 MOVEI AC-1,300 ;ROUTINE WEIGHTING 2937 033230 240 01 1 00 030673 ASH AC-1,@CMPLXT+2 ;ROUTINE COMPLEXITY 2938 033231 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2939 033232 RTR36A: RANDOM^ 2940 033232 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2941 033233 270 02 0 00 037562 ADD AC,[142536475076] 2942 033234 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2943 033235 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2944 033236 477 03 0 00 000000 RTR36B: SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 2945 ;DO 3 X (ROT RIGHT 36 PLACES). 2946 REPEAT 3,< 2947 ROT AC,-44> 2948 2949 033237 241 02 0 00 777734 ROT AC,-44 2950 2951 033240 241 02 0 00 777734 ROT AC,-44 2952 2953 033241 241 02 0 00 777734 ROT AC,-44 2954 033242 312 02 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = RAN. 2955 033243 013 00 0 00 777734 EERRI ,-44 2956 033244 312 03 0 00 037565 CAME AC1,[-1] ;C(AC1) SHOULD STILL = -1. 2957 033245 003 00 0 00 777734 ERRI RAN1,-44 2958 LOOP RTR36A,RTR36B^ 2959 033246 367 01 0 00 033232 SOJG AC-1,RTR36A ;ITERATION COUNTER 2960 033247 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 2961 033250 321 01 0 00 033236 JUMPL AC-1,RTR36B ;LOOP ON ERROR SWITCH ^ 2962 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 43 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0084 2963 2964 ;TEST ROTC LEFT 3X36 THROUGH ALL AC'S CHECKING 2965 ;FOR C(AC) AND C(AC1) BEING EXCHANGED 2966 ;AFTER THE ROTC. 2967 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 2968 2969 000002 AC=2 2970 033251 RTCL: SETUP 100,2^ 2971 000003 AC1=&17 2972 000004 AC2=&17 2973 000005 AC3=&17 2974 000006 AC4=&17 2975 000007 AC5=&17 2976 000000 RAN1=&17 2977 033251 201 01 0 00 033251 MOVEI AC-1,. 2978 033252 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 2979 033253 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 2980 033254 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 2981 033255 201 01 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 2982 033256 240 01 1 00 030673 ASH AC-1,@CMPLXT+2 ;ROUTINE COMPLEXITY 2983 033257 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 2984 033260 RTCLA: RANDOM^ 2985 033260 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 2986 033261 270 02 0 00 037562 ADD AC,[142536475076] 2987 033262 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 2988 033263 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 2989 2990 RTCLB: REPEAT ^D10,< 2991 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 2992 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 2993 ;DO 3 X (ROTC LEFT 36 PLACES). 2994 REPEAT 3,< 2995 ROTC AC,44> 2996 CAME AC1,RAN ;C(AC1) SHOULD = RAN. 2997 EERRI ,44 2998 CAME AC,[-1] ;C(AC) SHOULD = A -1. 2999 ERRI RAN1,44 3000 AC=&17 3001 AC1=&17 3002 > 3003 3004 033264 200 02 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3005 033265 477 03 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3006 ;DO 3 X (ROTC LEFT 36 PLACES). 3007 REPEAT 3, 3008 3009 033266 245 02 0 00 000044 ROTC AC,44 3010 3011 033267 245 02 0 00 000044 ROTC AC,44 3012 3013 033270 245 02 0 00 000044 ROTC AC,44 3014 033271 312 03 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = RAN. 3015 033272 013 00 0 00 000044 EERRI ,44 3016 033273 312 02 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = A -1. 3017 033274 003 00 0 00 000044 ERRI RAN1,44 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 43-1 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0085 3018 000003 AC=&17 3019 000004 AC1=&17 3020 3021 3022 033275 200 03 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3023 033276 477 04 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3024 ;DO 3 X (ROTC LEFT 36 PLACES). 3025 REPEAT 3, 3026 3027 033277 245 03 0 00 000044 ROTC AC,44 3028 3029 033300 245 03 0 00 000044 ROTC AC,44 3030 3031 033301 245 03 0 00 000044 ROTC AC,44 3032 033302 312 04 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = RAN. 3033 033303 013 00 0 00 000044 EERRI ,44 3034 033304 312 03 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = A -1. 3035 033305 003 00 0 00 000044 ERRI RAN1,44 3036 000004 AC=&17 3037 000005 AC1=&17 3038 3039 3040 033306 200 04 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3041 033307 477 05 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3042 ;DO 3 X (ROTC LEFT 36 PLACES). 3043 REPEAT 3, 3044 3045 033310 245 04 0 00 000044 ROTC AC,44 3046 3047 033311 245 04 0 00 000044 ROTC AC,44 3048 3049 033312 245 04 0 00 000044 ROTC AC,44 3050 033313 312 05 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = RAN. 3051 033314 013 00 0 00 000044 EERRI ,44 3052 033315 312 04 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = A -1. 3053 033316 003 00 0 00 000044 ERRI RAN1,44 3054 000005 AC=&17 3055 000006 AC1=&17 3056 3057 3058 033317 200 05 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3059 033320 477 06 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3060 ;DO 3 X (ROTC LEFT 36 PLACES). 3061 REPEAT 3, 3062 3063 033321 245 05 0 00 000044 ROTC AC,44 3064 3065 033322 245 05 0 00 000044 ROTC AC,44 3066 3067 033323 245 05 0 00 000044 ROTC AC,44 3068 033324 312 06 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = RAN. 3069 033325 013 00 0 00 000044 EERRI ,44 3070 033326 312 05 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = A -1. 3071 033327 003 00 0 00 000044 ERRI RAN1,44 3072 000006 AC=&17 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 43-2 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0086 3073 000007 AC1=&17 3074 3075 3076 033330 200 06 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3077 033331 477 07 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3078 ;DO 3 X (ROTC LEFT 36 PLACES). 3079 REPEAT 3, 3080 3081 033332 245 06 0 00 000044 ROTC AC,44 3082 3083 033333 245 06 0 00 000044 ROTC AC,44 3084 3085 033334 245 06 0 00 000044 ROTC AC,44 3086 033335 312 07 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = RAN. 3087 033336 013 00 0 00 000044 EERRI ,44 3088 033337 312 06 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = A -1. 3089 033340 003 00 0 00 000044 ERRI RAN1,44 3090 000007 AC=&17 3091 000010 AC1=&17 3092 3093 3094 033341 200 07 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3095 033342 477 10 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3096 ;DO 3 X (ROTC LEFT 36 PLACES). 3097 REPEAT 3, 3098 3099 033343 245 07 0 00 000044 ROTC AC,44 3100 3101 033344 245 07 0 00 000044 ROTC AC,44 3102 3103 033345 245 07 0 00 000044 ROTC AC,44 3104 033346 312 10 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = RAN. 3105 033347 013 00 0 00 000044 EERRI ,44 3106 033350 312 07 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = A -1. 3107 033351 003 00 0 00 000044 ERRI RAN1,44 3108 000010 AC=&17 3109 000011 AC1=&17 3110 3111 3112 033352 200 10 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3113 033353 477 11 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3114 ;DO 3 X (ROTC LEFT 36 PLACES). 3115 REPEAT 3, 3116 3117 033354 245 10 0 00 000044 ROTC AC,44 3118 3119 033355 245 10 0 00 000044 ROTC AC,44 3120 3121 033356 245 10 0 00 000044 ROTC AC,44 3122 033357 312 11 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = RAN. 3123 033360 013 00 0 00 000044 EERRI ,44 3124 033361 312 10 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = A -1. 3125 033362 003 00 0 00 000044 ERRI RAN1,44 3126 000011 AC=&17 3127 000012 AC1=&17 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 43-3 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0087 3128 3129 3130 033363 200 11 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3131 033364 477 12 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3132 ;DO 3 X (ROTC LEFT 36 PLACES). 3133 REPEAT 3, 3134 3135 033365 245 11 0 00 000044 ROTC AC,44 3136 3137 033366 245 11 0 00 000044 ROTC AC,44 3138 3139 033367 245 11 0 00 000044 ROTC AC,44 3140 033370 312 12 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = RAN. 3141 033371 013 00 0 00 000044 EERRI ,44 3142 033372 312 11 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = A -1. 3143 033373 003 00 0 00 000044 ERRI RAN1,44 3144 000012 AC=&17 3145 000013 AC1=&17 3146 3147 3148 033374 200 12 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3149 033375 477 13 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3150 ;DO 3 X (ROTC LEFT 36 PLACES). 3151 REPEAT 3, 3152 3153 033376 245 12 0 00 000044 ROTC AC,44 3154 3155 033377 245 12 0 00 000044 ROTC AC,44 3156 3157 033400 245 12 0 00 000044 ROTC AC,44 3158 033401 312 13 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = RAN. 3159 033402 013 00 0 00 000044 EERRI ,44 3160 033403 312 12 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = A -1. 3161 033404 003 00 0 00 000044 ERRI RAN1,44 3162 000013 AC=&17 3163 000014 AC1=&17 3164 3165 3166 033405 200 13 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3167 033406 477 14 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3168 ;DO 3 X (ROTC LEFT 36 PLACES). 3169 REPEAT 3, 3170 3171 033407 245 13 0 00 000044 ROTC AC,44 3172 3173 033410 245 13 0 00 000044 ROTC AC,44 3174 3175 033411 245 13 0 00 000044 ROTC AC,44 3176 033412 312 14 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = RAN. 3177 033413 013 00 0 00 000044 EERRI ,44 3178 033414 312 13 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = A -1. 3179 033415 003 00 0 00 000044 ERRI RAN1,44 3180 000014 AC=&17 3181 000015 AC1=&17 3182 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 43-4 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0088 3183 000002 AC=2 3184 LOOP RTCLA,RTCLB^ 3185 033416 367 01 0 00 033260 SOJG AC-1,RTCLA ;ITERATION COUNTER 3186 033417 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 3187 033420 321 01 0 00 033264 JUMPL AC-1,RTCLB ;LOOP ON ERROR SWITCH ^ 3188 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 44 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0089 3189 3190 ;TEST ROTC RIGHT 3X36 THROUGH ALL AC'S. CHECKING 3191 ;FOR C(AC) AND C(AC1) BEING EXCHANGED. 3192 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 3193 3194 000002 AC=2 3195 033421 RTCR: SETUP 100,2^ 3196 000003 AC1=&17 3197 000004 AC2=&17 3198 000005 AC3=&17 3199 000006 AC4=&17 3200 000007 AC5=&17 3201 000000 RAN1=&17 3202 033421 201 01 0 00 033421 MOVEI AC-1,. 3203 033422 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 3204 033423 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 3205 033424 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 3206 033425 201 01 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 3207 033426 240 01 1 00 030673 ASH AC-1,@CMPLXT+2 ;ROUTINE COMPLEXITY 3208 033427 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 3209 033430 RTCRA: RANDOM^ 3210 033430 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 3211 033431 270 02 0 00 037562 ADD AC,[142536475076] 3212 033432 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 3213 033433 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 3214 3215 RTCRB: REPEAT ^D10,< 3216 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3217 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3218 ;DO 3 X (ROTC RIGHT 36 PLACES). 3219 REPEAT 3,< 3220 ROTC AC,-44> 3221 CAME AC1,RAN ;C(AC1) SHOULD = C(AC) BEFORE ROTC. 3222 EERRI ,-44 3223 CAME AC,[-1] ;C(AC) SHOULD = C(AC1) BEFORE ROTC. 3224 ERRI RAN1,-44 3225 AC=&17 3226 AC1=&17 3227 > 3228 3229 033434 200 02 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3230 033435 477 03 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3231 ;DO 3 X (ROTC RIGHT 36 PLACES). 3232 REPEAT 3, 3233 3234 033436 245 02 0 00 777734 ROTC AC,-44 3235 3236 033437 245 02 0 00 777734 ROTC AC,-44 3237 3238 033440 245 02 0 00 777734 ROTC AC,-44 3239 033441 312 03 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = C(AC) BEFORE ROTC. 3240 033442 013 00 0 00 777734 EERRI ,-44 3241 033443 312 02 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = C(AC1) BEFORE ROTC. 3242 033444 003 00 0 00 777734 ERRI RAN1,-44 3243 000003 AC=&17 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 44-1 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0090 3244 000004 AC1=&17 3245 3246 3247 033445 200 03 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3248 033446 477 04 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3249 ;DO 3 X (ROTC RIGHT 36 PLACES). 3250 REPEAT 3, 3251 3252 033447 245 03 0 00 777734 ROTC AC,-44 3253 3254 033450 245 03 0 00 777734 ROTC AC,-44 3255 3256 033451 245 03 0 00 777734 ROTC AC,-44 3257 033452 312 04 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = C(AC) BEFORE ROTC. 3258 033453 013 00 0 00 777734 EERRI ,-44 3259 033454 312 03 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = C(AC1) BEFORE ROTC. 3260 033455 003 00 0 00 777734 ERRI RAN1,-44 3261 000004 AC=&17 3262 000005 AC1=&17 3263 3264 3265 033456 200 04 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3266 033457 477 05 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3267 ;DO 3 X (ROTC RIGHT 36 PLACES). 3268 REPEAT 3, 3269 3270 033460 245 04 0 00 777734 ROTC AC,-44 3271 3272 033461 245 04 0 00 777734 ROTC AC,-44 3273 3274 033462 245 04 0 00 777734 ROTC AC,-44 3275 033463 312 05 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = C(AC) BEFORE ROTC. 3276 033464 013 00 0 00 777734 EERRI ,-44 3277 033465 312 04 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = C(AC1) BEFORE ROTC. 3278 033466 003 00 0 00 777734 ERRI RAN1,-44 3279 000005 AC=&17 3280 000006 AC1=&17 3281 3282 3283 033467 200 05 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3284 033470 477 06 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3285 ;DO 3 X (ROTC RIGHT 36 PLACES). 3286 REPEAT 3, 3287 3288 033471 245 05 0 00 777734 ROTC AC,-44 3289 3290 033472 245 05 0 00 777734 ROTC AC,-44 3291 3292 033473 245 05 0 00 777734 ROTC AC,-44 3293 033474 312 06 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = C(AC) BEFORE ROTC. 3294 033475 013 00 0 00 777734 EERRI ,-44 3295 033476 312 05 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = C(AC1) BEFORE ROTC. 3296 033477 003 00 0 00 777734 ERRI RAN1,-44 3297 000006 AC=&17 3298 000007 AC1=&17 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 44-2 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0091 3299 3300 3301 033500 200 06 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3302 033501 477 07 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3303 ;DO 3 X (ROTC RIGHT 36 PLACES). 3304 REPEAT 3, 3305 3306 033502 245 06 0 00 777734 ROTC AC,-44 3307 3308 033503 245 06 0 00 777734 ROTC AC,-44 3309 3310 033504 245 06 0 00 777734 ROTC AC,-44 3311 033505 312 07 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = C(AC) BEFORE ROTC. 3312 033506 013 00 0 00 777734 EERRI ,-44 3313 033507 312 06 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = C(AC1) BEFORE ROTC. 3314 033510 003 00 0 00 777734 ERRI RAN1,-44 3315 000007 AC=&17 3316 000010 AC1=&17 3317 3318 3319 033511 200 07 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3320 033512 477 10 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3321 ;DO 3 X (ROTC RIGHT 36 PLACES). 3322 REPEAT 3, 3323 3324 033513 245 07 0 00 777734 ROTC AC,-44 3325 3326 033514 245 07 0 00 777734 ROTC AC,-44 3327 3328 033515 245 07 0 00 777734 ROTC AC,-44 3329 033516 312 10 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = C(AC) BEFORE ROTC. 3330 033517 013 00 0 00 777734 EERRI ,-44 3331 033520 312 07 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = C(AC1) BEFORE ROTC. 3332 033521 003 00 0 00 777734 ERRI RAN1,-44 3333 000010 AC=&17 3334 000011 AC1=&17 3335 3336 3337 033522 200 10 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3338 033523 477 11 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3339 ;DO 3 X (ROTC RIGHT 36 PLACES). 3340 REPEAT 3, 3341 3342 033524 245 10 0 00 777734 ROTC AC,-44 3343 3344 033525 245 10 0 00 777734 ROTC AC,-44 3345 3346 033526 245 10 0 00 777734 ROTC AC,-44 3347 033527 312 11 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = C(AC) BEFORE ROTC. 3348 033530 013 00 0 00 777734 EERRI ,-44 3349 033531 312 10 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = C(AC1) BEFORE ROTC. 3350 033532 003 00 0 00 777734 ERRI RAN1,-44 3351 000011 AC=&17 3352 000012 AC1=&17 3353 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 44-3 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0092 3354 3355 033533 200 11 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3356 033534 477 12 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3357 ;DO 3 X (ROTC RIGHT 36 PLACES). 3358 REPEAT 3, 3359 3360 033535 245 11 0 00 777734 ROTC AC,-44 3361 3362 033536 245 11 0 00 777734 ROTC AC,-44 3363 3364 033537 245 11 0 00 777734 ROTC AC,-44 3365 033540 312 12 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = C(AC) BEFORE ROTC. 3366 033541 013 00 0 00 777734 EERRI ,-44 3367 033542 312 11 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = C(AC1) BEFORE ROTC. 3368 033543 003 00 0 00 777734 ERRI RAN1,-44 3369 000012 AC=&17 3370 000013 AC1=&17 3371 3372 3373 033544 200 12 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3374 033545 477 13 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3375 ;DO 3 X (ROTC RIGHT 36 PLACES). 3376 REPEAT 3, 3377 3378 033546 245 12 0 00 777734 ROTC AC,-44 3379 3380 033547 245 12 0 00 777734 ROTC AC,-44 3381 3382 033550 245 12 0 00 777734 ROTC AC,-44 3383 033551 312 13 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = C(AC) BEFORE ROTC. 3384 033552 013 00 0 00 777734 EERRI ,-44 3385 033553 312 12 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = C(AC1) BEFORE ROTC. 3386 033554 003 00 0 00 777734 ERRI RAN1,-44 3387 000013 AC=&17 3388 000014 AC1=&17 3389 3390 3391 033555 200 13 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3392 033556 477 14 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3393 ;DO 3 X (ROTC RIGHT 36 PLACES). 3394 REPEAT 3, 3395 3396 033557 245 13 0 00 777734 ROTC AC,-44 3397 3398 033560 245 13 0 00 777734 ROTC AC,-44 3399 3400 033561 245 13 0 00 777734 ROTC AC,-44 3401 033562 312 14 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD = C(AC) BEFORE ROTC. 3402 033563 013 00 0 00 777734 EERRI ,-44 3403 033564 312 13 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = C(AC1) BEFORE ROTC. 3404 033565 003 00 0 00 777734 ERRI RAN1,-44 3405 000014 AC=&17 3406 000015 AC1=&17 3407 3408 000002 AC=2 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 44-4 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0093 3409 LOOP RTCRA,RTCRB^ 3410 033566 367 01 0 00 033430 SOJG AC-1,RTCRA ;ITERATION COUNTER 3411 033567 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 3412 033570 321 01 0 00 033434 JUMPL AC-1,RTCRB ;LOOP ON ERROR SWITCH ^ 3413 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 45 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0094 3414 3415 ;TEST ROT. ROT A RANDOM NUMBER A RANDOM NUMBER OF TIMES 3416 ;IN ONE DIRECTION AND THEN THE SAME NUMBER OF TIMES 3417 ;IN THE OPPOSITE DIRECTION. 3418 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT). 3419 3420 000002 AC=2 3421 033571 ROTLR: SETUP 100,4^ 3422 000003 AC1=&17 3423 000004 AC2=&17 3424 000005 AC3=&17 3425 000006 AC4=&17 3426 000007 AC5=&17 3427 000000 RAN1=&17 3428 033571 201 01 0 00 033571 MOVEI AC-1,. 3429 033572 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 3430 033573 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 3431 033574 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 3432 033575 201 01 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 3433 033576 240 01 1 00 030675 ASH AC-1,@CMPLXT+4 ;ROUTINE COMPLEXITY 3434 033577 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 3435 033600 ROTLR1: RANDOM^ 3436 033600 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 3437 033601 270 02 0 00 037562 ADD AC,[142536475076] 3438 033602 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 3439 033603 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 3440 033604 200 05 0 00 037667 MOVE AC3,RAN ;CHECK TO SEE 3441 033605 404 05 0 00 037566 AND AC3,[377] ;THAT THE RIGHT MOST 8 BITS 3442 033606 322 05 0 00 033600 JUMPE AC3,ROTLR1 ;DO NOT = 0..REJECT IF THEY DO. 3443 033607 210 04 0 00 037667 ROTLR2: MOVN AC2,RAN ;PUT 2'S COMP OF RAN INTO AC2. 3444 033610 477 03 0 00 000000 SETOB AC1,RAN1 ;SET AC+1 TO ALL ONES. 3445 033611 241 02 0 02 000000 ROT AC,(AC) ;ROT AC A RANDOM NUMBER OF TIMES. 3446 033612 241 02 0 04 000000 ROT AC,(AC2) ;ROT AC THE SAME NUM OF TIMES 3447 ;IN THE OPPOSITE DIRECTION. 3448 033613 312 02 0 00 037667 CAME AC,RAN ;C(AC) SHOULD STILL = C(RAN). 3449 033614 004 02 0 00 037667 ERROR AC,RAN 3450 033615 312 03 0 00 037565 CAME AC1,[-1] ;C(AC1) SHOULD STILL = -1. 3451 033616 004 03 0 00 037565 ERROR AC1,[-1] 3452 LOOP ROTLR1,ROTLR2^ 3453 033617 367 01 0 00 033600 SOJG AC-1,ROTLR1 ;ITERATION COUNTER 3454 033620 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 3455 033621 321 01 0 00 033607 JUMPL AC-1,ROTLR2 ;LOOP ON ERROR SWITCH ^ 3456 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 46 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0095 3457 3458 ;TEST ROTC. DO A ROTC WITH A RANDOM NUMBER A RANDOM 3459 ;NUMBER OF TIMES IN ONE DIRECTION AND THEN THE SAME 3460 ;NUMBER OF TIMES IN THE OPPOSITE DIRECTION. 3461 ;REPEAT THIS TEST FOR ALL AC'S. 3462 ;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT) 3463 3464 000002 AC=2 3465 033622 RTCLR: SETUP 200,3^ 3466 000003 AC1=&17 3467 000004 AC2=&17 3468 000005 AC3=&17 3469 000006 AC4=&17 3470 000007 AC5=&17 3471 000000 RAN1=&17 3472 033622 201 01 0 00 033622 MOVEI AC-1,. 3473 033623 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 3474 033624 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 3475 033625 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 3476 033626 201 01 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 3477 033627 240 01 1 00 030674 ASH AC-1,@CMPLXT+3 ;ROUTINE COMPLEXITY 3478 033630 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 3479 033631 RTCLR1: RANDOM^ 3480 033631 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 3481 033632 270 02 0 00 037562 ADD AC,[142536475076] 3482 033633 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 3483 033634 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 3484 033635 200 05 0 00 037667 MOVE AC3,RAN ;CHECK TO SEE 3485 033636 404 05 0 00 037566 AND AC3,[377] ;THAT THE RIGHT MOST 8 BITS 3486 033637 322 05 0 00 033631 JUMPE AC3,RTCLR1 ;DO NOT = 0..REJECT IF THEY DO. 3487 3488 RTCLR2: REPEAT ^D10,< 3489 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3490 MOVN AC2,RAN ;MOVE THE 2'S COMP INTO ANOTHER AC. 3491 SETO AC1, ;SET AC1 TO ALL ONES. 3492 ROTC AC,(AC) ;ROTC AC A RANDOM NUMBER OF 3493 ;TIMES IN ONE DIRECTION. 3494 ROTC AC,(AC2) ;ROTC AC THE SAME NUMBER OF 3495 ;TIMES IN THE OPPOSITE DIRECTION. 3496 CAME AC,RAN ;C(AC) SHOULD STILL = RAN. 3497 ERROR AC,RAN 3498 CAME AC1,[-1] ;C(AC1) SHOULD STILL =-1 3499 ERROR AC1,[-1] 3500 AC=&17 3501 AC1=&17 3502 AC2=&17 3503 3504 > 3505 3506 033640 200 02 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3507 033641 210 04 0 00 037667 MOVN AC2,RAN ;MOVE THE 2'S COMP INTO ANOTHER AC. 3508 033642 474 03 0 00 000000 SETO AC1, ;SET AC1 TO ALL ONES. 3509 033643 245 02 0 02 000000 ROTC AC,(AC) ;ROTC AC A RANDOM NUMBER OF 3510 ;TIMES IN ONE DIRECTION. 3511 033644 245 02 0 04 000000 ROTC AC,(AC2) ;ROTC AC THE SAME NUMBER OF DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 46-1 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0096 3512 ;TIMES IN THE OPPOSITE DIRECTION. 3513 033645 312 02 0 00 037667 CAME AC,RAN ;C(AC) SHOULD STILL = RAN. 3514 033646 004 02 0 00 037667 ERROR AC,RAN 3515 033647 312 03 0 00 037565 CAME AC1,[-1] ;C(AC1) SHOULD STILL =-1 3516 033650 004 03 0 00 037565 ERROR AC1,[-1] 3517 000003 AC=&17 3518 000004 AC1=&17 3519 000005 AC2=&17 3520 3521 3522 3523 033651 200 03 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3524 033652 210 05 0 00 037667 MOVN AC2,RAN ;MOVE THE 2'S COMP INTO ANOTHER AC. 3525 033653 474 04 0 00 000000 SETO AC1, ;SET AC1 TO ALL ONES. 3526 033654 245 03 0 03 000000 ROTC AC,(AC) ;ROTC AC A RANDOM NUMBER OF 3527 ;TIMES IN ONE DIRECTION. 3528 033655 245 03 0 05 000000 ROTC AC,(AC2) ;ROTC AC THE SAME NUMBER OF 3529 ;TIMES IN THE OPPOSITE DIRECTION. 3530 033656 312 03 0 00 037667 CAME AC,RAN ;C(AC) SHOULD STILL = RAN. 3531 033657 004 03 0 00 037667 ERROR AC,RAN 3532 033660 312 04 0 00 037565 CAME AC1,[-1] ;C(AC1) SHOULD STILL =-1 3533 033661 004 04 0 00 037565 ERROR AC1,[-1] 3534 000004 AC=&17 3535 000005 AC1=&17 3536 000006 AC2=&17 3537 3538 3539 3540 033662 200 04 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3541 033663 210 06 0 00 037667 MOVN AC2,RAN ;MOVE THE 2'S COMP INTO ANOTHER AC. 3542 033664 474 05 0 00 000000 SETO AC1, ;SET AC1 TO ALL ONES. 3543 033665 245 04 0 04 000000 ROTC AC,(AC) ;ROTC AC A RANDOM NUMBER OF 3544 ;TIMES IN ONE DIRECTION. 3545 033666 245 04 0 06 000000 ROTC AC,(AC2) ;ROTC AC THE SAME NUMBER OF 3546 ;TIMES IN THE OPPOSITE DIRECTION. 3547 033667 312 04 0 00 037667 CAME AC,RAN ;C(AC) SHOULD STILL = RAN. 3548 033670 004 04 0 00 037667 ERROR AC,RAN 3549 033671 312 05 0 00 037565 CAME AC1,[-1] ;C(AC1) SHOULD STILL =-1 3550 033672 004 05 0 00 037565 ERROR AC1,[-1] 3551 000005 AC=&17 3552 000006 AC1=&17 3553 000007 AC2=&17 3554 3555 3556 3557 033673 200 05 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3558 033674 210 07 0 00 037667 MOVN AC2,RAN ;MOVE THE 2'S COMP INTO ANOTHER AC. 3559 033675 474 06 0 00 000000 SETO AC1, ;SET AC1 TO ALL ONES. 3560 033676 245 05 0 05 000000 ROTC AC,(AC) ;ROTC AC A RANDOM NUMBER OF 3561 ;TIMES IN ONE DIRECTION. 3562 033677 245 05 0 07 000000 ROTC AC,(AC2) ;ROTC AC THE SAME NUMBER OF 3563 ;TIMES IN THE OPPOSITE DIRECTION. 3564 033700 312 05 0 00 037667 CAME AC,RAN ;C(AC) SHOULD STILL = RAN. 3565 033701 004 05 0 00 037667 ERROR AC,RAN 3566 033702 312 06 0 00 037565 CAME AC1,[-1] ;C(AC1) SHOULD STILL =-1 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 46-2 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0097 3567 033703 004 06 0 00 037565 ERROR AC1,[-1] 3568 000006 AC=&17 3569 000007 AC1=&17 3570 000010 AC2=&17 3571 3572 3573 3574 033704 200 06 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3575 033705 210 10 0 00 037667 MOVN AC2,RAN ;MOVE THE 2'S COMP INTO ANOTHER AC. 3576 033706 474 07 0 00 000000 SETO AC1, ;SET AC1 TO ALL ONES. 3577 033707 245 06 0 06 000000 ROTC AC,(AC) ;ROTC AC A RANDOM NUMBER OF 3578 ;TIMES IN ONE DIRECTION. 3579 033710 245 06 0 10 000000 ROTC AC,(AC2) ;ROTC AC THE SAME NUMBER OF 3580 ;TIMES IN THE OPPOSITE DIRECTION. 3581 033711 312 06 0 00 037667 CAME AC,RAN ;C(AC) SHOULD STILL = RAN. 3582 033712 004 06 0 00 037667 ERROR AC,RAN 3583 033713 312 07 0 00 037565 CAME AC1,[-1] ;C(AC1) SHOULD STILL =-1 3584 033714 004 07 0 00 037565 ERROR AC1,[-1] 3585 000007 AC=&17 3586 000010 AC1=&17 3587 000011 AC2=&17 3588 3589 3590 3591 033715 200 07 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3592 033716 210 11 0 00 037667 MOVN AC2,RAN ;MOVE THE 2'S COMP INTO ANOTHER AC. 3593 033717 474 10 0 00 000000 SETO AC1, ;SET AC1 TO ALL ONES. 3594 033720 245 07 0 07 000000 ROTC AC,(AC) ;ROTC AC A RANDOM NUMBER OF 3595 ;TIMES IN ONE DIRECTION. 3596 033721 245 07 0 11 000000 ROTC AC,(AC2) ;ROTC AC THE SAME NUMBER OF 3597 ;TIMES IN THE OPPOSITE DIRECTION. 3598 033722 312 07 0 00 037667 CAME AC,RAN ;C(AC) SHOULD STILL = RAN. 3599 033723 004 07 0 00 037667 ERROR AC,RAN 3600 033724 312 10 0 00 037565 CAME AC1,[-1] ;C(AC1) SHOULD STILL =-1 3601 033725 004 10 0 00 037565 ERROR AC1,[-1] 3602 000010 AC=&17 3603 000011 AC1=&17 3604 000012 AC2=&17 3605 3606 3607 3608 033726 200 10 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3609 033727 210 12 0 00 037667 MOVN AC2,RAN ;MOVE THE 2'S COMP INTO ANOTHER AC. 3610 033730 474 11 0 00 000000 SETO AC1, ;SET AC1 TO ALL ONES. 3611 033731 245 10 0 10 000000 ROTC AC,(AC) ;ROTC AC A RANDOM NUMBER OF 3612 ;TIMES IN ONE DIRECTION. 3613 033732 245 10 0 12 000000 ROTC AC,(AC2) ;ROTC AC THE SAME NUMBER OF 3614 ;TIMES IN THE OPPOSITE DIRECTION. 3615 033733 312 10 0 00 037667 CAME AC,RAN ;C(AC) SHOULD STILL = RAN. 3616 033734 004 10 0 00 037667 ERROR AC,RAN 3617 033735 312 11 0 00 037565 CAME AC1,[-1] ;C(AC1) SHOULD STILL =-1 3618 033736 004 11 0 00 037565 ERROR AC1,[-1] 3619 000011 AC=&17 3620 000012 AC1=&17 3621 000013 AC2=&17 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 46-3 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0098 3622 3623 3624 3625 033737 200 11 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3626 033740 210 13 0 00 037667 MOVN AC2,RAN ;MOVE THE 2'S COMP INTO ANOTHER AC. 3627 033741 474 12 0 00 000000 SETO AC1, ;SET AC1 TO ALL ONES. 3628 033742 245 11 0 11 000000 ROTC AC,(AC) ;ROTC AC A RANDOM NUMBER OF 3629 ;TIMES IN ONE DIRECTION. 3630 033743 245 11 0 13 000000 ROTC AC,(AC2) ;ROTC AC THE SAME NUMBER OF 3631 ;TIMES IN THE OPPOSITE DIRECTION. 3632 033744 312 11 0 00 037667 CAME AC,RAN ;C(AC) SHOULD STILL = RAN. 3633 033745 004 11 0 00 037667 ERROR AC,RAN 3634 033746 312 12 0 00 037565 CAME AC1,[-1] ;C(AC1) SHOULD STILL =-1 3635 033747 004 12 0 00 037565 ERROR AC1,[-1] 3636 000012 AC=&17 3637 000013 AC1=&17 3638 000014 AC2=&17 3639 3640 3641 3642 033750 200 12 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3643 033751 210 14 0 00 037667 MOVN AC2,RAN ;MOVE THE 2'S COMP INTO ANOTHER AC. 3644 033752 474 13 0 00 000000 SETO AC1, ;SET AC1 TO ALL ONES. 3645 033753 245 12 0 12 000000 ROTC AC,(AC) ;ROTC AC A RANDOM NUMBER OF 3646 ;TIMES IN ONE DIRECTION. 3647 033754 245 12 0 14 000000 ROTC AC,(AC2) ;ROTC AC THE SAME NUMBER OF 3648 ;TIMES IN THE OPPOSITE DIRECTION. 3649 033755 312 12 0 00 037667 CAME AC,RAN ;C(AC) SHOULD STILL = RAN. 3650 033756 004 12 0 00 037667 ERROR AC,RAN 3651 033757 312 13 0 00 037565 CAME AC1,[-1] ;C(AC1) SHOULD STILL =-1 3652 033760 004 13 0 00 037565 ERROR AC1,[-1] 3653 000013 AC=&17 3654 000014 AC1=&17 3655 000015 AC2=&17 3656 3657 3658 3659 033761 200 13 0 00 037667 MOVE AC,RAN ;MOVE A RAN NUM INTO AN AC. 3660 033762 210 15 0 00 037667 MOVN AC2,RAN ;MOVE THE 2'S COMP INTO ANOTHER AC. 3661 033763 474 14 0 00 000000 SETO AC1, ;SET AC1 TO ALL ONES. 3662 033764 245 13 0 13 000000 ROTC AC,(AC) ;ROTC AC A RANDOM NUMBER OF 3663 ;TIMES IN ONE DIRECTION. 3664 033765 245 13 0 15 000000 ROTC AC,(AC2) ;ROTC AC THE SAME NUMBER OF 3665 ;TIMES IN THE OPPOSITE DIRECTION. 3666 033766 312 13 0 00 037667 CAME AC,RAN ;C(AC) SHOULD STILL = RAN. 3667 033767 004 13 0 00 037667 ERROR AC,RAN 3668 033770 312 14 0 00 037565 CAME AC1,[-1] ;C(AC1) SHOULD STILL =-1 3669 033771 004 14 0 00 037565 ERROR AC1,[-1] 3670 000014 AC=&17 3671 000015 AC1=&17 3672 000016 AC2=&17 3673 3674 3675 000002 AC=2 3676 LOOP RTCLR1,RTCLR2^ DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 46-4 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0099 3677 033772 367 01 0 00 033631 SOJG AC-1,RTCLR1 ;ITERATION COUNTER 3678 033773 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 3679 033774 321 01 0 00 033640 JUMPL AC-1,RTCLR2 ;LOOP ON ERROR SWITCH ^ 3680 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 47 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0100 3681 3682 ;TEST OVERFLOW ON A ROT LEFT...AROV SHOULD NOT COME UP. 3683 3684 000002 AC=2 3685 033775 ROTOV: SETUP 20,0^ 3686 000003 AC1=&17 3687 000004 AC2=&17 3688 000005 AC3=&17 3689 000006 AC4=&17 3690 000007 AC5=&17 3691 000000 RAN1=&17 3692 033775 201 01 0 00 033775 MOVEI AC-1,. 3693 033776 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 3694 033777 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 3695 034000 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 3696 034001 201 01 0 00 000020 MOVEI AC-1,20 ;ROUTINE WEIGHTING 3697 034002 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 3698 034003 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 3699 034004 ROTOV1: RANDOM^ 3700 034004 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 3701 034005 270 02 0 00 037562 ADD AC,[142536475076] 3702 034006 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 3703 034007 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 3704 034010 322 02 0 00 034004 ROTOV2: JUMPE AC,ROTOV1 ;REJECT IF RAN = 0. 3705 034011 316 02 0 00 037565 CAMN AC,[-1] ;ALSO REJECT IF RAN = -1. 3706 034012 254 00 0 00 034004 JRST ROTOV1 3707 034013 255 10 0 00 034014 JFCL 10,.+1 ;CLEAR OV FLAG. 3708 034014 241 02 0 00 000256 ROT AC,256 ;ROT C(AC) 256 TIMES. 3709 034015 255 10 0 00 034017 JFCL 10,.+2 ;OV FLAG GET SET? 3710 034016 254 00 0 00 034020 JRST .+2 ;NO. 3711 034017 005 02 0 00 037567 ER AC,[ASCII /OV/] ;YES. SHOULD NOT SET ON A ROT. 3712 LOOP ROTOV1,ROTOV2^ 3713 034020 367 01 0 00 034004 SOJG AC-1,ROTOV1 ;ITERATION COUNTER 3714 034021 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 3715 034022 321 01 0 00 034010 JUMPL AC-1,ROTOV2 ;LOOP ON ERROR SWITCH ^ 3716 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 48 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0101 3717 3718 ;TEST OVERFLOW FLAG ON A ROT RIGHT...SHOULD NEVER GET SET. 3719 3720 000003 AC=3 3721 034023 RTROV: SETUP 20,0^ 3722 000004 AC1=&17 3723 000005 AC2=&17 3724 000006 AC3=&17 3725 000007 AC4=&17 3726 000010 AC5=&17 3727 000001 RAN1=&17 3728 034023 201 02 0 00 034023 MOVEI AC-1,. 3729 034024 202 02 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 3730 034025 201 02 0 00 000002 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 3731 034026 202 02 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 3732 034027 201 02 0 00 000020 MOVEI AC-1,20 ;ROUTINE WEIGHTING 3733 034030 240 02 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 3734 034031 240 02 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 3735 034032 RTROV1: RANDOM^ 3736 034032 200 03 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 3737 034033 270 03 0 00 037562 ADD AC,[142536475076] 3738 034034 241 03 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 3739 034035 447 03 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 3740 034036 322 03 0 00 034032 RTROV2: JUMPE AC,RTROV1 ;REJECT IF RAN = 0. 3741 034037 316 03 0 00 037565 CAMN AC,[-1] ;ALSO REJECT IF RAN = -1. 3742 034040 254 00 0 00 034032 JRST RTROV1 3743 034041 255 10 0 00 034042 JFCL 10,.+1 ;CLEAR OVERFLOW FLAG. 3744 034042 241 03 0 00 777522 ROT AC,-256 ;ROT AC RIGHT 256 TIMES. 3745 034043 255 10 0 00 034045 JFCL 10,.+2 ;OVERFLOW FALG GET SET? 3746 034044 254 00 0 00 034046 JRST .+2 ;NO. 3747 034045 005 03 0 00 037567 ER AC,[ASCII /OV/] 3748 LOOP RTROV1,RTROV2^ 3749 034046 367 02 0 00 034032 SOJG AC-1,RTROV1 ;ITERATION COUNTER 3750 034047 200 03 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 3751 034050 321 02 0 00 034036 JUMPL AC-1,RTROV2 ;LOOP ON ERROR SWITCH ^ 3752 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 49 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0102 3753 3754 ;TEST MOVEM. AFTER FOLLOWED BY 3755 ;, C(AC) SHOULD = ORIG C(AC). 3756 ;RAN TO RAN1. 3757 3758 000002 AC=2 3759 034051 MVEM1: SETUP 30,0^ 3760 000003 AC1=&17 3761 000004 AC2=&17 3762 000005 AC3=&17 3763 000006 AC4=&17 3764 000007 AC5=&17 3765 000000 RAN1=&17 3766 034051 201 01 0 00 034051 MOVEI AC-1,. 3767 034052 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 3768 034053 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 3769 034054 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 3770 034055 201 01 0 00 000030 MOVEI AC-1,30 ;ROUTINE WEIGHTING 3771 034056 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 3772 034057 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 3773 034060 MVEM2: RANDOM^ 3774 034060 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 3775 034061 270 02 0 00 037562 ADD AC,[142536475076] 3776 034062 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 3777 034063 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 3778 ;DO 3 SETS OF MOVEM'S. 3779 MVEM3: REPEAT 3,< 3780 MOVEM AC,AC1 3781 MOVEM AC1,AC> 3782 3783 034064 202 02 0 00 000003 MOVEM AC,AC1 3784 034065 202 03 0 00 000002 MOVEM AC1,AC 3785 3786 034066 202 02 0 00 000003 MOVEM AC,AC1 3787 034067 202 03 0 00 000002 MOVEM AC1,AC 3788 3789 034070 202 02 0 00 000003 MOVEM AC,AC1 3790 034071 202 03 0 00 000002 MOVEM AC1,AC 3791 034072 312 02 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = ORIG C(AC). 3792 034073 004 02 0 00 037667 ERROR AC,RAN 3793 034074 312 03 0 00 037667 CAME AC1,RAN ;C(AC1) SHOULD ALSO = ORIG. C(AC). 3794 034075 004 03 0 00 037667 ERROR AC1,RAN 3795 LOOP MVEM2,MVEM3^ 3796 034076 367 01 0 00 034060 SOJG AC-1,MVEM2 ;ITERATION COUNTER 3797 034077 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 3798 034100 321 01 0 00 034064 JUMPL AC-1,MVEM3 ;LOOP ON ERROR SWITCH ^ 3799 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 50 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0103 3800 3801 ;TEST MOVES. AFTER 6 MOVES IN A ROW, THE C(E) 3802 ;SHOULD = ORIG C(E). 3803 3804 000002 AC=2 3805 034101 MVES1: SETUP 200,1^ 3806 000003 AC1=&17 3807 000004 AC2=&17 3808 000005 AC3=&17 3809 000006 AC4=&17 3810 000007 AC5=&17 3811 000000 RAN1=&17 3812 034101 201 01 0 00 034101 MOVEI AC-1,. 3813 034102 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 3814 034103 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 3815 034104 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 3816 034105 201 01 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 3817 034106 240 01 1 00 030672 ASH AC-1,@CMPLXT+1 ;ROUTINE COMPLEXITY 3818 034107 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 3819 034110 MVES2: RANDOM^ 3820 034110 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 3821 034111 270 02 0 00 037562 ADD AC,[142536475076] 3822 034112 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 3823 034113 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 3824 ;DO 6 MOVE INSTRUCTIONS. 3825 MVES3: REPEAT 3,< 3826 MOVES AC1,AC 3827 MOVES AC1,AC> 3828 3829 034114 203 03 0 00 000002 MOVES AC1,AC 3830 034115 203 03 0 00 000002 MOVES AC1,AC 3831 3832 034116 203 03 0 00 000002 MOVES AC1,AC 3833 034117 203 03 0 00 000002 MOVES AC1,AC 3834 3835 034120 203 03 0 00 000002 MOVES AC1,AC 3836 034121 203 03 0 00 000002 MOVES AC1,AC 3837 034122 312 03 0 00 000002 CAME AC1,AC ;C(AC) SHOULD = C(E). 3838 034123 004 03 0 00 000002 ERROR AC1,AC 3839 034124 312 02 0 00 037667 CAME AC,RAN ;C(E) SHOULD = ORIG C(E). 3840 034125 004 02 0 00 037667 ERROR AC,RAN 3841 LOOP MVES2,MVES3^ 3842 034126 367 01 0 00 034110 SOJG AC-1,MVES2 ;ITERATION COUNTER 3843 034127 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 3844 034130 321 01 0 00 034114 JUMPL AC-1,MVES3 ;LOOP ON ERROR SWITCH ^ 3845 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 51 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0104 3846 3847 ;TEST MOVS INSTRUCTION...TWO MOVS SHOULD GIVE SAME NUMBER. 3848 3849 000004 AC=4 3850 034131 MOVSA: SETUP 200,2^ 3851 000005 AC1=&17 3852 000006 AC2=&17 3853 000007 AC3=&17 3854 000010 AC4=&17 3855 000011 AC5=&17 3856 000002 RAN1=&17 3857 034131 201 03 0 00 034131 MOVEI AC-1,. 3858 034132 202 03 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 3859 034133 201 03 0 00 000003 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 3860 034134 202 03 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 3861 034135 201 03 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 3862 034136 240 03 1 00 030673 ASH AC-1,@CMPLXT+2 ;ROUTINE COMPLEXITY 3863 034137 240 03 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 3864 034140 MOVSB: RANDOM^ 3865 034140 200 04 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 3866 034141 270 04 0 00 037562 ADD AC,[142536475076] 3867 034142 241 04 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 3868 034143 447 04 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 3869 ;DO 6 MOVS INSTRUCTIONS. 3870 MOVSC: REPEAT 3,< 3871 MOVS AC,AC 3872 MOVS AC,AC> 3873 3874 034144 204 04 0 00 000004 MOVS AC,AC 3875 034145 204 04 0 00 000004 MOVS AC,AC 3876 3877 034146 204 04 0 00 000004 MOVS AC,AC 3878 034147 204 04 0 00 000004 MOVS AC,AC 3879 3880 034150 204 04 0 00 000004 MOVS AC,AC 3881 034151 204 04 0 00 000004 MOVS AC,AC 3882 034152 312 04 0 00 037667 CAME AC,RAN ;C(AC) SHOULD STILL = RAN. 3883 034153 011 00 0 00 037667 EERR ,RAN 3884 LOOP MOVSB,MOVSC^ 3885 034154 367 03 0 00 034140 SOJG AC-1,MOVSB ;ITERATION COUNTER 3886 034155 200 04 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 3887 034156 321 03 0 00 034144 JUMPL AC-1,MOVSC ;LOOP ON ERROR SWITCH ^ 3888 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 52 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0105 3889 3890 ;TEST MOVS INSTRUCTION...MOVS FOLLOWED BY ROT SHOULD GIVE 3891 ;SAME NUMBER. 3892 3893 000005 AC=5 3894 034157 MOVS1: SETUP 200,1^ 3895 000006 AC1=&17 3896 000007 AC2=&17 3897 000010 AC3=&17 3898 000011 AC4=&17 3899 000012 AC5=&17 3900 000003 RAN1=&17 3901 034157 201 04 0 00 034157 MOVEI AC-1,. 3902 034160 202 04 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 3903 034161 201 04 0 00 000004 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 3904 034162 202 04 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 3905 034163 201 04 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 3906 034164 240 04 1 00 030672 ASH AC-1,@CMPLXT+1 ;ROUTINE COMPLEXITY 3907 034165 240 04 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 3908 034166 MOVS2: RANDOM^ 3909 034166 200 05 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 3910 034167 270 05 0 00 037562 ADD AC,[142536475076] 3911 034170 241 05 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 3912 034171 447 05 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 3913 034172 204 05 0 00 000005 MOVS3: MOVS AC,AC ;DO MOVS INSTRUCTION. 3914 034173 241 05 0 00 000022 ROT AC,22 ;ROT LEFT 18 PLACES. 3915 034174 312 05 0 00 037667 CAME AC,RAN ;C(AC) SHOULD NOW = RAN. 3916 034175 011 00 0 00 037667 EERR ,RAN 3917 LOOP MOVS2,MOVS3^ 3918 034176 367 04 0 00 034166 SOJG AC-1,MOVS2 ;ITERATION COUNTER 3919 034177 200 05 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 3920 034200 321 04 0 00 034172 JUMPL AC-1,MOVS3 ;LOOP ON ERROR SWITCH ^ 3921 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 53 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0106 3922 3923 ;TEST MOVSM....TWO MOVSM SHOULD GIVE THE ORIG. NUM. 3924 3925 000006 AC=6 3926 034201 MOVSMA: SETUP 300,1^ 3927 000007 AC1=&17 3928 000010 AC2=&17 3929 000011 AC3=&17 3930 000012 AC4=&17 3931 000013 AC5=&17 3932 000004 RAN1=&17 3933 034201 201 05 0 00 034201 MOVEI AC-1,. 3934 034202 202 05 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 3935 034203 201 05 0 00 000005 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 3936 034204 202 05 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 3937 034205 201 05 0 00 000300 MOVEI AC-1,300 ;ROUTINE WEIGHTING 3938 034206 240 05 1 00 030672 ASH AC-1,@CMPLXT+1 ;ROUTINE COMPLEXITY 3939 034207 240 05 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 3940 034210 MOVSMB: RANDOM^ 3941 034210 200 06 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 3942 034211 270 06 0 00 037562 ADD AC,[142536475076] 3943 034212 241 06 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 3944 034213 447 06 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 3945 3946 MOVSMC: REPEAT 3,< 3947 MOVSM AC,AC1 3948 MOVSM AC1,AC> 3949 3950 034214 206 06 0 00 000007 MOVSM AC,AC1 3951 034215 206 07 0 00 000006 MOVSM AC1,AC 3952 3953 034216 206 06 0 00 000007 MOVSM AC,AC1 3954 034217 206 07 0 00 000006 MOVSM AC1,AC 3955 3956 034220 206 06 0 00 000007 MOVSM AC,AC1 3957 034221 206 07 0 00 000006 MOVSM AC1,AC 3958 034222 312 06 0 00 037667 CAME AC,RAN ;C(AC) SHOULD NOW BE = TO RAN. 3959 034223 004 06 0 00 037667 ERROR AC,RAN 3960 LOOP MOVSMB,MOVSMC^ 3961 034224 367 05 0 00 034210 SOJG AC-1,MOVSMB ;ITERATION COUNTER 3962 034225 200 06 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 3963 034226 321 05 0 00 034214 JUMPL AC-1,MOVSMC ;LOOP ON ERROR SWITCH ^ 3964 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 54 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0107 3965 3966 ;TEST MOVSS...TWO MOVSS SHOULD GIVE THE ORIGINAL NUMBER. 3967 3968 000007 AC=7 3969 034227 MOVSSA: SETUP 200,0^ 3970 000010 AC1=&17 3971 000011 AC2=&17 3972 000012 AC3=&17 3973 000013 AC4=&17 3974 000014 AC5=&17 3975 000005 RAN1=&17 3976 034227 201 06 0 00 034227 MOVEI AC-1,. 3977 034230 202 06 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 3978 034231 201 06 0 00 000006 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 3979 034232 202 06 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 3980 034233 201 06 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 3981 034234 240 06 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 3982 034235 240 06 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 3983 034236 MOVSSB: RANDOM^ 3984 034236 200 07 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 3985 034237 270 07 0 00 037562 ADD AC,[142536475076] 3986 034240 241 07 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 3987 034241 447 07 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 3988 034242 403 00 0 00 000005 MOVSSC: SETZB 0,RAN1 ;CLEAR AC0. 3989 3990 REPEAT 3,< 3991 MOVSS AC 3992 MOVSS AC> 3993 3994 034243 207 00 0 00 000007 MOVSS AC 3995 034244 207 00 0 00 000007 MOVSS AC 3996 3997 034245 207 00 0 00 000007 MOVSS AC 3998 034246 207 00 0 00 000007 MOVSS AC 3999 4000 034247 207 00 0 00 000007 MOVSS AC 4001 034250 207 00 0 00 000007 MOVSS AC 4002 034251 312 07 0 00 037667 CAME AC,RAN ;C(AC) SHOULD NOW BE = TO RAN. 4003 034252 011 00 0 00 000005 EERR ,RAN1 4004 034253 312 00 0 00 037563 CAME [0] ;C(AC0) SHOULD STILL = 0. 4005 034254 011 00 0 00 000005 EERR ,RAN1 4006 LOOP MOVSSB,MOVSSC^ 4007 034255 367 06 0 00 034236 SOJG AC-1,MOVSSB ;ITERATION COUNTER 4008 034256 200 07 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4009 034257 321 06 0 00 034242 JUMPL AC-1,MOVSSC ;LOOP ON ERROR SWITCH ^ 4010 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 55 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0108 4011 4012 ;TEST MOVSI. 4013 4014 000010 AC=10 4015 034260 MOVSIA: SETUP 100,0^ 4016 000011 AC1=&17 4017 000012 AC2=&17 4018 000013 AC3=&17 4019 000014 AC4=&17 4020 000015 AC5=&17 4021 000006 RAN1=&17 4022 034260 201 07 0 00 034260 MOVEI AC-1,. 4023 034261 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4024 034262 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4025 034263 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4026 034264 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 4027 034265 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4028 034266 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4029 034267 MOVSIB: RANDOM^ 4030 034267 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4031 034270 270 10 0 00 037562 ADD AC,[142536475076] 4032 034271 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4033 034272 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4034 034273 200 12 0 00 037667 MOVE AC2,RAN ;PUT RAN INTO AN AC. 4035 034274 405 10 0 00 777777 MOVSIC: ANDI AC,-1 ;SIMULATE 4036 034275 241 10 0 00 000022 ROT AC,22 ;A MOVSI INST. 4037 034276 205 11 0 12 000000 MOVSI AC1,(AC2) ;DO MOVSI. 4038 034277 312 11 0 00 000010 CAME AC1,AC ;C(AC1) SHOULD = SIM. ANS. 4039 034300 004 11 0 00 000010 ERROR AC1,AC 4040 LOOP MOVSIB,MOVSIC^ 4041 034301 367 07 0 00 034267 SOJG AC-1,MOVSIB ;ITERATION COUNTER 4042 034302 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4043 034303 321 07 0 00 034274 JUMPL AC-1,MOVSIC ;LOOP ON ERROR SWITCH ^ 4044 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 56 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0109 4045 4046 ;TEST LSH. SIMULATE A LSH 18 PLACES WITH A MOVSI. 4047 4048 000011 AC=11 4049 034304 LSHA: SETUP 200,1^ 4050 000012 AC1=&17 4051 000013 AC2=&17 4052 000014 AC3=&17 4053 000015 AC4=&17 4054 000016 AC5=&17 4055 000007 RAN1=&17 4056 034304 201 10 0 00 034304 MOVEI AC-1,. 4057 034305 202 10 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4058 034306 201 10 0 00 000010 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4059 034307 202 10 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4060 034310 201 10 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 4061 034311 240 10 1 00 030672 ASH AC-1,@CMPLXT+1 ;ROUTINE COMPLEXITY 4062 034312 240 10 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4063 034313 LSHB: RANDOM^ 4064 034313 200 11 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4065 034314 270 11 0 00 037562 ADD AC,[142536475076] 4066 034315 241 11 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4067 034316 447 11 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4068 034317 474 12 0 00 000000 LSHC: SETO AC1, ;SET AC+1 TO ALL ONES. 4069 034320 205 13 0 11 000000 MOVSI AC2,(AC) ;SIMULATE LSH 18 PLACES. 4070 034321 242 11 0 00 000022 LSH AC,22 ;DO LSH 4071 034322 312 11 0 00 000013 CAME AC,AC2 ;C(AC) SHOULD = SIM. ANS. 4072 034323 004 11 0 00 000013 ERROR AC,AC2 4073 034324 312 12 0 00 037565 CAME AC1,[-1] ;AC1 GET CHANGED? 4074 034325 004 12 0 00 037565 ERROR AC1,[-1] ;YES. 4075 LOOP LSHB,LSHC^ 4076 034326 367 10 0 00 034313 SOJG AC-1,LSHB ;ITERATION COUNTER 4077 034327 200 11 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4078 034330 321 10 0 00 034317 JUMPL AC-1,LSHC ;LOOP ON ERROR SWITCH ^ 4079 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 57 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0110 4080 4081 ;TEST LSH RIGHT 18 PLACES. 4082 4083 000010 AC=10 4084 034331 LSH1: SETUP 200,1^ 4085 000011 AC1=&17 4086 000012 AC2=&17 4087 000013 AC3=&17 4088 000014 AC4=&17 4089 000015 AC5=&17 4090 000006 RAN1=&17 4091 034331 201 07 0 00 034331 MOVEI AC-1,. 4092 034332 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4093 034333 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4094 034334 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4095 034335 201 07 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 4096 034336 240 07 1 00 030672 ASH AC-1,@CMPLXT+1 ;ROUTINE COMPLEXITY 4097 034337 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4098 034340 LSH2: RANDOM^ 4099 034340 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4100 034341 270 10 0 00 037562 ADD AC,[142536475076] 4101 034342 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4102 034343 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4103 034344 477 11 0 00 000006 LSH3: SETOB AC1,RAN1 ;SET C(AC+1) TO ALL ONES. 4104 034345 242 10 0 00 777756 LSH AC,-22 ;DO LSH RIGHT 18 PLACES. 4105 034346 204 12 0 00 037667 MOVS AC2,RAN ;SIMULATE 4106 034347 405 12 0 00 777777 ANDI AC2,-1 ;LSH. 4107 034350 312 10 0 00 000012 CAME AC,AC2 ;C(AC) SHOULD = SIM. ANS. 4108 034351 013 00 0 00 777756 EERRI ,-22 4109 034352 312 11 0 00 037565 CAME AC1,[-1] ;C(AC+1) GET CHANGED? 4110 034353 003 06 0 00 777756 ERRI RAN1,-22 4111 LOOP LSH2,LSH3^ 4112 034354 367 07 0 00 034340 SOJG AC-1,LSH2 ;ITERATION COUNTER 4113 034355 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4114 034356 321 07 0 00 034344 JUMPL AC-1,LSH3 ;LOOP ON ERROR SWITCH ^ 4115 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 58 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0111 4116 4117 ;TEST ASH ABILITY TO SET OR NOT SET OVERFLOW FLAG. 4118 4119 000010 AC=10 4120 034357 ASHOV: SETUP 30,0^ 4121 000011 AC1=&17 4122 000012 AC2=&17 4123 000013 AC3=&17 4124 000014 AC4=&17 4125 000015 AC5=&17 4126 000006 RAN1=&17 4127 034357 201 07 0 00 034357 MOVEI AC-1,. 4128 034360 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4129 034361 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4130 034362 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4131 034363 201 07 0 00 000030 MOVEI AC-1,30 ;ROUTINE WEIGHTING 4132 034364 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4133 034365 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4134 034366 474 10 0 00 000000 ASHOV1: SETO AC, ;SET AC TO ALL ONES..1,1 CONDITION. 4135 034367 255 10 0 00 034370 JFCL 10,.+1 ;CLEAR OV FLAG. 4136 034370 240 10 0 00 000001 ASH AC,1 ;DO ASH. 4137 034371 255 10 0 00 034373 JFCL 10,.+2 ;OVERFLOW FLAG GET SET? 4138 034372 254 00 0 00 034374 JRST .+2 ;NO. 4139 034373 005 10 0 00 037567 ER AC,[ASCII /OV/] ;YES. 1,1 CONDITION SHOULD NOT SET IT. 4140 034374 255 10 0 00 034375 JFCL 10,.+1 ;CLEAR OV FLAG. 4141 034375 400 10 0 00 000000 SETZ AC, ;CLEAR AC...0,0 CONDITION. 4142 034376 240 10 0 00 000001 ASH AC,1 ;DO ASH. 4143 034377 255 10 0 00 034401 JFCL 10,.+2 ;OVERFLOW FLAG GET SET? 4144 034400 254 00 0 00 034402 JRST .+2 ;NO. 4145 034401 005 10 0 00 037567 ER AC,[ASCII /OV/] ;YES. 0,0 COND. SHOULDN'T SET IT. 4146 034402 255 10 0 00 034403 JFCL 10,.+1 ;CLEAR OV FLAG. 4147 034403 205 10 0 00 377777 MOVSI AC,377777 ;SET AC FOR 0,1 CONDITION. 4148 034404 240 10 0 00 000001 ASH AC,1 ;DO ASH. 4149 034405 255 10 0 00 034407 JFCL 10,.+2 ;OVERFLOW FLAG GET SET? 4150 034406 005 10 0 00 037567 ER AC,[ASCII /OV/] ;NO. 0,1 COND. SHOULD SET IT. 4151 034407 255 10 0 00 034410 JFCL 10,.+1 ;CLEAR OV FLAG. 4152 034410 205 10 0 00 400000 MOVSI AC,400000 ;SET AC FOR 1,0 CONDITION. 4153 034411 240 10 0 00 000001 ASH AC,1 ;DO ASH. 4154 034412 255 10 0 00 034414 JFCL 10,.+2 ;OV FLAG GET SET? 4155 034413 005 10 0 00 037567 ER AC,[ASCII /OV/] ;NO. 1,0 COND. SHOULD SET IT. 4156 LOOP ASHOV1,ASHOV1^ 4157 034414 367 07 0 00 034366 SOJG AC-1,ASHOV1 ;ITERATION COUNTER 4158 034415 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4159 034416 321 07 0 00 034366 JUMPL AC-1,ASHOV1 ;LOOP ON ERROR SWITCH ^ 4160 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 59 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0112 4161 4162 ;TEST ASH. DO ASH RIGHT 36 PLACES WITH ORIG. 4163 ;C(AC) = 400000000000. AFTER ASH THE C(AC) SHOULD = A -1. 4164 4165 000010 AC=10 4166 034417 ASH1: SETUP 20,0^ 4167 000011 AC1=&17 4168 000012 AC2=&17 4169 000013 AC3=&17 4170 000014 AC4=&17 4171 000015 AC5=&17 4172 000006 RAN1=&17 4173 034417 201 07 0 00 034417 MOVEI AC-1,. 4174 034420 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4175 034421 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4176 034422 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4177 034423 201 07 0 00 000020 MOVEI AC-1,20 ;ROUTINE WEIGHTING 4178 034424 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4179 034425 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4180 034426 200 10 0 00 037570 ASH2: MOVE AC,[XWD 400000,0] ;MAKE C(AC) = ALL 0'S WITH SIGN BIT SET. 4181 034427 240 10 0 00 777734 ASH AC,-44 ;DO ASH RIGHT 36 PLACES...SIGN 4182 034430 312 10 0 00 037565 CAME AC,[-1] ;BIT SHOULD HAVE SET ALL BITS TO A ONE. 4183 034431 004 10 0 00 037565 ERROR AC,[-1] 4184 LOOP ASH2,ASH2^ 4185 034432 367 07 0 00 034426 SOJG AC-1,ASH2 ;ITERATION COUNTER 4186 034433 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4187 034434 321 07 0 00 034426 JUMPL AC-1,ASH2 ;LOOP ON ERROR SWITCH ^ 4188 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 60 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0113 4189 4190 ;TEST ASH. DO ASH LEFT 36 PLACES WITH ORIG. C(AC) = 4191 ;TO A -1. AFTER ASH THE C(AC) SHOULD = THE SIGN 4192 ;BIT SET AND THE REST ZEROS. 4193 4194 000011 AC=11 4195 034435 ASH3: SETUP 20,0^ 4196 000012 AC1=&17 4197 000013 AC2=&17 4198 000014 AC3=&17 4199 000015 AC4=&17 4200 000016 AC5=&17 4201 000007 RAN1=&17 4202 034435 201 10 0 00 034435 MOVEI AC-1,. 4203 034436 202 10 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4204 034437 201 10 0 00 000010 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4205 034440 202 10 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4206 034441 201 10 0 00 000020 MOVEI AC-1,20 ;ROUTINE WEIGHTING 4207 034442 240 10 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4208 034443 240 10 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4209 034444 200 11 0 00 037565 ASH4: MOVE AC,[-1] ;MAKE C(AC) = A -1. 4210 034445 240 11 0 00 000044 ASH AC,44 ;DO ASH LEFT 36 PLACES..0'S GOING 4211 034446 312 11 0 00 037570 CAME AC,[XWD 400000,0] ;INTO BIT 35 SHOULD JUST LEAVE SIGN BIT SET. 4212 034447 004 11 0 00 037563 ERROR AC,[0] 4213 LOOP ASH4,ASH4^ 4214 034450 367 10 0 00 034444 SOJG AC-1,ASH4 ;ITERATION COUNTER 4215 034451 200 11 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4216 034452 321 10 0 00 034444 JUMPL AC-1,ASH4 ;LOOP ON ERROR SWITCH ^ 4217 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 61 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0114 4218 4219 ;TEST ADD. RAN TO 0 CONDITION. 4220 4221 000010 AC=10 4222 034453 ADD1: SETUP 100,0^ 4223 000011 AC1=&17 4224 000012 AC2=&17 4225 000013 AC3=&17 4226 000014 AC4=&17 4227 000015 AC5=&17 4228 000006 RAN1=&17 4229 034453 201 07 0 00 034453 MOVEI AC-1,. 4230 034454 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4231 034455 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4232 034456 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4233 034457 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 4234 034460 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4235 034461 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4236 034462 ADD2: RANDOM^ 4237 034462 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4238 034463 270 10 0 00 037562 ADD AC,[142536475076] 4239 034464 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4240 034465 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4241 034466 400 10 0 00 000000 ADD3: SETZ AC, ;CLEAR AC. 4242 034467 270 10 0 00 037667 ADD AC,RAN ;ADD RAN TO 0. 4243 034470 312 10 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = RAN NUM. 4244 034471 004 10 0 00 037667 ERROR AC,RAN 4245 LOOP ADD2,ADD3^ 4246 034472 367 07 0 00 034462 SOJG AC-1,ADD2 ;ITERATION COUNTER 4247 034473 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4248 034474 321 07 0 00 034466 JUMPL AC-1,ADD3 ;LOOP ON ERROR SWITCH ^ 4249 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 62 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0115 4250 4251 ; TEST ADD. 0 TO RAN CONDITION. 4252 4253 000010 AC=10 4254 034475 ADD1A: SETUP 100,0^ 4255 000011 AC1=&17 4256 000012 AC2=&17 4257 000013 AC3=&17 4258 000014 AC4=&17 4259 000015 AC5=&17 4260 000006 RAN1=&17 4261 034475 201 07 0 00 034475 MOVEI AC-1,. 4262 034476 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4263 034477 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4264 034500 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4265 034501 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 4266 034502 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4267 034503 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4268 034504 ADD2A: RANDOM^ 4269 034504 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4270 034505 270 10 0 00 037562 ADD AC,[142536475076] 4271 034506 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4272 034507 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4273 ;ADD A CONSTANT 0 TO RAN 5 TIMES. 4274 ADD3A: REPEAT 5,< 4275 ADD AC,[0]> 4276 4277 034510 270 10 0 00 037563 ADD AC,[0] 4278 4279 034511 270 10 0 00 037563 ADD AC,[0] 4280 4281 034512 270 10 0 00 037563 ADD AC,[0] 4282 4283 034513 270 10 0 00 037563 ADD AC,[0] 4284 4285 034514 270 10 0 00 037563 ADD AC,[0] 4286 034515 312 10 0 00 037667 CAME AC,RAN ;C(AC) SHOULD STILL = RAN NUM. 4287 034516 004 10 0 00 037667 ERROR AC,RAN 4288 LOOP ADD2A,ADD3A^ 4289 034517 367 07 0 00 034504 SOJG AC-1,ADD2A ;ITERATION COUNTER 4290 034520 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4291 034521 321 07 0 00 034510 JUMPL AC-1,ADD3A ;LOOP ON ERROR SWITCH ^ 4292 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 63 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0116 4293 4294 ;TEST ADD. ADD 1'S COMP OF RAN TO RAN. 4295 ;SHOULD GET A -1. 4296 4297 000010 AC=10 4298 034522 ADD1B: SETUP 100,0^ 4299 000011 AC1=&17 4300 000012 AC2=&17 4301 000013 AC3=&17 4302 000014 AC4=&17 4303 000015 AC5=&17 4304 000006 RAN1=&17 4305 034522 201 07 0 00 034522 MOVEI AC-1,. 4306 034523 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4307 034524 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4308 034525 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4309 034526 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 4310 034527 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4311 034530 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4312 034531 ADD2B: RANDOM^ 4313 034531 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4314 034532 270 10 0 00 037562 ADD AC,[142536475076] 4315 034533 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4316 034534 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4317 034535 460 11 0 00 037667 ADD3B: SETCM AC1,RAN ;1'S COMP OF RAN TO AC1. 4318 034536 270 10 0 00 000011 ADD AC,AC1 ;ADD IT TO RAN. 4319 034537 312 10 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = -1. 4320 034540 004 10 0 00 037565 ERROR AC,[-1] 4321 LOOP ADD2B,ADD3B^ 4322 034541 367 07 0 00 034531 SOJG AC-1,ADD2B ;ITERATION COUNTER 4323 034542 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4324 034543 321 07 0 00 034535 JUMPL AC-1,ADD3B ;LOOP ON ERROR SWITCH ^ 4325 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 64 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0117 4326 4327 ;TEST ADD. CHECK CRY0,CRY1,AND OV FLAGS. 4328 ;ADD, TO A RANDOM NUMBER, A -1 AND THEN A +1. 4329 ;CRY0 AND CRY1 SHOULD BOTH GET SET AND AROV SHOULD NOT GET SET. 4330 4331 000010 AC=10 4332 034544 ADD1C: SETUP 400,2^ 4333 000011 AC1=&17 4334 000012 AC2=&17 4335 000013 AC3=&17 4336 000014 AC4=&17 4337 000015 AC5=&17 4338 000006 RAN1=&17 4339 034544 201 07 0 00 034544 MOVEI AC-1,. 4340 034545 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4341 034546 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4342 034547 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4343 034550 201 07 0 00 000400 MOVEI AC-1,400 ;ROUTINE WEIGHTING 4344 034551 240 07 1 00 030673 ASH AC-1,@CMPLXT+2 ;ROUTINE COMPLEXITY 4345 034552 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4346 034553 ADD2C: RANDOM^ 4347 034553 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4348 034554 270 10 0 00 037562 ADD AC,[142536475076] 4349 034555 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4350 034556 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4351 034557 255 17 0 00 034560 ADD3C: JFCL 17,.+1 ;CLEAR ALL FLAGS. 4352 034560 270 10 0 00 037565 ADD AC,[-1] ;ADD A -1 TO RAN. 4353 034561 270 10 0 00 037571 ADD AC,[1] ;ADD A +1 TO ANS OF ADDITION OF RAN AND A -1. 4354 034562 312 10 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = ORIG C(AC). 4355 034563 004 10 0 00 037667 ERROR AC,RAN 4356 034564 255 04 0 00 034570 JFCL 4,CRY0A 4357 034565 255 02 0 00 034567 JFCL 2,.+2 4358 034566 254 00 0 00 034573 JRST BOTHF 4359 034567 005 10 0 00 037572 ER AC,[ASCII /CRY0/];CRY0 FAILED TO GET SET. 4360 034570 255 02 0 00 034572 CRY0A: JFCL 2,.+2 4361 034571 005 10 0 00 037573 ER AC,[ASCII /CRY1/];CRY1 FAILED TO GET SET. 4362 034572 254 00 0 00 034574 JRST AROVA 4363 034573 005 10 0 00 037574 BOTHF: ER AC,[ASCII /CRY01/];BOTH CRY0 + CRY1 FAILED TO GET SET. 4364 034574 255 10 0 00 034576 AROVA: JFCL 10,.+2 4365 034575 254 00 0 00 034577 JRST ADD4C 4366 034576 005 10 0 00 037567 ER AC,[ASCII /OV/] ;AROV GOT SET. 4367 034577 ADD4C: LOOP ADD2C,ADD3C^ 4368 034577 367 07 0 00 034553 SOJG AC-1,ADD2C ;ITERATION COUNTER 4369 034600 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4370 034601 321 07 0 00 034557 JUMPL AC-1,ADD3C ;LOOP ON ERROR SWITCH ^ 4371 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 65 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0118 4372 4373 ;TEST ADDM. WHERE E IS AN AC. 4374 ;RAN TO 0 CONDITION. 4375 4376 000004 AC=4 4377 034602 ADDM1: SETUP 100,0^ 4378 000005 AC1=&17 4379 000006 AC2=&17 4380 000007 AC3=&17 4381 000010 AC4=&17 4382 000011 AC5=&17 4383 000002 RAN1=&17 4384 034602 201 03 0 00 034602 MOVEI AC-1,. 4385 034603 202 03 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4386 034604 201 03 0 00 000003 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4387 034605 202 03 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4388 034606 201 03 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 4389 034607 240 03 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4390 034610 240 03 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4391 034611 ADDM2: RANDOM^ 4392 034611 200 04 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4393 034612 270 04 0 00 037562 ADD AC,[142536475076] 4394 034613 241 04 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4395 034614 447 04 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4396 034615 200 06 0 00 037667 MOVE AC2,RAN ;SAVE RAN IN AN AC. 4397 034616 403 05 0 00 000002 ADDM3: SETZB AC1,RAN1 ;MAKE C(E) = 0. 4398 034617 272 04 0 00 000005 ADDM AC,AC1 ;DO ADDM. 4399 034620 312 06 0 00 000005 CAME AC2,AC1 ;C(E) SHOULD =ORIG C(AC). 4400 034621 002 02 0 00 037667 ERRM RAN1,RAN 4401 LOOP ADDM2,ADDM3^ 4402 034622 367 03 0 00 034611 SOJG AC-1,ADDM2 ;ITERATION COUNTER 4403 034623 200 04 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4404 034624 321 03 0 00 034616 JUMPL AC-1,ADDM3 ;LOOP ON ERROR SWITCH ^ 4405 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 66 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0119 4406 4407 ;TEST ADDM. WHERE E IS AN AC. 4408 ;0 TO RAN CONDITION. 4409 4410 000005 AC=5 4411 034625 ADDM1A: SETUP 100,0^ 4412 000006 AC1=&17 4413 000007 AC2=&17 4414 000010 AC3=&17 4415 000011 AC4=&17 4416 000012 AC5=&17 4417 000003 RAN1=&17 4418 034625 201 04 0 00 034625 MOVEI AC-1,. 4419 034626 202 04 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4420 034627 201 04 0 00 000004 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4421 034630 202 04 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4422 034631 201 04 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 4423 034632 240 04 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4424 034633 240 04 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4425 034634 ADDM2A: RANDOM^ 4426 034634 200 05 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4427 034635 270 05 0 00 037562 ADD AC,[142536475076] 4428 034636 241 05 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4429 034637 447 05 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4430 034640 200 07 0 00 037667 MOVE AC2,RAN ;SAVE RAN IN AN AC. 4431 034641 403 06 0 00 000003 ADDM3A: SETZB AC1,RAN1 ;MAKE C(AC) = 0. 4432 034642 272 06 0 00 000005 ADDM AC1,AC ;DO ADDM. 4433 034643 312 07 0 00 000005 CAME AC2,AC ;C(E) SHOULD = ORIG C(E). 4434 034644 012 00 0 00 000003 EERRM ,RAN1 4435 LOOP ADDM2A,ADDM3A^ 4436 034645 367 04 0 00 034634 SOJG AC-1,ADDM2A ;ITERATION COUNTER 4437 034646 200 05 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4438 034647 321 04 0 00 034641 JUMPL AC-1,ADDM3A ;LOOP ON ERROR SWITCH ^ 4439 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 67 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0120 4440 4441 ;TEST ADDM. WHERE E IS AN AC. 4442 ;1'S COMP RAN TO RAN. 4443 4444 000006 AC=6 4445 034650 ADDM1B: SETUP 100,0^ 4446 000007 AC1=&17 4447 000010 AC2=&17 4448 000011 AC3=&17 4449 000012 AC4=&17 4450 000013 AC5=&17 4451 000004 RAN1=&17 4452 034650 201 05 0 00 034650 MOVEI AC-1,. 4453 034651 202 05 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4454 034652 201 05 0 00 000005 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4455 034653 202 05 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4456 034654 201 05 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 4457 034655 240 05 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4458 034656 240 05 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4459 034657 ADDM2B: RANDOM^ 4460 034657 200 06 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4461 034660 270 06 0 00 037562 ADD AC,[142536475076] 4462 034661 241 06 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4463 034662 447 06 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4464 034663 460 07 0 00 000006 ADDM3B: SETCM AC1,AC ;MAKE C(AC) = 1'S COMP OF C(E). 4465 034664 200 04 0 00 000007 MOVE RAN1,AC1 ;SAVE C(AC) IN CASE OF ERROR. 4466 034665 272 07 0 00 000006 ADDM AC1,AC ;DO ADDM. 4467 034666 312 06 0 00 037565 CAME AC,[-1] ;C(E) SHOULD = A -1. 4468 034667 012 00 0 00 000004 EERRM ,RAN1 4469 LOOP ADDM2B,ADDM3B^ 4470 034670 367 05 0 00 034657 SOJG AC-1,ADDM2B ;ITERATION COUNTER 4471 034671 200 06 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4472 034672 321 05 0 00 034663 JUMPL AC-1,ADDM3B ;LOOP ON ERROR SWITCH ^ 4473 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 68 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0121 4474 4475 ;TEST ADDI. CHECK C(AC) FOR CORRECT DATA. 4476 ;0 TO RAN CONDITION. 4477 4478 000002 AC=2 4479 034673 ADDI1: SETUP 20,0^ 4480 000003 AC1=&17 4481 000004 AC2=&17 4482 000005 AC3=&17 4483 000006 AC4=&17 4484 000007 AC5=&17 4485 000000 RAN1=&17 4486 034673 201 01 0 00 034673 MOVEI AC-1,. 4487 034674 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4488 034675 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4489 034676 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4490 034677 201 01 0 00 000020 MOVEI AC-1,20 ;ROUTINE WEIGHTING 4491 034700 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4492 034701 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4493 034702 ADDI2: RANDOM^ 4494 034702 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4495 034703 270 02 0 00 037562 ADD AC,[142536475076] 4496 034704 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4497 034705 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4498 034706 271 02 0 00 000000 ADDI3: ADDI AC,0 ;DO ADDI. 4499 034707 312 02 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = ORIG C(AC). 4500 034710 013 00 0 00 000000 EERRI ,0 4501 LOOP ADDI2,ADDI3^ 4502 034711 367 01 0 00 034702 SOJG AC-1,ADDI2 ;ITERATION COUNTER 4503 034712 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4504 034713 321 01 0 00 034706 JUMPL AC-1,ADDI3 ;LOOP ON ERROR SWITCH ^ 4505 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 69 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0122 4506 4507 ;TEST ADDI. CHECK FOR CORRECT DATA IN AC. 4508 ;RAN TO 0 CONDITION. 4509 4510 000002 AC=2 4511 034714 ADDI1A: SETUP 100,0^ 4512 000003 AC1=&17 4513 000004 AC2=&17 4514 000005 AC3=&17 4515 000006 AC4=&17 4516 000007 AC5=&17 4517 000000 RAN1=&17 4518 034714 201 01 0 00 034714 MOVEI AC-1,. 4519 034715 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4520 034716 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4521 034717 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4522 034720 201 01 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 4523 034721 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4524 034722 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4525 034723 ADDI2A: RANDOM^ 4526 034723 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4527 034724 270 02 0 00 037562 ADD AC,[142536475076] 4528 034725 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4529 034726 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4530 034727 403 03 0 00 000000 ADDI3A: SETZB AC1,RAN1 ;CLEAR C(AC). 4531 034730 201 04 0 02 000000 MOVEI AC2,(AC) ;SIMULATE ADDI. 4532 034731 271 03 0 02 000000 ADDI AC1,(AC) ;DO ADDI. 4533 034732 312 03 0 00 000004 CAME AC1,AC2 ;C(AC) SHOULD = SIM. ANS. 4534 034733 003 00 0 02 000000 ERRI RAN1,(AC) 4535 LOOP ADDI2A,ADDI3A^ 4536 034734 367 01 0 00 034723 SOJG AC-1,ADDI2A ;ITERATION COUNTER 4537 034735 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4538 034736 321 01 0 00 034727 JUMPL AC-1,ADDI3A ;LOOP ON ERROR SWITCH ^ 4539 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 70 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0123 4540 4541 ;TEST ADDI. CHECK FOR CORRECT DATA IN AC. 4542 ;1'S COMP RAN TO RAN. 4543 4544 000003 AC=3 4545 034737 ADDI1B: SETUP 40,0^ 4546 000004 AC1=&17 4547 000005 AC2=&17 4548 000006 AC3=&17 4549 000007 AC4=&17 4550 000010 AC5=&17 4551 000001 RAN1=&17 4552 034737 201 02 0 00 034737 MOVEI AC-1,. 4553 034740 202 02 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4554 034741 201 02 0 00 000002 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4555 034742 202 02 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4556 034743 201 02 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 4557 034744 240 02 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4558 034745 240 02 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4559 034746 ADDI2B: RANDOM^ 4560 034746 200 03 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4561 034747 270 03 0 00 037562 ADD AC,[142536475076] 4562 034750 241 03 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4563 034751 447 03 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4564 034752 460 04 0 00 000003 ADDI3B: SETCM AC1,AC ;MAKE C(AC) = 1'S COMP OF E. 4565 034753 200 05 0 00 000004 MOVE AC2,AC1 ;SIMULATE 4566 034754 435 05 0 00 777777 IORI AC2,-1 ;ADDI INST. 4567 034755 200 01 0 00 000004 MOVE RAN1,AC1 ;SAVE C(AC) IN CASE OF ERROR. 4568 034756 271 04 0 03 000000 ADDI AC1,(AC) ;DO ADDI. 4569 034757 312 04 0 00 000005 CAME AC1,AC2 ;C(AC) SHOULD = SIM. ANS. 4570 034760 003 01 0 03 000000 ERRI RAN1,(AC) 4571 LOOP ADDI2B,ADDI3B^ 4572 034761 367 02 0 00 034746 SOJG AC-1,ADDI2B ;ITERATION COUNTER 4573 034762 200 03 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4574 034763 321 02 0 00 034752 JUMPL AC-1,ADDI3B ;LOOP ON ERROR SWITCH ^ 4575 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 71 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0124 4576 4577 ;TEST ADDB. CHECK FOR C(AC) = C(E), AND CORRECT 4578 ;DATA IN AC FOR 0 TO RAN CONDITION. 4579 4580 000004 AC=4 4581 034764 ADDB1: SETUP 100,0^ 4582 000005 AC1=&17 4583 000006 AC2=&17 4584 000007 AC3=&17 4585 000010 AC4=&17 4586 000011 AC5=&17 4587 000002 RAN1=&17 4588 034764 201 03 0 00 034764 MOVEI AC-1,. 4589 034765 202 03 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4590 034766 201 03 0 00 000003 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4591 034767 202 03 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4592 034770 201 03 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 4593 034771 240 03 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4594 034772 240 03 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4595 034773 ADDB2: RANDOM^ 4596 034773 200 04 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4597 034774 270 04 0 00 037562 ADD AC,[142536475076] 4598 034775 241 04 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4599 034776 447 04 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4600 034777 403 05 0 00 000002 ADDB3: SETZB AC1,RAN1 ;CLEAR C(E). 4601 035000 273 04 0 00 000005 ADDB AC,AC1 ;DO ADDB. 4602 035001 312 04 0 00 000005 CAME AC,AC1 ;C(AC) SHOULLD = C(E). 4603 035002 001 02 0 00 037667 ERR RAN1,RAN 4604 035003 312 04 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = ORIG C(AC). 4605 035004 001 02 0 00 037667 ERR RAN1,RAN 4606 LOOP ADDB2,ADDB3^ 4607 035005 367 03 0 00 034773 SOJG AC-1,ADDB2 ;ITERATION COUNTER 4608 035006 200 04 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4609 035007 321 03 0 00 034777 JUMPL AC-1,ADDB3 ;LOOP ON ERROR SWITCH ^ 4610 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 72 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0125 4611 4612 ;TEST ADDB. CHECK FOR C(AC) = C(E), AND CORRECT 4613 ;DATA IN AC FOR RAN TO 0 CONDITION. 4614 4615 000005 AC=5 4616 035010 ADDB1A: SETUP 100,0^ 4617 000006 AC1=&17 4618 000007 AC2=&17 4619 000010 AC3=&17 4620 000011 AC4=&17 4621 000012 AC5=&17 4622 000003 RAN1=&17 4623 035010 201 04 0 00 035010 MOVEI AC-1,. 4624 035011 202 04 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4625 035012 201 04 0 00 000004 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4626 035013 202 04 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4627 035014 201 04 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 4628 035015 240 04 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4629 035016 240 04 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4630 035017 ADDB2A: RANDOM^ 4631 035017 200 05 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4632 035020 270 05 0 00 037562 ADD AC,[142536475076] 4633 035021 241 05 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4634 035022 447 05 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4635 035023 403 06 0 00 000003 ADDB3A: SETZB AC1,RAN1 ;CLEAR C(AC). 4636 035024 273 06 0 00 000005 ADDB AC1,AC ;DO ADDB. 4637 035025 312 06 0 00 000005 CAME AC1,AC ;C(AC) SHOULD = C(E). 4638 035026 011 00 0 00 000003 EERR ,RAN1 4639 035027 312 06 0 00 037667 CAME AC1,RAN ;C(AC) SHOULD = ORIG C(E). 4640 035030 011 00 0 00 000003 EERR ,RAN1 4641 LOOP ADDB2A,ADDB3A^ 4642 035031 367 04 0 00 035017 SOJG AC-1,ADDB2A ;ITERATION COUNTER 4643 035032 200 05 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4644 035033 321 04 0 00 035023 JUMPL AC-1,ADDB3A ;LOOP ON ERROR SWITCH ^ 4645 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 73 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0126 4646 4647 ;TEST ADDB. CHECK FOR C(AC) = C(E), AND CORRECT DATA 4648 ;IN AC FOR NOT RAN TO RAN CONDITION. 4649 4650 000006 AC=6 4651 035034 ADDB1B: SETUP 100,0^ 4652 000007 AC1=&17 4653 000010 AC2=&17 4654 000011 AC3=&17 4655 000012 AC4=&17 4656 000013 AC5=&17 4657 000004 RAN1=&17 4658 035034 201 05 0 00 035034 MOVEI AC-1,. 4659 035035 202 05 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4660 035036 201 05 0 00 000005 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4661 035037 202 05 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4662 035040 201 05 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 4663 035041 240 05 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4664 035042 240 05 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4665 035043 ADDB2B: RANDOM^ 4666 035043 200 06 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4667 035044 270 06 0 00 037562 ADD AC,[142536475076] 4668 035045 241 06 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4669 035046 447 06 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4670 035047 460 07 0 00 000006 ADDB3B: SETCM AC1,AC ;MAKE C(E) = 1'S COMP OF C(AC). 4671 035050 200 04 0 00 000007 MOVE RAN1,AC1 ;SAVE C(E) IN CASE OF ERROR. 4672 035051 273 06 0 00 000007 ADDB AC,AC1 ;DO ADDB. 4673 035052 312 06 0 00 000007 CAME AC,AC1 ;C(AC) SHOULD = C(E). 4674 035053 001 04 0 00 037667 ERR RAN1,RAN 4675 035054 312 06 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = A -1. 4676 035055 001 04 0 00 037667 ERR RAN1,RAN 4677 LOOP ADDB2B,ADDB3B^ 4678 035056 367 05 0 00 035043 SOJG AC-1,ADDB2B ;ITERATION COUNTER 4679 035057 200 06 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4680 035060 321 05 0 00 035047 JUMPL AC-1,ADDB3B ;LOOP ON ERROR SWITCH ^ 4681 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 74 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0127 4682 4683 ;TEST SUB. CHECK C(AC) FOR CORRECT DATA. 4684 ;0 TO RAN CONDITION. 4685 4686 000002 AC=2 4687 035061 SUB1: SETUP 100,0^ 4688 000003 AC1=&17 4689 000004 AC2=&17 4690 000005 AC3=&17 4691 000006 AC4=&17 4692 000007 AC5=&17 4693 000000 RAN1=&17 4694 035061 201 01 0 00 035061 MOVEI AC-1,. 4695 035062 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4696 035063 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4697 035064 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4698 035065 201 01 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 4699 035066 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4700 035067 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4701 035070 SUB2: RANDOM^ 4702 035070 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4703 035071 270 02 0 00 037562 ADD AC,[142536475076] 4704 035072 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4705 035073 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4706 035074 403 03 0 00 000000 SUB3: SETZB AC1,RAN1 ;CLEAR C(E). 4707 4708 REPEAT 3,< 4709 SUB AC,AC1> 4710 4711 035075 274 02 0 00 000003 SUB AC,AC1 4712 4713 035076 274 02 0 00 000003 SUB AC,AC1 4714 4715 035077 274 02 0 00 000003 SUB AC,AC1 4716 035100 312 02 0 00 037667 CAME AC,RAN ;C(AC) SHOULD STILL = ORIG C(AC). 4717 035101 001 00 0 00 037667 ERR RAN1,RAN 4718 LOOP SUB2,SUB3^ 4719 035102 367 01 0 00 035070 SOJG AC-1,SUB2 ;ITERATION COUNTER 4720 035103 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4721 035104 321 01 0 00 035074 JUMPL AC-1,SUB3 ;LOOP ON ERROR SWITCH ^ 4722 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 75 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0128 4723 4724 ;TEST SUB. CHECK C(AC) FOR CORRECT DATA. 4725 ;RAN TO 0 CONDITION. 4726 4727 000002 AC=2 4728 035105 SUB1A: SETUP 100,0^ 4729 000003 AC1=&17 4730 000004 AC2=&17 4731 000005 AC3=&17 4732 000006 AC4=&17 4733 000007 AC5=&17 4734 000000 RAN1=&17 4735 035105 201 01 0 00 035105 MOVEI AC-1,. 4736 035106 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4737 035107 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4738 035110 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4739 035111 201 01 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 4740 035112 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4741 035113 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4742 035114 SUB1B: RANDOM^ 4743 035114 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4744 035115 270 02 0 00 037562 ADD AC,[142536475076] 4745 035116 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4746 035117 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4747 035120 403 03 0 00 000000 SUB1C: SETZB AC1,RAN1 ;CLEAR C(AC). 4748 035121 210 04 0 00 037667 MOVN AC2,RAN ;ANY NUM FROM 0 = 2'S COMP OF THAT NUM. 4749 035122 274 03 0 00 000002 SUB AC1,AC ;SUBTRACT RAN FROM 0. 4750 035123 312 03 0 00 000004 CAME AC1,AC2 ;C(AC) SHOULD = SIM. ANS. 4751 035124 011 00 0 00 000000 EERR ,RAN1 4752 LOOP SUB1B,SUB1C^ 4753 035125 367 01 0 00 035114 SOJG AC-1,SUB1B ;ITERATION COUNTER 4754 035126 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4755 035127 321 01 0 00 035120 JUMPL AC-1,SUB1C ;LOOP ON ERROR SWITCH ^ 4756 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 76 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0129 4757 4758 ;TEST SUB. CHECK C(AC) FOR CORRECT DATA. 4759 ;SUB RAN FROM RAN. 4760 4761 000002 AC=2 4762 035130 SUB2A: SETUP 100,0^ 4763 000003 AC1=&17 4764 000004 AC2=&17 4765 000005 AC3=&17 4766 000006 AC4=&17 4767 000007 AC5=&17 4768 000000 RAN1=&17 4769 035130 201 01 0 00 035130 MOVEI AC-1,. 4770 035131 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4771 035132 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4772 035133 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4773 035134 201 01 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 4774 035135 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4775 035136 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4776 035137 SUB2B: RANDOM^ 4777 035137 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4778 035140 270 02 0 00 037562 ADD AC,[142536475076] 4779 035141 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4780 035142 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4781 035143 200 03 0 00 000002 SUB2C: MOVE AC1,AC ;MAKE C(E) = C(AC). 4782 035144 274 02 0 00 000003 SUB AC,AC1 ;SUB RAN FROM RAN. 4783 035145 312 02 0 00 037563 CAME AC,[0] ;C(AC) SHOULD = 0. 4784 035146 011 00 0 00 037667 EERR ,RAN 4785 LOOP SUB2B,SUB2C^ 4786 035147 367 01 0 00 035137 SOJG AC-1,SUB2B ;ITERATION COUNTER 4787 035150 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4788 035151 321 01 0 00 035143 JUMPL AC-1,SUB2C ;LOOP ON ERROR SWITCH ^ 4789 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 77 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0130 4790 4791 ;TEST SUBM. WHERE E IS AN AC. 4792 ;RAN TO 0 CONDITION. 4793 4794 000007 AC=7 4795 035152 SUBM1: SETUP 100,0^ 4796 000010 AC1=&17 4797 000011 AC2=&17 4798 000012 AC3=&17 4799 000013 AC4=&17 4800 000014 AC5=&17 4801 000005 RAN1=&17 4802 035152 201 06 0 00 035152 MOVEI AC-1,. 4803 035153 202 06 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4804 035154 201 06 0 00 000006 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4805 035155 202 06 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4806 035156 201 06 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 4807 035157 240 06 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4808 035160 240 06 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4809 035161 SUBM2: RANDOM^ 4810 035161 200 07 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4811 035162 270 07 0 00 037562 ADD AC,[142536475076] 4812 035163 241 07 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4813 035164 447 07 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4814 035165 403 10 0 00 000005 SUBM3: SETZB AC1,RAN1 ;CLEAR C(AC). 4815 035166 210 11 0 00 000007 MOVN AC2,AC ;SIM SUB..RAN FROM 0 = 2'S COMP RAN. 4816 035167 276 10 0 00 000007 SUBM AC1,AC ;DO SUBM. 4817 035170 312 11 0 00 000007 CAME AC2,AC ;C(E) SHOULD = SIM. ANS. 4818 035171 012 00 0 00 000005 EERRM ,RAN1 4819 LOOP SUBM2,SUBM3^ 4820 035172 367 06 0 00 035161 SOJG AC-1,SUBM2 ;ITERATION COUNTER 4821 035173 200 07 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4822 035174 321 06 0 00 035165 JUMPL AC-1,SUBM3 ;LOOP ON ERROR SWITCH ^ 4823 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 78 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0131 4824 ;TEST SUBM. SHERE E IS AN AC. 4825 ;0 TO RAN CONDITION. 4826 4827 000010 AC=10 4828 035175 SUBM1A: SETUP 100,0^ 4829 000011 AC1=&17 4830 000012 AC2=&17 4831 000013 AC3=&17 4832 000014 AC4=&17 4833 000015 AC5=&17 4834 000006 RAN1=&17 4835 035175 201 07 0 00 035175 MOVEI AC-1,. 4836 035176 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4837 035177 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4838 035200 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4839 035201 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 4840 035202 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4841 035203 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4842 035204 SUBM2A: RANDOM^ 4843 035204 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4844 035205 270 10 0 00 037562 ADD AC,[142536475076] 4845 035206 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4846 035207 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4847 035210 200 12 0 00 037667 MOVE AC2,RAN ;SAVE RAN IN AN AC. 4848 035211 403 11 0 00 000006 SUBM3A: SETZB AC1,RAN1 ;CLEAR C(E). 4849 035212 276 10 0 00 000011 SUBM AC,AC1 ;DO SUBM...0 FROM RAN = RAN. 4850 035213 312 12 0 00 000011 CAME AC2,AC1 ;C(E) SHOULD = ORIG C(AC). 4851 035214 002 06 0 00 037667 ERRM RAN1,RAN 4852 035215 312 10 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = ORIG C(AC). 4853 035216 002 06 0 00 037667 ERRM RAN1,RAN 4854 LOOP SUBM2A,SUBM3A^ 4855 035217 367 07 0 00 035204 SOJG AC-1,SUBM2A ;ITERATION COUNTER 4856 035220 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4857 035221 321 07 0 00 035211 JUMPL AC-1,SUBM3A ;LOOP ON ERROR SWITCH ^ 4858 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 79 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0132 4859 4860 ;TEST SUBM. WHERE E IS AN AC. 4861 ;RAN TO RAN CONDITION. 4862 4863 000011 AC=11 4864 035222 SUBM1B: SETUP 100,0^ 4865 000012 AC1=&17 4866 000013 AC2=&17 4867 000014 AC3=&17 4868 000015 AC4=&17 4869 000016 AC5=&17 4870 000007 RAN1=&17 4871 035222 201 10 0 00 035222 MOVEI AC-1,. 4872 035223 202 10 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4873 035224 201 10 0 00 000010 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4874 035225 202 10 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4875 035226 201 10 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 4876 035227 240 10 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4877 035230 240 10 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4878 035231 SUBM2B: RANDOM^ 4879 035231 200 11 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4880 035232 270 11 0 00 037562 ADD AC,[142536475076] 4881 035233 241 11 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4882 035234 447 11 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4883 035235 200 12 0 00 000011 SUBM3B: MOVE AC1,AC ;MAKE C(E) = C(AC). 4884 035236 276 11 0 00 000012 SUBM AC,AC1 ;DO SUBM. 4885 035237 312 12 0 00 037563 CAME AC1,[0] ;C(E) SHOULD = 0. 4886 035240 012 00 0 00 037667 EERRM ,RAN 4887 035241 312 11 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = ORIG C(AC). 4888 035242 012 00 0 00 037667 EERRM ,RAN 4889 LOOP SUBM2B,SUBM3B^ 4890 035243 367 10 0 00 035231 SOJG AC-1,SUBM2B ;ITERATION COUNTER 4891 035244 200 11 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4892 035245 321 10 0 00 035235 JUMPL AC-1,SUBM3B ;LOOP ON ERROR SWITCH ^ 4893 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 80 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0133 4894 4895 ;TEST SUBI. CHECK C(AC) FOR CORRECT DATA. 4896 ;0 TO RAN CONDITION. 4897 4898 000010 AC=10 4899 035246 SUBI1: SETUP 20,0^ 4900 000011 AC1=&17 4901 000012 AC2=&17 4902 000013 AC3=&17 4903 000014 AC4=&17 4904 000015 AC5=&17 4905 000006 RAN1=&17 4906 035246 201 07 0 00 035246 MOVEI AC-1,. 4907 035247 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4908 035250 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4909 035251 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4910 035252 201 07 0 00 000020 MOVEI AC-1,20 ;ROUTINE WEIGHTING 4911 035253 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4912 035254 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4913 035255 SUBI2: RANDOM^ 4914 035255 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4915 035256 270 10 0 00 037562 ADD AC,[142536475076] 4916 035257 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4917 035260 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4918 035261 275 10 0 00 000000 SUBI3: SUBI AC,0 ;DO SUBI..0 FROM RAN = RAN. 4919 035262 312 10 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = ORIG C(AC). 4920 035263 013 00 0 00 000000 EERRI ,0 4921 LOOP SUBI2,SUBI3^ 4922 035264 367 07 0 00 035255 SOJG AC-1,SUBI2 ;ITERATION COUNTER 4923 035265 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4924 035266 321 07 0 00 035261 JUMPL AC-1,SUBI3 ;LOOP ON ERROR SWITCH ^ 4925 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 81 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0134 4926 4927 ;TEST SUBI. CHECK C(AC) FOR CORRECT DATA. 4928 ;RAN TO 0 CONDITION. 4929 4930 000010 AC=10 4931 035267 SUBI1A: SETUP 20,0^ 4932 000011 AC1=&17 4933 000012 AC2=&17 4934 000013 AC3=&17 4935 000014 AC4=&17 4936 000015 AC5=&17 4937 000006 RAN1=&17 4938 035267 201 07 0 00 035267 MOVEI AC-1,. 4939 035270 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4940 035271 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4941 035272 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4942 035273 201 07 0 00 000020 MOVEI AC-1,20 ;ROUTINE WEIGHTING 4943 035274 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4944 035275 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4945 035276 SUBI2A: RANDOM^ 4946 035276 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4947 035277 270 10 0 00 037562 ADD AC,[142536475076] 4948 035300 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4949 035301 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4950 035302 403 11 0 00 000006 SUBI3A: SETZB AC1,RAN1 ;CLEAR C(AC). 4951 035303 211 12 0 10 000000 MOVNI AC2,(AC) ;SIM SUB..RAN FROM 0 = 2'S COMP RAN. 4952 035304 275 11 0 10 000000 SUBI AC1,(AC) ;DO SUBI. 4953 035305 312 11 0 00 000012 CAME AC1,AC2 ;C(AC) SHOULD = SIM ANS. 4954 035306 003 06 0 10 000000 ERRI RAN1,(AC) 4955 LOOP SUBI2A,SUBI3A^ 4956 035307 367 07 0 00 035276 SOJG AC-1,SUBI2A ;ITERATION COUNTER 4957 035310 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4958 035311 321 07 0 00 035302 JUMPL AC-1,SUBI3A ;LOOP ON ERROR SWITCH ^ 4959 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 82 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0135 4960 4961 ;TEST SUBI. CHECK C(AC) FOR CORRECT DATA. 4962 ;RAN TO RAN CONDITION. 4963 4964 000010 AC=10 4965 035312 SUBI1B: SETUP 20,0^ 4966 000011 AC1=&17 4967 000012 AC2=&17 4968 000013 AC3=&17 4969 000014 AC4=&17 4970 000015 AC5=&17 4971 000006 RAN1=&17 4972 035312 201 07 0 00 035312 MOVEI AC-1,. 4973 035313 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 4974 035314 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 4975 035315 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 4976 035316 201 07 0 00 000020 MOVEI AC-1,20 ;ROUTINE WEIGHTING 4977 035317 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 4978 035320 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 4979 035321 SUBI2B: RANDOM^ 4980 035321 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 4981 035322 270 10 0 00 037562 ADD AC,[142536475076] 4982 035323 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 4983 035324 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 4984 035325 200 06 0 00 000010 MOVE RAN1,AC ;SAVE C(AC) IN CASE OF ERROR. 4985 035326 200 11 0 00 000010 SUBI3B: MOVE AC1,AC ;SIMULATE A 4986 035327 404 11 0 00 037575 AND AC1,[XWD -1,0] ;SUBI RAN FROM RAN. 4987 035330 275 10 0 10 000000 SUBI AC,(AC) ;DO SUBI. 4988 035331 312 10 0 00 000011 CAME AC,AC1 ;C(AC) SHOULD = SIM. ANS. 4989 035332 003 06 0 06 000000 ERRI RAN1,(RAN1) 4990 LOOP SUBI2B,SUBI3B^ 4991 035333 367 07 0 00 035321 SOJG AC-1,SUBI2B ;ITERATION COUNTER 4992 035334 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 4993 035335 321 07 0 00 035326 JUMPL AC-1,SUBI3B ;LOOP ON ERROR SWITCH ^ 4994 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 83 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0136 4995 4996 ;TEST SUBB. CHECK THAT C(AC) = C(E) AND C(AC) 4997 ;= CORRECT DATA. 4998 ;0 TO RAN. 4999 5000 000010 AC=10 5001 035336 SUBB1: SETUP 20,0^ 5002 000011 AC1=&17 5003 000012 AC2=&17 5004 000013 AC3=&17 5005 000014 AC4=&17 5006 000015 AC5=&17 5007 000006 RAN1=&17 5008 035336 201 07 0 00 035336 MOVEI AC-1,. 5009 035337 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5010 035340 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5011 035341 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5012 035342 201 07 0 00 000020 MOVEI AC-1,20 ;ROUTINE WEIGHTING 5013 035343 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5014 035344 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5015 035345 SUBB2: RANDOM^ 5016 035345 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5017 035346 270 10 0 00 037562 ADD AC,[142536475076] 5018 035347 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5019 035350 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5020 035351 403 11 0 00 000006 SUBB3: SETZB AC1,RAN1 ;CLEAR C(E). 5021 035352 277 10 0 00 000011 SUBB AC,AC1 ;DO SUBB..0 FROM RAN = RAN. 5022 035353 312 10 0 00 000011 CAME AC,AC1 ;C(AC) SHOULD = C(E). 5023 035354 001 06 0 00 037667 ERR RAN1,RAN 5024 035355 312 10 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = ORIG C(AC). 5025 035356 001 06 0 00 037667 ERR RAN1,RAN 5026 LOOP SUBB2,SUBB3^ 5027 035357 367 07 0 00 035345 SOJG AC-1,SUBB2 ;ITERATION COUNTER 5028 035360 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5029 035361 321 07 0 00 035351 JUMPL AC-1,SUBB3 ;LOOP ON ERROR SWITCH ^ 5030 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 84 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0137 5031 5032 ;TEST SUBB. CHECK C(AC) = C(E) AND C(AC) FOR 5033 ;CORRECT DATA. 5034 ;RAN TO 0 CONDITION. 5035 5036 000010 AC=10 5037 035362 SUBB1A: SETUP 20,0^ 5038 000011 AC1=&17 5039 000012 AC2=&17 5040 000013 AC3=&17 5041 000014 AC4=&17 5042 000015 AC5=&17 5043 000006 RAN1=&17 5044 035362 201 07 0 00 035362 MOVEI AC-1,. 5045 035363 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5046 035364 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5047 035365 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5048 035366 201 07 0 00 000020 MOVEI AC-1,20 ;ROUTINE WEIGHTING 5049 035367 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5050 035370 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5051 035371 SUBB2A: RANDOM^ 5052 035371 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5053 035372 270 10 0 00 037562 ADD AC,[142536475076] 5054 035373 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5055 035374 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5056 035375 403 11 0 00 000006 SUBB3A: SETZB AC1,RAN1 ;CLEAR C(AC). 5057 035376 210 12 0 00 000010 MOVN AC2,AC ;SIMULATE SUB...RAN FROM 0 = 2'S COMP RAN. 5058 035377 277 11 0 00 000010 SUBB AC1,AC ;DO SUBB. 5059 035400 312 11 0 00 000010 CAME AC1,AC ;C(AC) SHOULD = C(E). 5060 035401 011 00 0 00 000006 EERR ,RAN1 5061 035402 312 11 0 00 000012 CAME AC1,AC2 ;C(AC) SHOULD = SIM. ANS. 5062 035403 011 00 0 00 000006 EERR ,RAN1 5063 LOOP SUBB2A,SUBB3A^ 5064 035404 367 07 0 00 035371 SOJG AC-1,SUBB2A ;ITERATION COUNTER 5065 035405 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5066 035406 321 07 0 00 035375 JUMPL AC-1,SUBB3A ;LOOP ON ERROR SWITCH ^ 5067 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 85 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0138 5068 5069 ;TEST SUBB. CHECK C(AC) = C(E) AND FOR 5070 ;CORRECT DATA IN AC. 5071 ;RAN TO RAN CONDITION. 5072 5073 000010 AC=10 5074 035407 SUBB1B: SETUP 40,0^ 5075 000011 AC1=&17 5076 000012 AC2=&17 5077 000013 AC3=&17 5078 000014 AC4=&17 5079 000015 AC5=&17 5080 000006 RAN1=&17 5081 035407 201 07 0 00 035407 MOVEI AC-1,. 5082 035410 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5083 035411 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5084 035412 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5085 035413 201 07 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 5086 035414 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5087 035415 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5088 035416 SUBB2B: RANDOM^ 5089 035416 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5090 035417 270 10 0 00 037562 ADD AC,[142536475076] 5091 035420 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5092 035421 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5093 035422 200 11 0 00 000010 SUBB3B: MOVE AC1,AC ;MAKE C(E) = C(AC). 5094 035423 277 10 0 00 000011 SUBB AC,AC1 ;DO SUBB..RAN FROM RAN = 0. 5095 035424 312 10 0 00 000011 CAME AC,AC1 ;C(AC) SHOULD = C(E). 5096 035425 011 00 0 00 037667 EERR ,RAN 5097 035426 312 10 0 00 037563 CAME AC,[0] ;C(AC) SHOULD = 0. 5098 035427 011 00 0 00 037667 EERR ,RAN 5099 LOOP SUBB2B,SUBB3B^ 5100 035430 367 07 0 00 035416 SOJG AC-1,SUBB2B ;ITERATION COUNTER 5101 035431 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5102 035432 321 07 0 00 035422 JUMPL AC-1,SUBB3B ;LOOP ON ERROR SWITCH ^ 5103 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 86 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0139 5104 5105 5106 ;TEST MOVEI. CHECK C(AC) FOR CORRECT DATA. 5107 ;RAN TO RAN1. 5108 5109 000002 AC=2 5110 035433 MVEI1: SETUP 20,0^ 5111 000003 AC1=&17 5112 000004 AC2=&17 5113 000005 AC3=&17 5114 000006 AC4=&17 5115 000007 AC5=&17 5116 000000 RAN1=&17 5117 035433 201 01 0 00 035433 MOVEI AC-1,. 5118 035434 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5119 035435 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5120 035436 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5121 035437 201 01 0 00 000020 MOVEI AC-1,20 ;ROUTINE WEIGHTING 5122 035440 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5123 035441 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5124 035442 MVEI2: RANDOM^ 5125 035442 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5126 035443 270 02 0 00 037562 ADD AC,[142536475076] 5127 035444 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5128 035445 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5129 035446 200 04 0 00 037667 MOVE AC2,RAN ;SAVE RAN IN AN AC. 5130 035447 207 00 0 00 000002 MVEI3: MOVSS RAN1,AC ;MAKE C(AC) = SEC RAN NUM. 5131 035450 200 03 0 00 037667 MOVE AC1,RAN ;SIMULATE 5132 035451 242 03 0 00 000022 LSH AC1,22 ;A 5133 035452 242 03 0 00 777756 LSH AC1,-22 ;MOVEI. 5134 035453 201 02 0 04 000000 MOVEI AC,(AC2) ;DO A MOVEI. 5135 035454 312 02 0 00 000003 CAME AC,AC1 ;C(AC) SHOULD = SIM. ANS. 5136 035455 003 00 0 04 000000 ERRI RAN1,(AC2) 5137 LOOP MVEI2,MVEI3^ 5138 035456 367 01 0 00 035442 SOJG AC-1,MVEI2 ;ITERATION COUNTER 5139 035457 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5140 035460 321 01 0 00 035447 JUMPL AC-1,MVEI3 ;LOOP ON ERROR SWITCH ^ 5141 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 87 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0140 5142 5143 ;TEST MOVN. TWO MOVN INSTRUCTIONS SHOULD NOT CHANGE C(AC). 5144 5145 000002 AC=2 5146 035461 MOVN1: SETUP 200,0^ 5147 000003 AC1=&17 5148 000004 AC2=&17 5149 000005 AC3=&17 5150 000006 AC4=&17 5151 000007 AC5=&17 5152 000000 RAN1=&17 5153 035461 201 01 0 00 035461 MOVEI AC-1,. 5154 035462 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5155 035463 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5156 035464 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5157 035465 201 01 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 5158 035466 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5159 035467 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5160 035470 MOVN2: RANDOM^ 5161 035470 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5162 035471 270 02 0 00 037562 ADD AC,[142536475076] 5163 035472 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5164 035473 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5165 ;DO 6 X (MOVN RAN TO RAN). 5166 MOVN3: REPEAT 3,< 5167 MOVN AC,AC 5168 MOVN AC,AC> 5169 5170 035474 210 02 0 00 000002 MOVN AC,AC 5171 035475 210 02 0 00 000002 MOVN AC,AC 5172 5173 035476 210 02 0 00 000002 MOVN AC,AC 5174 035477 210 02 0 00 000002 MOVN AC,AC 5175 5176 035500 210 02 0 00 000002 MOVN AC,AC 5177 035501 210 02 0 00 000002 MOVN AC,AC 5178 035502 312 02 0 00 037667 CAME AC,RAN ;C(AC) SHOULD STILL = RAN NUM. 5179 035503 004 02 0 00 037667 ERROR AC,RAN 5180 LOOP MOVN2,MOVN3^ 5181 035504 367 01 0 00 035470 SOJG AC-1,MOVN2 ;ITERATION COUNTER 5182 035505 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5183 035506 321 01 0 00 035474 JUMPL AC-1,MOVN3 ;LOOP ON ERROR SWITCH ^ 5184 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 88 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0141 5185 5186 ;TEST MOVNI. CHECK C(AC) FOR CORRECT DATA. 5187 ;RAN TO RAN1. 5188 5189 000002 AC=2 5190 035507 MVNI1: SETUP 40,0^ 5191 000003 AC1=&17 5192 000004 AC2=&17 5193 000005 AC3=&17 5194 000006 AC4=&17 5195 000007 AC5=&17 5196 000000 RAN1=&17 5197 035507 201 01 0 00 035507 MOVEI AC-1,. 5198 035510 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5199 035511 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5200 035512 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5201 035513 201 01 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 5202 035514 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5203 035515 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5204 035516 MVNI2: RANDOM^ 5205 035516 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5206 035517 270 02 0 00 037562 ADD AC,[142536475076] 5207 035520 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5208 035521 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5209 035522 200 04 0 00 037667 MOVE AC2,RAN ;SAVE RAN IN AN AC. 5210 035523 207 00 0 00 000002 MVNI3: MOVSS RAN1,AC ;C(AC) = SEC RAN NUM. 5211 035524 201 03 0 04 000000 MOVEI AC1,(AC2) ;SIMULATE 5212 035525 450 03 0 00 000000 SETCA AC1, ;A 5213 035526 270 03 0 00 037571 ADD AC1,[1] ;MOVNI INST. 5214 035527 211 02 0 04 000000 MOVNI AC,(AC2) ;DO A MOVNI. 5215 035530 312 02 0 00 000003 CAME AC,AC1 ;C(AC) SHOULD = SIM. ANS. 5216 035531 003 00 0 04 000000 ERRI RAN1,(AC2) 5217 LOOP MVNI2,MVNI3^ 5218 035532 367 01 0 00 035516 SOJG AC-1,MVNI2 ;ITERATION COUNTER 5219 035533 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5220 035534 321 01 0 00 035523 JUMPL AC-1,MVNI3 ;LOOP ON ERROR SWITCH ^ 5221 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 89 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0142 5222 5223 ;TEST MOVNM. WHERE E IS AN AC. 5224 ;CHECK C(E) FOR CORRECT DATA. 5225 ;RAN TO RAN. 5226 5227 000002 AC=2 5228 035535 MVNM1: SETUP 100,0^ 5229 000003 AC1=&17 5230 000004 AC2=&17 5231 000005 AC3=&17 5232 000006 AC4=&17 5233 000007 AC5=&17 5234 000000 RAN1=&17 5235 035535 201 01 0 00 035535 MOVEI AC-1,. 5236 035536 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5237 035537 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5238 035540 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5239 035541 201 01 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 5240 035542 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5241 035543 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5242 035544 MVNM2: RANDOM^ 5243 035544 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5244 035545 270 02 0 00 037562 ADD AC,[142536475076] 5245 035546 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5246 035547 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5247 035550 200 00 0 00 037667 MOVE RAN1,RAN ;SAVE RAN IN AN AC. 5248 035551 200 03 0 00 000002 MVNM3: MOVE AC1,AC ;MAKE C(E) = C(AC). 5249 ;DO 3 X 2(MOVNM). 5250 REPEAT 3,< 5251 MOVNM AC,AC1 5252 MOVNM AC1,AC> 5253 5254 035552 212 02 0 00 000003 MOVNM AC,AC1 5255 035553 212 03 0 00 000002 MOVNM AC1,AC 5256 5257 035554 212 02 0 00 000003 MOVNM AC,AC1 5258 035555 212 03 0 00 000002 MOVNM AC1,AC 5259 5260 035556 212 02 0 00 000003 MOVNM AC,AC1 5261 035557 212 03 0 00 000002 MOVNM AC1,AC 5262 035560 312 00 0 00 000002 CAME RAN1,AC ;C(E) SHOULD = ORIG C(E). 5263 035561 012 00 0 00 037667 EERRM ,RAN 5264 LOOP MVNM2,MVNM3^ 5265 035562 367 01 0 00 035544 SOJG AC-1,MVNM2 ;ITERATION COUNTER 5266 035563 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5267 035564 321 01 0 00 035551 JUMPL AC-1,MVNM3 ;LOOP ON ERROR SWITCH ^ 5268 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 90 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0143 5269 5270 ;TEST MOVNS. WHERE E IS AN AC. 5271 ;CHECK PROPER STORING OF C(E) INTO AC. 5272 ;TWO MOVNS = ORIG NUMBER. 5273 ;C(E) = RAN. 5274 5275 000003 AC=3 5276 035565 MVNS1: SETUP 100,0^ 5277 000004 AC1=&17 5278 000005 AC2=&17 5279 000006 AC3=&17 5280 000007 AC4=&17 5281 000010 AC5=&17 5282 000001 RAN1=&17 5283 035565 201 02 0 00 035565 MOVEI AC-1,. 5284 035566 202 02 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5285 035567 201 02 0 00 000002 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5286 035570 202 02 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5287 035571 201 02 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 5288 035572 240 02 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5289 035573 240 02 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5290 035574 MVNS2: RANDOM^ 5291 035574 200 03 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5292 035575 270 03 0 00 037562 ADD AC,[142536475076] 5293 035576 241 03 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5294 035577 447 03 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5295 035600 200 05 0 00 037667 MOVE AC2,RAN ;PUT C(RAN) INTO AC2 FOR FUTURE COMPARE. 5296 035601 477 04 0 00 000001 MVNS3: SETOB AC1,RAN1 ;MAKE C(AC) = -1. 5297 ;DO 3 X 2(MOVNS). 5298 REPEAT 3,< 5299 MOVNS AC1,AC 5300 MOVNS AC1,AC> 5301 5302 035602 213 04 0 00 000003 MOVNS AC1,AC 5303 035603 213 04 0 00 000003 MOVNS AC1,AC 5304 5305 035604 213 04 0 00 000003 MOVNS AC1,AC 5306 035605 213 04 0 00 000003 MOVNS AC1,AC 5307 5308 035606 213 04 0 00 000003 MOVNS AC1,AC 5309 035607 213 04 0 00 000003 MOVNS AC1,AC 5310 035610 312 04 0 00 000003 CAME AC1,AC ;C(AC) SHOULD = C(E). 5311 035611 012 00 0 00 000001 EERRM ,RAN1 5312 035612 312 05 0 00 000003 CAME AC2,AC ;C(E) SHOULD = ORIG. C(E). 5313 035613 012 00 0 00 000001 EERRM ,RAN1 5314 LOOP MVNS2,MVNS3^ 5315 035614 367 02 0 00 035574 SOJG AC-1,MVNS2 ;ITERATION COUNTER 5316 035615 200 03 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5317 035616 321 02 0 00 035601 JUMPL AC-1,MVNS3 ;LOOP ON ERROR SWITCH ^ 5318 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 91 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0144 5319 5320 ;TEST MOVNS. WHERE E IS AN AC. 5321 ;CHECK FOR NOT LOADING C(E) INTO AC WHEN AC= 0. 5322 ;TWO MOVNS = ORIGINAL NUM. 5323 ;C(E) = RAN. 5324 5325 000010 AC=10 5326 035617 MVNSA: SETUP 40,0^ 5327 000011 AC1=&17 5328 000012 AC2=&17 5329 000013 AC3=&17 5330 000014 AC4=&17 5331 000015 AC5=&17 5332 000006 RAN1=&17 5333 035617 201 07 0 00 035617 MOVEI AC-1,. 5334 035620 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5335 035621 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5336 035622 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5337 035623 201 07 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 5338 035624 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5339 035625 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5340 035626 MVNSB: RANDOM^ 5341 035626 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5342 035627 270 10 0 00 037562 ADD AC,[142536475076] 5343 035630 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5344 035631 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5345 035632 200 12 0 00 037667 MOVE AC2,RAN ;SAVE RAN IN AN AC. 5346 035633 477 00 0 00 000006 MVNSC: SETOB RAN1 ;MAKE C(AC) = -1. 5347 ;DO 3 X 2(MOVNS). 5348 REPEAT 3,< 5349 MOVNS AC 5350 MOVNS AC> 5351 5352 035634 213 00 0 00 000010 MOVNS AC 5353 035635 213 00 0 00 000010 MOVNS AC 5354 5355 035636 213 00 0 00 000010 MOVNS AC 5356 035637 213 00 0 00 000010 MOVNS AC 5357 5358 035640 213 00 0 00 000010 MOVNS AC 5359 035641 213 00 0 00 000010 MOVNS AC 5360 035642 316 00 0 00 000010 CAMN AC ;C(AC) SHOULD NOT = C(E). 5361 035643 012 00 0 00 000006 EERRM ,RAN1 5362 035644 312 12 0 00 000010 CAME AC2,AC ;C(AC) SHOULD = ORIG C(AC). 5363 035645 012 00 0 00 000006 EERRM ,RAN1 5364 LOOP MVNSB, MVNSC^ 5365 035646 367 07 0 00 035626 SOJG AC-1,MVNSB ;ITERATION COUNTER 5366 035647 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5367 035650 321 07 0 00 035633 JUMPL AC-1,MVNSC ;LOOP ON ERROR SWITCH ^ 5368 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 92 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0145 5369 5370 ;TEST MOVM. CHECK F(AC) FOR CORRECT DATA. 5371 ;RAN TO RAN1. 5372 5373 000007 AC=7 5374 035651 MVM1: SETUP 40,0^ 5375 000010 AC1=&17 5376 000011 AC2=&17 5377 000012 AC3=&17 5378 000013 AC4=&17 5379 000014 AC5=&17 5380 000005 RAN1=&17 5381 035651 201 06 0 00 035651 MOVEI AC-1,. 5382 035652 202 06 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5383 035653 201 06 0 00 000006 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5384 035654 202 06 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5385 035655 201 06 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 5386 035656 240 06 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5387 035657 240 06 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5388 035660 MVM2: RANDOM^ 5389 035660 200 07 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5390 035661 270 07 0 00 037562 ADD AC,[142536475076] 5391 035662 241 07 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5392 035663 447 07 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5393 035664 207 05 0 00 000007 MVM3: MOVSS RAN1,AC ;C(AC) = SEC RAN NUM. 5394 035665 200 10 0 00 037667 MOVE AC1,RAN ;C(E) = 1ST RAN NUM. 5395 035666 460 11 0 00 000010 SETCM AC2,AC1 ;SIMULATE 5396 035667 607 10 0 00 400000 TLNN AC1,400000 ;A 5397 035670 200 11 0 00 000010 MOVE AC2,AC1 ;MOVM 5398 035671 603 10 0 00 400000 TLNE AC1,400000 ;INST. 5399 035672 270 11 0 00 037571 ADD AC2,[1] 5400 035673 214 07 0 00 000010 MOVM AC,AC1 ;DO A MOVM. 5401 035674 312 07 0 00 000011 CAME AC,AC2 ;C(AC) SHOULD = SIM. ANS. 5402 035675 011 00 0 00 000005 EERR ,RAN1 5403 LOOP MVM2, MVM3^ 5404 035676 367 06 0 00 035660 SOJG AC-1,MVM2 ;ITERATION COUNTER 5405 035677 200 07 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5406 035700 321 06 0 00 035664 JUMPL AC-1,MVM3 ;LOOP ON ERROR SWITCH ^ 5407 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 93 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0146 5408 5409 ;TEST MOVMI. CHECK C(AC) FOR CORRECT DATA. 5410 ;RAN TO RAN1. 5411 5412 000010 AC=10 5413 035701 MVMI1: SETUP 40,0^ 5414 000011 AC1=&17 5415 000012 AC2=&17 5416 000013 AC3=&17 5417 000014 AC4=&17 5418 000015 AC5=&17 5419 000006 RAN1=&17 5420 035701 201 07 0 00 035701 MOVEI AC-1,. 5421 035702 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5422 035703 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5423 035704 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5424 035705 201 07 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 5425 035706 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5426 035707 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5427 035710 MVMI2: RANDOM^ 5428 035710 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5429 035711 270 10 0 00 037562 ADD AC,[142536475076] 5430 035712 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5431 035713 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5432 035714 201 11 0 00 000010 MVMI3: MOVEI AC1,AC ;SIMULATE A MOVMI INST...MOVEI. 5433 035715 207 06 0 00 000010 MOVSS RAN1,AC ;C(AC) = SEC RAN NUM. 5434 035716 215 10 0 11 000000 MOVMI AC,(AC1) ;DO MOVMI. 5435 035717 312 10 0 00 000011 CAME AC,AC1 ;C(AC) SHOULD = SIM ANS. 5436 035720 003 06 0 11 000000 ERRI RAN1,(AC1) 5437 LOOP MVMI2, MVMI3^ 5438 035721 367 07 0 00 035710 SOJG AC-1,MVMI2 ;ITERATION COUNTER 5439 035722 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5440 035723 321 07 0 00 035714 JUMPL AC-1,MVMI3 ;LOOP ON ERROR SWITCH ^ 5441 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 94 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0147 5442 5443 ;TEST MOVMM. CHECK C(AC) + C(E) FOR CORRECT DATA. 5444 ;RAN TO RAN1. 5445 5446 000011 AC=11 5447 035724 MVMM1: SETUP 200,0^ 5448 000012 AC1=&17 5449 000013 AC2=&17 5450 000014 AC3=&17 5451 000015 AC4=&17 5452 000016 AC5=&17 5453 000007 RAN1=&17 5454 035724 201 10 0 00 035724 MOVEI AC-1,. 5455 035725 202 10 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5456 035726 201 10 0 00 000010 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5457 035727 202 10 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5458 035730 201 10 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 5459 035731 240 10 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5460 035732 240 10 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5461 035733 MVMM2: RANDOM^ 5462 035733 200 11 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5463 035734 270 11 0 00 037562 ADD AC,[142536475076] 5464 035735 241 11 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5465 035736 447 11 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5466 035737 207 07 0 00 000011 MVMM3: MOVSS RAN1,AC ;C(AC) = SEC RAN NUM. 5467 035740 200 12 0 00 037667 MOVE AC1,RAN ;C(E) = RAN. 5468 035741 460 13 0 00 000011 SETCM AC2,AC ;SIMULATE 5469 035742 607 11 0 00 400000 TLNN AC,400000 ;A 5470 035743 200 13 0 00 000011 MOVE AC2,AC ;MOVMM 5471 035744 603 11 0 00 400000 TLNE AC,400000 ;INST 5472 035745 270 13 0 00 037571 ADD AC2,[1] 5473 035746 216 11 0 00 000012 MOVMM AC,AC1 ;DO A MOVMM INST. 5474 035747 312 11 0 00 000007 CAME AC,RAN1 ;C(AC) SHOULD = ORIG C(AC). 5475 035750 012 00 0 00 000007 EERRM ,RAN1 5476 035751 312 12 0 00 000013 CAME AC1,AC2 ;C(E) SHOULD = SIM. ANS. 5477 035752 012 00 0 00 000007 EERRM ,RAN1 5478 LOOP MVMM2, MVMM3^ 5479 035753 367 10 0 00 035733 SOJG AC-1,MVMM2 ;ITERATION COUNTER 5480 035754 200 11 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5481 035755 321 10 0 00 035737 JUMPL AC-1,MVMM3 ;LOOP ON ERROR SWITCH ^ 5482 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 95 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0148 5483 5484 ;TEST MOVMS. CHECK C(E) FOR CORRECT DATA. 5485 ;RAN TO RAN1. 5486 5487 000010 AC=10 5488 035756 MVMS1: SETUP 200,0^ 5489 000011 AC1=&17 5490 000012 AC2=&17 5491 000013 AC3=&17 5492 000014 AC4=&17 5493 000015 AC5=&17 5494 000006 RAN1=&17 5495 035756 201 07 0 00 035756 MOVEI AC-1,. 5496 035757 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5497 035760 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5498 035761 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5499 035762 201 07 0 00 000200 MOVEI AC-1,200 ;ROUTINE WEIGHTING 5500 035763 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5501 035764 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5502 035765 MVMS2: RANDOM^ 5503 035765 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5504 035766 270 10 0 00 037562 ADD AC,[142536475076] 5505 035767 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5506 035770 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5507 035771 207 06 0 00 000010 MVMS3: MOVSS RAN1,AC ;C(AC) = SEC RAN NUM. 5508 035772 200 11 0 00 037667 MOVE AC1,RAN ;C(E) = RAN. 5509 035773 460 12 0 00 037667 SETCM AC2,RAN ;SIMULATE 5510 035774 607 11 0 00 400000 TLNN AC1,400000 ;A 5511 035775 200 12 0 00 000011 MOVE AC2,AC1 ;MOVMS 5512 035776 603 11 0 00 400000 TLNE AC1,400000 ;INST. 5513 035777 270 12 0 00 037571 ADD AC2,[1] 5514 036000 217 10 0 00 000011 MOVMS AC,AC1 ;DO A MOVMS. 5515 036001 312 10 0 00 000011 CAME AC,AC1 ;C(AC) SHOULD = C(E). 5516 036002 012 00 0 00 000006 EERRM ,RAN1 5517 036003 312 11 0 00 000012 CAME AC1,AC2 ;C(E) SHOULD = SIM. ANS. 5518 036004 012 00 0 00 000006 EERRM ,RAN1 5519 LOOP MVMS2, MVMS3^ 5520 036005 367 07 0 00 035765 SOJG AC-1,MVMS2 ;ITERATION COUNTER 5521 036006 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5522 036007 321 07 0 00 035771 JUMPL AC-1,MVMS3 ;LOOP ON ERROR SWITCH ^ 5523 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 96 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0149 5524 5525 ;TEST LSH. A LSH LEFT AND A LSH RIGHT SHOULD 5526 ;GIVE THE SAME NUMBER WITH A ZERO SIGN BIT. 5527 5528 000002 AC=2 5529 036010 LSH1P: SETUP 40,0^ 5530 000003 AC1=&17 5531 000004 AC2=&17 5532 000005 AC3=&17 5533 000006 AC4=&17 5534 000007 AC5=&17 5535 000000 RAN1=&17 5536 036010 201 01 0 00 036010 MOVEI AC-1,. 5537 036011 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5538 036012 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5539 036013 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5540 036014 201 01 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 5541 036015 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5542 036016 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5543 036017 LSH1PA: RANDOM^ 5544 036017 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5545 036020 270 02 0 00 037562 ADD AC,[142536475076] 5546 036021 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5547 036022 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5548 036023 404 02 0 00 037576 LSH1PB: AND AC,[XWD 377777,-1] ;SIMULATE A LSH LEFT THEN RIGHT. 5549 036024 200 03 0 00 037667 MOVE AC1,RAN ;MOVE RANDOM NUM INTO AN AC 5550 ;AND DO 3(LSH LEFT 1 PLACE THEN RIGHT 1 PLACE). 5551 REPEAT 3,< 5552 LSH AC1,1 5553 LSH AC1,-1> 5554 5555 036025 242 03 0 00 000001 LSH AC1,1 5556 036026 242 03 0 00 777777 LSH AC1,-1 5557 5558 036027 242 03 0 00 000001 LSH AC1,1 5559 036030 242 03 0 00 777777 LSH AC1,-1 5560 5561 036031 242 03 0 00 000001 LSH AC1,1 5562 036032 242 03 0 00 777777 LSH AC1,-1 5563 036033 312 03 0 00 000002 CAME AC1,AC ;C(AC1) = SIM. ANS? 5564 036034 004 03 0 00 000002 ERROR AC1,AC ;NO. LSH FAILED. 5565 LOOP LSH1PA,LSH1PB^ 5566 036035 367 01 0 00 036017 SOJG AC-1,LSH1PA ;ITERATION COUNTER 5567 036036 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5568 036037 321 01 0 00 036023 JUMPL AC-1,LSH1PB ;LOOP ON ERROR SWITCH ^ 5569 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 97 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0150 5570 5571 ;TEST TDN,TDNA. CHECK FOR SKIP/NO SKIP AND 5572 ;NO DATA CHANGE IN AC FOR RAN1 TO RAN CONDITION. 5573 5574 000002 AC=2 5575 036040 TDN1: SETUP 100,0^ 5576 000003 AC1=&17 5577 000004 AC2=&17 5578 000005 AC3=&17 5579 000006 AC4=&17 5580 000007 AC5=&17 5581 000000 RAN1=&17 5582 036040 201 01 0 00 036040 MOVEI AC-1,. 5583 036041 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5584 036042 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5585 036043 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5586 036044 201 01 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 5587 036045 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5588 036046 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5589 036047 TDN2: RANDOM^ 5590 036047 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5591 036050 270 02 0 00 037562 ADD AC,[142536475076] 5592 036051 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5593 036052 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5594 036053 204 03 0 00 000002 TDN3: MOVS AC1,AC ;PUT SECOND RAN. NUM. INTO "E". 5595 036054 610 02 0 00 000003 TDN AC,AC1 ;NO SKIP, NO DATA CHANGE. 5596 036055 254 00 0 00 036057 JRST .+2 ;HERE..GO AROUND ERR UUO. 5597 036056 005 02 0 00 037577 ER AC,[ASCII /TST/];TDN SKIPPED. 5598 036057 614 02 0 00 000003 TDNA AC,AC1 ;SKIP, NO DATA CHANGE. 5599 036060 005 02 0 00 037577 ER AC,[ASCII /TST/] 5600 036061 312 02 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = ORIG C(AC). 5601 036062 001 03 0 00 037667 ERR AC1,RAN 5602 LOOP TDN2,TDN3^ 5603 036063 367 01 0 00 036047 SOJG AC-1,TDN2 ;ITERATION COUNTER 5604 036064 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5605 036065 321 01 0 00 036053 JUMPL AC-1,TDN3 ;LOOP ON ERROR SWITCH ^ 5606 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 98 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0151 5607 5608 ;TEST TDNN,TDNE. CHECK FOR SKIP/ NO SKIP AND 5609 ;NO DATA CHANGE IN AC FOR RAN TO 0 CONDITION. 5610 5611 000003 AC=3 5612 036066 TDNE1A: SETUP 100,0^ 5613 000004 AC1=&17 5614 000005 AC2=&17 5615 000006 AC3=&17 5616 000007 AC4=&17 5617 000010 AC5=&17 5618 000001 RAN1=&17 5619 036066 201 02 0 00 036066 MOVEI AC-1,. 5620 036067 202 02 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5621 036070 201 02 0 00 000002 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5622 036071 202 02 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5623 036072 201 02 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 5624 036073 240 02 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5625 036074 240 02 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5626 036075 TDNE2A: RANDOM^ 5627 036075 200 03 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5628 036076 270 03 0 00 037562 ADD AC,[142536475076] 5629 036077 241 03 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5630 036100 447 03 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5631 036101 403 04 0 00 000001 TDNE3A: SETZB AC1,RAN1 ;CLEAR C(AC). 5632 036102 616 04 0 00 000003 TDNN AC1,AC ;C(E) + C(AC) =0..NO SKIP. 5633 036103 254 00 0 00 036105 JRST .+2 5634 036104 005 04 0 00 037577 ER AC1,[ASCII /TST/];TDNN SKIPPED. 5635 036105 612 04 0 00 000003 TDNE AC1,AC ;C(E) + C(AC) = 0. SKIP. 5636 036106 005 04 0 00 037577 ER AC1,[ASCII /TST/] 5637 036107 312 04 0 00 037563 CAME AC1,[0] ;C(AC) SHOULD STILL = 0. 5638 036110 001 03 0 00 000001 ERR AC,RAN1 5639 LOOP TDNE2A,TDNE3A^ 5640 036111 367 02 0 00 036075 SOJG AC-1,TDNE2A ;ITERATION COUNTER 5641 036112 200 03 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5642 036113 321 02 0 00 036101 JUMPL AC-1,TDNE3A ;LOOP ON ERROR SWITCH ^ 5643 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 99 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0152 5644 5645 ;TEST TDNN,TDNE. CHECK FOR SKIP/ NO SKIP AND 5646 ;NO DATA CHANGE FOR 0 TO RAN CONDITION. 5647 5648 000004 AC=4 5649 036114 TDNE1B: SETUP 40,0^ 5650 000005 AC1=&17 5651 000006 AC2=&17 5652 000007 AC3=&17 5653 000010 AC4=&17 5654 000011 AC5=&17 5655 000002 RAN1=&17 5656 036114 201 03 0 00 036114 MOVEI AC-1,. 5657 036115 202 03 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5658 036116 201 03 0 00 000003 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5659 036117 202 03 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5660 036120 201 03 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 5661 036121 240 03 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5662 036122 240 03 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5663 036123 TDNE2B: RANDOM^ 5664 036123 200 04 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5665 036124 270 04 0 00 037562 ADD AC,[142536475076] 5666 036125 241 04 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5667 036126 447 04 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5668 036127 400 05 0 00 000000 TDNE3B: SETZ AC1, ;CLEAR C(E). 5669 036130 616 04 0 00 000005 TDNN AC,AC1 ;C(E) + C(AC) = 0. NO SKIP. 5670 036131 254 00 0 00 036133 JRST .+2 5671 036132 005 04 0 00 037577 ER AC,[ASCII /TST/];TDNN SKIPPED. 5672 036133 612 04 0 00 000005 TDNE AC,AC1 ;C(E) + C(AC) = 0. SKIP. 5673 036134 005 04 0 00 037577 ER AC,[ASCII /TST/] 5674 036135 312 04 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = ORIG C(AC). 5675 036136 001 05 0 00 037667 ERR AC1,RAN 5676 LOOP TDNE2B,TDNE3B^ 5677 036137 367 03 0 00 036123 SOJG AC-1,TDNE2B ;ITERATION COUNTER 5678 036140 200 04 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5679 036141 321 03 0 00 036127 JUMPL AC-1,TDNE3B ;LOOP ON ERROR SWITCH ^ 5680 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 100 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0153 5681 5682 ;TEST TDNN,TDNE. CHECK FOR SKIP/ NO SKIP AND 5683 ;NO DATA CHANGE IN AC FOR RAN TO -1 CONDITION. 5684 5685 000005 AC=5 5686 036142 TDNE1C: SETUP 40,0^ 5687 000006 AC1=&17 5688 000007 AC2=&17 5689 000010 AC3=&17 5690 000011 AC4=&17 5691 000012 AC5=&17 5692 000003 RAN1=&17 5693 036142 201 04 0 00 036142 MOVEI AC-1,. 5694 036143 202 04 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5695 036144 201 04 0 00 000004 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5696 036145 202 04 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5697 036146 201 04 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 5698 036147 240 04 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5699 036150 240 04 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5700 036151 TDNE2C: RANDOM^ 5701 036151 200 05 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5702 036152 270 05 0 00 037562 ADD AC,[142536475076] 5703 036153 241 05 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5704 036154 447 05 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5705 036155 322 05 0 00 036151 JUMPE AC,TDNE2C ;REJECT IF RAN = 0. 5706 036156 477 06 0 00 000003 TDNE3C: SETOB AC1,RAN1 ;SET C(AC) TO ALL ONES. 5707 036157 612 06 0 00 000005 TDNE AC1,AC ;C(E) + C(AC) NOT = 0..NO SKIP. 5708 036160 254 00 0 00 036162 JRST .+2 5709 036161 005 06 0 00 037577 ER AC1,[ASCII /TST/];TDNE SKIPPED. 5710 036162 616 06 0 00 000005 TDNN AC1,AC ;C(E) + C(AC) NOT = 0..SKIP. 5711 036163 005 06 0 00 037577 ER AC1,[ASCII /TST/] 5712 036164 312 06 0 00 037565 CAME AC1,[-1] ;C(AC) SHOULD = ORIG C(AC). 5713 036165 001 05 0 00 000003 ERR AC,RAN1 5714 LOOP TDNE2C,TDNE3C^ 5715 036166 367 04 0 00 036151 SOJG AC-1,TDNE2C ;ITERATION COUNTER 5716 036167 200 05 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5717 036170 321 04 0 00 036156 JUMPL AC-1,TDNE3C ;LOOP ON ERROR SWITCH ^ 5718 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 101 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0154 5719 5720 ;TEST TDNE,TDNN. CHECK FOR SKIP/ NO SKIP AND 5721 ;NO DATA CHANGE IN AC FOR -1 TO RAN CONDITION. 5722 5723 000006 AC=6 5724 036171 TDNE1D: SETUP 40,0^ 5725 000007 AC1=&17 5726 000010 AC2=&17 5727 000011 AC3=&17 5728 000012 AC4=&17 5729 000013 AC5=&17 5730 000004 RAN1=&17 5731 036171 201 05 0 00 036171 MOVEI AC-1,. 5732 036172 202 05 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5733 036173 201 05 0 00 000005 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5734 036174 202 05 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5735 036175 201 05 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 5736 036176 240 05 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5737 036177 240 05 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5738 036200 TDNE2D: RANDOM^ 5739 036200 200 06 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5740 036201 270 06 0 00 037562 ADD AC,[142536475076] 5741 036202 241 06 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5742 036203 447 06 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5743 036204 322 06 0 00 036200 JUMPE AC,TDNE2D ;REJECT IF RAN = 0. 5744 036205 474 07 0 00 000000 TDNE3D: SETO AC1, ;SET C(E) TO ALL ONES. 5745 036206 612 06 0 00 000007 TDNE AC,AC1 ;C(E) + C(AC) NOT = 0..NO SKIP. 5746 036207 254 00 0 00 036211 JRST .+2 5747 036210 005 06 0 00 037577 ER AC,[ASCII /TST/];TDNE SKIPPED. 5748 036211 616 06 0 00 000007 TDNN AC,AC1 ;C(E) + C(AC) NOT = 0..SKIP. 5749 036212 005 06 0 00 037577 ER AC,[ASCII /TST/] 5750 036213 312 06 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = ORIG C(AC). 5751 036214 001 07 0 00 037667 ERR AC1,RAN 5752 LOOP TDNE2D,TDNE3D^ 5753 036215 367 05 0 00 036200 SOJG AC-1,TDNE2D ;ITERATION COUNTER 5754 036216 200 06 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5755 036217 321 05 0 00 036205 JUMPL AC-1,TDNE3D ;LOOP ON ERROR SWITCH ^ 5756 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 102 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0155 5757 5758 ;TEST TDNE,TDNN. CHECK FOR SKIP/ NO SKIP AND 5759 ;NO DATA CHANGE IN AC FOR RAN TO RAN CONDITION. 5760 5761 000007 AC=7 5762 036220 TDNE1E: SETUP 20,0^ 5763 000010 AC1=&17 5764 000011 AC2=&17 5765 000012 AC3=&17 5766 000013 AC4=&17 5767 000014 AC5=&17 5768 000005 RAN1=&17 5769 036220 201 06 0 00 036220 MOVEI AC-1,. 5770 036221 202 06 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5771 036222 201 06 0 00 000006 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5772 036223 202 06 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5773 036224 201 06 0 00 000020 MOVEI AC-1,20 ;ROUTINE WEIGHTING 5774 036225 240 06 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5775 036226 240 06 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5776 036227 TDNE2E: RANDOM^ 5777 036227 200 07 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5778 036230 270 07 0 00 037562 ADD AC,[142536475076] 5779 036231 241 07 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5780 036232 447 07 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5781 036233 322 07 0 00 036227 JUMPE AC,TDNE2E ;REJECT IF RAN = 0. 5782 036234 200 10 0 00 000007 TDNE3E: MOVE AC1,AC ;MAKE C(E) = C(AC). 5783 036235 612 07 0 00 000010 TDNE AC,AC1 ;C(E) + C(AC) NOT = 0..NO SKIP. 5784 036236 254 00 0 00 036240 JRST .+2 5785 036237 005 07 0 00 037577 ER AC,[ASCII /TST/];TDNE SKIPPED. 5786 036240 616 07 0 00 000010 TDNN AC,AC1 ;C(E) + C(AC) NOT = 0. SKIP. 5787 036241 005 07 0 00 037577 ER AC,[ASCII /TST/] 5788 036242 312 07 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = ORIG C(AC). 5789 036243 001 10 0 00 037667 ERR AC1,RAN 5790 LOOP TDNE2E,TDNE3E^ 5791 036244 367 06 0 00 036227 SOJG AC-1,TDNE2E ;ITERATION COUNTER 5792 036245 200 07 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5793 036246 321 06 0 00 036234 JUMPL AC-1,TDNE3E ;LOOP ON ERROR SWITCH ^ 5794 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 103 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0156 5795 5796 ;TEST TDNE,TDNN. CHECK FOR SKIP/ NO SKIP AND 5797 ;NO DATA CHANGE IN AC FOR NOT RAN TO RAN CONDITON. 5798 5799 000010 AC=10 5800 036247 TDNE1F: SETUP 20,0^ 5801 000011 AC1=&17 5802 000012 AC2=&17 5803 000013 AC3=&17 5804 000014 AC4=&17 5805 000015 AC5=&17 5806 000006 RAN1=&17 5807 036247 201 07 0 00 036247 MOVEI AC-1,. 5808 036250 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5809 036251 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5810 036252 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5811 036253 201 07 0 00 000020 MOVEI AC-1,20 ;ROUTINE WEIGHTING 5812 036254 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5813 036255 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5814 036256 TDNE2F: RANDOM^ 5815 036256 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5816 036257 270 10 0 00 037562 ADD AC,[142536475076] 5817 036260 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5818 036261 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5819 036262 460 11 0 00 000010 TDNE3F: SETCM AC1,AC ;MAKE C(E) = 1'S COMP OF C(AC). 5820 036263 616 10 0 00 000011 TDNN AC,AC1 ;C(E) + C(AC) = 0..NO SKIP. 5821 036264 254 00 0 00 036266 JRST .+2 5822 036265 005 10 0 00 037577 ER AC,[ASCII /TST/];TDNN SKIPPED. 5823 036266 612 10 0 00 000011 TDNE AC,AC1 ;C(E) + C(AC) = 0..SKIP. 5824 036267 005 10 0 00 037577 ER AC,[ASCII /TST/] 5825 036270 312 10 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = ORIG C(AC). 5826 036271 001 11 0 00 037667 ERR AC1,RAN 5827 LOOP TDNE2F,TDNE3F^ 5828 036272 367 07 0 00 036256 SOJG AC-1,TDNE2F ;ITERATION COUNTER 5829 036273 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5830 036274 321 07 0 00 036262 JUMPL AC-1,TDNE3F ;LOOP ON ERROR SWITCH ^ 5831 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 104 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0157 5832 5833 ;TEST TDZ,TDZA. CHECK FOR SKIP/ NO SKIP AND 5834 ;CORRECT DATA IN AC FOR NOT RAN TO RAN CONDITION. 5835 5836 000011 AC=11 5837 036275 TDZA1: SETUP 100,0^ 5838 000012 AC1=&17 5839 000013 AC2=&17 5840 000014 AC3=&17 5841 000015 AC4=&17 5842 000016 AC5=&17 5843 000007 RAN1=&17 5844 036275 201 10 0 00 036275 MOVEI AC-1,. 5845 036276 202 10 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5846 036277 201 10 0 00 000010 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5847 036300 202 10 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5848 036301 201 10 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 5849 036302 240 10 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5850 036303 240 10 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5851 036304 TDZA2: RANDOM^ 5852 036304 200 11 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5853 036305 270 11 0 00 037562 ADD AC,[142536475076] 5854 036306 241 11 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5855 036307 447 11 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5856 036310 460 12 0 00 000011 TDZA3: SETCM AC1,AC ;MAKE C(E) 1'S COMP OF C(AC). 5857 036311 630 11 0 00 000012 TDZ AC,AC1 ;SHOULD NOT SKIP. 5858 036312 254 00 0 00 036314 JRST .+2 5859 036313 005 11 0 00 037577 ER AC,[ASCII/TST/] ;TDZ SKIPPED. 5860 036314 634 11 0 00 000012 TDZA AC,AC1 ;SHOULD SKIP. 5861 036315 005 11 0 00 037577 ER AC,[ASCII /TST/] 5862 036316 312 11 0 00 037667 CAME AC,RAN ;C(AC) SHOULD STILL = RAN NUM. 5863 036317 001 12 0 00 037667 ERR AC1,RAN 5864 036320 316 12 0 00 037667 CAMN AC1,RAN ;C(E) SHOULD NOT = RAN. 5865 036321 001 12 0 00 037667 ERR AC1,RAN 5866 LOOP TDZA2,TDZA3^ 5867 036322 367 10 0 00 036304 SOJG AC-1,TDZA2 ;ITERATION COUNTER 5868 036323 200 11 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5869 036324 321 10 0 00 036310 JUMPL AC-1,TDZA3 ;LOOP ON ERROR SWITCH ^ 5870 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 105 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0158 5871 5872 ;TEST TDZ,TDZA. CHECK FOR SKIP/NO SKIP AND 5873 ;CORRECT DATA IN AC FOR RAN TO RAN CONDITION. 5874 5875 000010 AC=10 5876 036325 TDZAA: SETUP 100,1^ 5877 000011 AC1=&17 5878 000012 AC2=&17 5879 000013 AC3=&17 5880 000014 AC4=&17 5881 000015 AC5=&17 5882 000006 RAN1=&17 5883 036325 201 07 0 00 036325 MOVEI AC-1,. 5884 036326 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5885 036327 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5886 036330 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5887 036331 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 5888 036332 240 07 1 00 030672 ASH AC-1,@CMPLXT+1 ;ROUTINE COMPLEXITY 5889 036333 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5890 036334 TDZAB: RANDOM^ 5891 036334 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5892 036335 270 10 0 00 037562 ADD AC,[142536475076] 5893 036336 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5894 036337 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5895 036340 630 10 0 00 000010 TDZAC: TDZ AC,AC ;SHOULD NOT SKIP. 5896 036341 312 10 0 00 037563 CAME AC,[0] ;SHOULD CLEAR C(AC). 5897 036342 011 00 0 00 037667 EERR ,RAN 5898 036343 200 10 0 00 037667 MOVE AC,RAN ;RESTORE AC. 5899 036344 634 10 0 00 000010 TDZA AC,AC ;SHOULD SKIP. 5900 036345 005 10 0 00 037577 ER AC,[ASCII /TST/] 5901 036346 312 10 0 00 037563 CAME AC,[0] ;C(AC) SHOULD BE CLEARED. 5902 036347 011 00 0 00 037667 EERR ,RAN 5903 LOOP TDZAB,TDZAC^ 5904 036350 367 07 0 00 036334 SOJG AC-1,TDZAB ;ITERATION COUNTER 5905 036351 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5906 036352 321 07 0 00 036340 JUMPL AC-1,TDZAC ;LOOP ON ERROR SWITCH ^ 5907 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 106 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0159 5908 5909 5910 ;TEST TDZ,TDZA. CHECK FOR SKIP/ NO SKIP AND 5911 ;CORRECT DATA IN AC FOR RAN1 TO RAN CONDITION. 5912 5913 000010 AC=10 5914 036353 TDZB1: SETUP 100,0^ 5915 000011 AC1=&17 5916 000012 AC2=&17 5917 000013 AC3=&17 5918 000014 AC4=&17 5919 000015 AC5=&17 5920 000006 RAN1=&17 5921 036353 201 07 0 00 036353 MOVEI AC-1,. 5922 036354 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5923 036355 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5924 036356 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5925 036357 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 5926 036360 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5927 036361 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5928 036362 TDZB2: RANDOM^ 5929 036362 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5930 036363 270 10 0 00 037562 ADD AC,[142536475076] 5931 036364 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5932 036365 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5933 036366 204 11 0 00 000010 TDZB3: MOVS AC1,AC ;MAKE C(E) A DIFF. RAN. NUM. 5934 036367 200 12 0 00 000011 MOVE AC2,AC1 ;SIMULATE 5935 036370 430 12 0 00 000010 XOR AC2,AC ;A 5936 036371 404 12 0 00 000010 AND AC2,AC ;TDZ. 5937 036372 630 10 0 00 000011 TDZ AC,AC1 ;TDZ SHOULD NOT SKIP. 5938 036373 312 10 0 00 000012 CAME AC,AC2 ;C(AC) SHOULD = SIM. ANS. 5939 036374 001 11 0 00 037667 ERR AC1,RAN 5940 036375 200 10 0 00 037667 MOVE AC,RAN ;RESTORE AC. 5941 036376 634 10 0 00 000011 TDZA AC,AC1 ;SHOULD SKIP. 5942 036377 005 10 0 00 037577 ER AC,[ASCII /TST/] 5943 036400 312 10 0 00 000012 CAME AC,AC2 ;C(AC) SHOULD = SIM. ANS. 5944 036401 001 11 0 00 037667 ERR AC1,RAN 5945 LOOP TDZB2,TDZB3^ 5946 036402 367 07 0 00 036362 SOJG AC-1,TDZB2 ;ITERATION COUNTER 5947 036403 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5948 036404 321 07 0 00 036366 JUMPL AC-1,TDZB3 ;LOOP ON ERROR SWITCH ^ 5949 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 107 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0160 5950 ;TEST TDZE, TDZN. CHECK FOR SKIP/NO SKIP AND 5951 ;CORRECT DATA IN AC FOR FLOATING ONE IN C(E) AND 5952 ;THAT BIT CLEARED IN RANDOM NUM. IN AC. 5953 5954 000010 AC=10 5955 036405 TDZE1: SETUP 100,0^ 5956 000011 AC1=&17 5957 000012 AC2=&17 5958 000013 AC3=&17 5959 000014 AC4=&17 5960 000015 AC5=&17 5961 000006 RAN1=&17 5962 036405 201 07 0 00 036405 MOVEI AC-1,. 5963 036406 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 5964 036407 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 5965 036410 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 5966 036411 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 5967 036412 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 5968 036413 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 5969 036414 201 11 0 00 000001 MOVEI AC1,1 ;SETUP AC1 TO CONTAIN A MASK BIT. 5970 036415 TDZE2: RANDOM^ 5971 036415 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 5972 036416 270 10 0 00 037562 ADD AC,[142536475076] 5973 036417 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 5974 036420 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 5975 036421 241 11 0 00 000001 ROT AC1,1 ;ROT TO TEST NEXT BIT. 5976 036422 420 10 0 00 000011 TDZE3: ANDCM AC,AC1 ;CLEAR MASK BIT IN AC. 5977 036423 200 12 0 00 000010 MOVE AC2,AC ;SAVE FOR FUTURE COMPARE. 5978 036424 636 10 0 00 000011 TDZN AC,AC1 ;C(E) + C(AC) = 0...NO SKIP. 5979 036425 254 00 0 00 036427 JRST .+2 5980 036426 005 10 0 00 037577 ER AC,[ASCII /TST/] ;TDZN SKIPPED. 5981 036427 632 10 0 00 000011 TDZE AC,AC1 ;C(E) + C(AC) = 0...SKIP. 5982 036430 005 10 0 00 037577 ER AC,[ASCII /TST/] 5983 036431 312 10 0 00 000012 CAME AC,AC2 ;C(AC) SHOULD = ORIG C(AC). 5984 036432 001 11 0 00 000012 ERR AC1,AC2 5985 LOOP TDZE2,TDZE3^ 5986 036433 367 07 0 00 036415 SOJG AC-1,TDZE2 ;ITERATION COUNTER 5987 036434 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 5988 036435 321 07 0 00 036422 JUMPL AC-1,TDZE3 ;LOOP ON ERROR SWITCH ^ 5989 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 108 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0161 5990 5991 ;TEST TDZE, TDZN. CHECK FOR SKIP/ NO SKIP AND 5992 ;CORRECT DATA IN AC FOR FLOATING ONE IN C(E) 5993 ;AND THAT BIT SET IN RAN. NUM. IN C(AC). 5994 5995 000010 AC=10 5996 036436 TDZEA: SETUP 100,0^ 5997 000011 AC1=&17 5998 000012 AC2=&17 5999 000013 AC3=&17 6000 000014 AC4=&17 6001 000015 AC5=&17 6002 000006 RAN1=&17 6003 036436 201 07 0 00 036436 MOVEI AC-1,. 6004 036437 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6005 036440 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6006 036441 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6007 036442 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 6008 036443 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 6009 036444 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6010 036445 201 11 0 00 000001 MOVEI AC1,1 ;SET MASK BIT IN C(E). 6011 036446 TDZEB: RANDOM^ 6012 036446 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6013 036447 270 10 0 00 037562 ADD AC,[142536475076] 6014 036450 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6015 036451 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6016 036452 241 11 0 00 000001 ROT AC1,1 ;ROT MASK BIT TO TEST NEXT BIT. 6017 036453 434 10 0 00 000011 TDZEC: IOR AC,AC1 ;SET MASK BIT IN AC. 6018 036454 200 06 0 00 000010 MOVE RAN1,AC ;SAVE C(AC) IN CASE OF ERROR. 6019 036455 200 12 0 00 000010 MOVE AC2,AC ;SIMULATE 6020 036456 420 12 0 00 000011 ANDCM AC2,AC1 ;A TDZ. 6021 036457 632 10 0 00 000011 TDZE AC,AC1 ;C(E) + C(AC) NOT = 0...NO SKIP. 6022 036460 312 10 0 00 000012 CAME AC,AC2 ;C(AC) SHOULD = SIM. ANS. 6023 036461 001 11 0 00 000006 ERR AC1,RAN1 6024 036462 434 10 0 00 000011 IOR AC,AC1 ;RESET MASK BIT IN AC. 6025 036463 636 10 0 00 000011 TDZN AC,AC1 ;C(E) + C(AC) NOT = 0...SKIP. 6026 036464 005 10 0 00 037577 ER AC,[ASCII /TST/] 6027 036465 312 10 0 00 000012 CAME AC,AC2 ;AND C(AC) SHOULD = SIM. ANS. 6028 036466 001 11 0 00 000006 ERR AC1,RAN1 6029 LOOP TDZEB,TDZEC^ 6030 036467 367 07 0 00 036446 SOJG AC-1,TDZEB ;ITERATION COUNTER 6031 036470 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6032 036471 321 07 0 00 036453 JUMPL AC-1,TDZEC ;LOOP ON ERROR SWITCH ^ 6033 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 109 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0162 6034 6035 ;TEST TDZE,TDZN. SET AND ROT A MASK BIT IN AC 6036 ;AND CHECK SKIP/NO SKIP AND PROPER C(AC) 6037 ;FOR MASK BIT IN AC ANS RANDOM NUMBER IN E. 6038 6039 000010 AC=10 6040 036472 TDZNA: SETUP 100,0^ 6041 000011 AC1=&17 6042 000012 AC2=&17 6043 000013 AC3=&17 6044 000014 AC4=&17 6045 000015 AC5=&17 6046 000006 RAN1=&17 6047 036472 201 07 0 00 036472 MOVEI AC-1,. 6048 036473 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6049 036474 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6050 036475 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6051 036476 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 6052 036477 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 6053 036500 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6054 036501 201 11 0 00 000001 MOVEI AC1,1 ;SETUP AC1 FOR MASK BIT. 6055 036502 TDZNB: RANDOM^ 6056 036502 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6057 036503 270 10 0 00 037562 ADD AC,[142536475076] 6058 036504 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6059 036505 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6060 036506 241 11 0 00 000001 ROT AC1,1 ;ROT AC1 TO TEST NEXT BIT. 6061 036507 200 12 0 00 000011 MOVE AC2,AC1 ;SAVE MASK BIT. 6062 036510 200 11 0 00 000012 TDZNC: MOVE AC1,AC2 ;RESTORE MASK BIT IF ERROR. 6063 036511 420 10 0 00 000011 ANDCM AC,AC1 ;CLEAR MASK BIT IN RAN NUM. 6064 036512 636 11 0 00 000010 TDZN AC1,AC ;C(E) + C(AC) =0..SHOULDN'T SKIP. 6065 036513 254 00 0 00 036515 JRST .+2 6066 036514 005 11 0 00 037577 ER AC1,[ASCII /TST/];TDZN SKIPPED. 6067 036515 632 11 0 00 000010 TDZE AC1,AC ;C(E) + C(AC) = 0..SKIP. 6068 036516 005 11 0 00 037577 ER AC1,[ASCII /TST/] 6069 036517 312 11 0 00 000012 CAME AC1,AC2 ;C(AC1) SHOULD NOT HAVE CHANGED. 6070 036520 001 10 0 00 000012 ERR AC,AC2 6071 LOOP TDZNB,TDZNC^ 6072 036521 367 07 0 00 036502 SOJG AC-1,TDZNB ;ITERATION COUNTER 6073 036522 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6074 036523 321 07 0 00 036510 JUMPL AC-1,TDZNC ;LOOP ON ERROR SWITCH ^ 6075 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 110 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0163 6076 6077 ;TEST TDZE,TDZN. SET AND ROT A MASK BIT IN AC 6078 ;AND CHECK SKIP/NO SKIP AND PROPER C(AC) 6079 ;FOR MASK BIT IN AC AND RANDOM NUMBER IN E. 6080 ;RANDOM NUMBER HAS MASK BIT SET. 6081 6082 000010 AC=10 6083 036524 TDZN1: SETUP 40,0^ 6084 000011 AC1=&17 6085 000012 AC2=&17 6086 000013 AC3=&17 6087 000014 AC4=&17 6088 000015 AC5=&17 6089 000006 RAN1=&17 6090 036524 201 07 0 00 036524 MOVEI AC-1,. 6091 036525 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6092 036526 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6093 036527 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6094 036530 201 07 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 6095 036531 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 6096 036532 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6097 036533 201 11 0 00 000001 MOVEI AC1,1 ;SETUP AC1 FOR MASK BIT. 6098 036534 TDZN2: RANDOM^ 6099 036534 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6100 036535 270 10 0 00 037562 ADD AC,[142536475076] 6101 036536 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6102 036537 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6103 036540 241 11 0 00 000001 ROT AC1,1 ;ROT AC1 TO TEST NEXT BIT. 6104 036541 200 12 0 00 000011 TDZN3: MOVE AC2,AC1 ;SAVE MASK BIT. 6105 036542 434 10 0 00 000011 IOR AC,AC1 ;SET MASK BIT IN RAN. 6106 036543 632 11 0 00 000010 TDZE AC1,AC ;C(E) + C(AC) NOT = 0...NO SKIP. 6107 036544 312 11 0 00 037563 CAME AC1,[0] ;C(AC) SHOULD = 0. 6108 036545 001 10 0 00 000012 ERR AC,AC2 6109 036546 200 11 0 00 000012 MOVE AC1,AC2 ;RESTORE MASK BIT. 6110 036547 636 11 0 00 000010 TDZN AC1,AC ;C(E) + C(AC) NOT = 0...SKIP. 6111 036550 005 11 0 00 037577 ER AC1,[ASCII /TST/] 6112 036551 312 11 0 00 037563 CAME AC1,[0] ;AC1 SHOULD HAVE GOTTEN CLEARED OUT. 6113 036552 001 10 0 00 000012 ERR AC,AC2 6114 036553 200 11 0 00 000012 MOVE AC1,AC2 ;RESTORE MASK BIT. 6115 LOOP TDZN2,TDZN3^ 6116 036554 367 07 0 00 036534 SOJG AC-1,TDZN2 ;ITERATION COUNTER 6117 036555 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6118 036556 321 07 0 00 036541 JUMPL AC-1,TDZN3 ;LOOP ON ERROR SWITCH ^ 6119 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 111 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0164 6120 6121 ;TEST TDO TDOA. CHECK FOR SKIP/NO SKIP ANS CORRECT DATA 6122 ;IN AC FOR RAN TO NOT RAN. 6123 6124 000010 AC=10 6125 036557 TDOA1: SETUP 100,0^ 6126 000011 AC1=&17 6127 000012 AC2=&17 6128 000013 AC3=&17 6129 000014 AC4=&17 6130 000015 AC5=&17 6131 000006 RAN1=&17 6132 036557 201 07 0 00 036557 MOVEI AC-1,. 6133 036560 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6134 036561 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6135 036562 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6136 036563 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 6137 036564 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 6138 036565 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6139 036566 TDOA2: RANDOM^ 6140 036566 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6141 036567 270 10 0 00 037562 ADD AC,[142536475076] 6142 036570 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6143 036571 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6144 036572 460 11 0 00 000010 TDOA3: SETCM AC1,AC ;MAKE "C(E)" = COMP OF RAN. 6145 036573 670 10 0 00 000011 TDO AC,AC1 ;SHOULD NOT SKIP. 6146 036574 312 10 0 00 037565 CAME AC,[-1] ;AC SHOULD HAVE ALL BITS SET. 6147 036575 001 11 0 00 037667 ERR AC1,RAN 6148 036576 200 10 0 00 037667 MOVE AC,RAN ;RESTORE AC. 6149 036577 674 10 0 00 000011 TDOA AC,AC1 ;SHOULD SKIP. 6150 036600 005 10 0 00 037577 ER AC,[ASCII /TST/] 6151 036601 312 10 0 00 037565 CAME AC,[-1] ;AC SHOULD HAVE ALL BITS SET. 6152 036602 001 11 0 00 037667 ERR AC1,RAN 6153 LOOP TDOA2,TDOA3^ 6154 036603 367 07 0 00 036566 SOJG AC-1,TDOA2 ;ITERATION COUNTER 6155 036604 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6156 036605 321 07 0 00 036572 JUMPL AC-1,TDOA3 ;LOOP ON ERROR SWITCH ^ 6157 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 112 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0165 6158 6159 ;TEST TDO,TDOA. CHECK SKIP/NO SKIP AND 6160 ;CORRECT DATA IN AC FOR RAN TO RAN CONDITION. 6161 6162 000002 AC=2 6163 036606 TDOAA: SETUP 40,0^ 6164 000003 AC1=&17 6165 000004 AC2=&17 6166 000005 AC3=&17 6167 000006 AC4=&17 6168 000007 AC5=&17 6169 000000 RAN1=&17 6170 036606 201 01 0 00 036606 MOVEI AC-1,. 6171 036607 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6172 036610 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6173 036611 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6174 036612 201 01 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 6175 036613 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 6176 036614 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6177 036615 TDOAB: RANDOM^ 6178 036615 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6179 036616 270 02 0 00 037562 ADD AC,[142536475076] 6180 036617 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6181 036620 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6182 036621 670 02 0 00 000002 TDOAC: TDO AC,AC ;SHOULD NOT SKIP. 6183 036622 254 00 0 00 036624 JRST .+2 6184 036623 005 02 0 00 037577 ER AC,[ASCII /TST/] ;TDO SKIPPED. 6185 036624 674 02 0 00 000002 TDOA AC,AC ;SHOULD SKIP. 6186 036625 005 02 0 00 037577 ER AC,[ASCII /TST/] 6187 036626 312 02 0 00 037667 CAME AC,RAN ;C(AC) SHOULD NOT HAVE CHANGED. 6188 036627 011 00 0 00 037667 EERR ,RAN 6189 LOOP TDOAB,TDOAC^ 6190 036630 367 01 0 00 036615 SOJG AC-1,TDOAB ;ITERATION COUNTER 6191 036631 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6192 036632 321 01 0 00 036621 JUMPL AC-1,TDOAC ;LOOP ON ERROR SWITCH ^ 6193 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 113 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0166 6194 6195 ;TEST TDO, TDOA. CHECK FOR SKIP/NO SKIP 6196 ;AND CORRECT DATA IN AC FOR RAN1 TO RAN CONDITION. 6197 6198 000002 AC=2 6199 036633 TDOB1: SETUP 400,3^ 6200 000003 AC1=&17 6201 000004 AC2=&17 6202 000005 AC3=&17 6203 000006 AC4=&17 6204 000007 AC5=&17 6205 000000 RAN1=&17 6206 036633 201 01 0 00 036633 MOVEI AC-1,. 6207 036634 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6208 036635 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6209 036636 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6210 036637 201 01 0 00 000400 MOVEI AC-1,400 ;ROUTINE WEIGHTING 6211 036640 240 01 1 00 030674 ASH AC-1,@CMPLXT+3 ;ROUTINE COMPLEXITY 6212 036641 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6213 036642 TDOB2: RANDOM^ 6214 036642 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6215 036643 270 02 0 00 037562 ADD AC,[142536475076] 6216 036644 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6217 036645 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6218 036646 204 03 0 00 000002 TDOB3: MOVS AC1,AC ;MAKE AC1 ANOTHER RAN NUM. 6219 036647 200 04 0 00 000002 MOVE AC2,AC ;SIMULATE 6220 036650 430 04 0 00 000003 XOR AC2,AC1 ;A 6221 036651 434 04 0 00 000002 IOR AC2,AC ;TDO INST. 6222 036652 670 02 0 00 000003 TDO AC,AC1 ;SHOULD NOT SKIP. 6223 036653 312 02 0 00 000004 CAME AC,AC2 ;C(AC) = SIM. ANS? 6224 036654 001 03 0 00 037667 ERR AC1,RAN ;NO. 6225 036655 200 02 0 00 037667 MOVE AC,RAN ;RESTORE AC. 6226 036656 674 02 0 00 000003 TDOA AC,AC1 ;SHOULD SKIP. 6227 036657 005 02 0 00 037577 ER AC,[ASCII /TST/] 6228 036660 312 02 0 00 000004 CAME AC,AC2 ;C(AC) = SIM ANS? 6229 036661 001 03 0 00 037667 ERR AC1,RAN ;NO. 6230 LOOP TDOB2,TDOB3^ 6231 036662 367 01 0 00 036642 SOJG AC-1,TDOB2 ;ITERATION COUNTER 6232 036663 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6233 036664 321 01 0 00 036646 JUMPL AC-1,TDOB3 ;LOOP ON ERROR SWITCH ^ 6234 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 114 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0167 6235 6236 ;TEST TDOE,TDON. ROT A MASK BIT IN E AND SET THAT 6237 ;BIT IN AC BEFORE TDO. CHECK FOR SKIP/NO SKIP 6238 ;AND PROPER DATA IN AC. 6239 6240 000002 AC=2 6241 036665 TDOE1: SETUP 40,0^ 6242 000003 AC1=&17 6243 000004 AC2=&17 6244 000005 AC3=&17 6245 000006 AC4=&17 6246 000007 AC5=&17 6247 000000 RAN1=&17 6248 036665 201 01 0 00 036665 MOVEI AC-1,. 6249 036666 202 01 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6250 036667 201 01 0 00 000001 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6251 036670 202 01 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6252 036671 201 01 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 6253 036672 240 01 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 6254 036673 240 01 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6255 036674 201 03 0 00 000001 MOVEI AC1,1 ;SETUP A MASK BIT IN "E". 6256 036675 TDOE2: RANDOM^ 6257 036675 200 02 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6258 036676 270 02 0 00 037562 ADD AC,[142536475076] 6259 036677 241 02 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6260 036700 447 02 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6261 036701 241 03 0 00 000000 ROT AC1, ;ROT MASK BIT TO TEST NEXT BIT. 6262 036702 434 02 0 00 000003 TDOE3: IOR AC,AC1 ;SET MASK BIT IN AC. 6263 036703 200 04 0 00 000002 MOVE AC2,AC ;SAVE AC IN AC2. 6264 036704 672 02 0 00 000003 TDOE AC,AC1 ;C(E) + C(AC) NOT = 0. NO SKIP. 6265 036705 254 00 0 00 036707 JRST .+2 6266 036706 005 02 0 00 037577 ER AC,[ASCII /TST/];TDOE SKIPPED. 6267 036707 676 02 0 00 000003 TDON AC,AC1 ;C(E) + C(AC) NOT = 0..SKIP. 6268 036710 005 02 0 00 037577 ER AC,[ASCII /TST/] 6269 036711 312 02 0 00 000004 CAME AC,AC2 ;C(AC) SHOULD NOT CHANGE. 6270 036712 001 03 0 00 000004 ERR AC1,AC2 6271 LOOP TDOE2,TDOE3^ 6272 036713 367 01 0 00 036675 SOJG AC-1,TDOE2 ;ITERATION COUNTER 6273 036714 200 02 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6274 036715 321 01 0 00 036702 JUMPL AC-1,TDOE3 ;LOOP ON ERROR SWITCH ^ 6275 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 115 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0168 6276 6277 ;TEST TDOE,TDON. ROT A MASK BIT IN E AND CLEAR THAT 6278 ;BIT IN AC BEFORE TDO. CHECK FOR SKIP/NO SKIP 6279 ;AND PROPER DATA IN AC. 6280 6281 000003 AC=3 6282 036716 TDOEA: SETUP 40,0^ 6283 000004 AC1=&17 6284 000005 AC2=&17 6285 000006 AC3=&17 6286 000007 AC4=&17 6287 000010 AC5=&17 6288 000001 RAN1=&17 6289 036716 201 02 0 00 036716 MOVEI AC-1,. 6290 036717 202 02 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6291 036720 201 02 0 00 000002 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6292 036721 202 02 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6293 036722 201 02 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 6294 036723 240 02 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 6295 036724 240 02 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6296 036725 201 04 0 00 000001 MOVEI AC1,1 ;SETUP MASK BIT IN"E". 6297 036726 TDOEB: RANDOM^ 6298 036726 200 03 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6299 036727 270 03 0 00 037562 ADD AC,[142536475076] 6300 036730 241 03 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6301 036731 447 03 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6302 036732 241 04 0 00 000001 ROT AC1,1 ;ROT MASK BIT TO TEST NEXT BIT. 6303 036733 420 03 0 00 000004 TDOEC: ANDCM AC,AC1 ;CLEAR MASK BIT IN AC. 6304 036734 200 01 0 00 000003 MOVE RAN1,AC ;SAVE AC. 6305 036735 200 05 0 00 000003 MOVE AC2,AC ;SIMULATE 6306 036736 434 05 0 00 000004 IOR AC2,AC1 ;A TDO. 6307 036737 672 03 0 00 000004 TDOE AC,AC1 ;C(E) + C(AC) = 0. SKIP. 6308 036740 005 03 0 00 037577 ER AC,[ASCII /TST/] 6309 036741 312 03 0 00 000005 CAME AC,AC2 ;C(AC) = SIM ANS? 6310 036742 001 04 0 00 000001 ERR AC1,RAN1 ;NO. 6311 036743 200 03 0 00 000001 MOVE AC,RAN1 ;RESTORE AC. 6312 036744 676 03 0 00 000004 TDON AC,AC1 ;C(E) + C(AC) = 0..NO SKIP. 6313 036745 312 03 0 00 000005 CAME AC,AC2 ;C(AC) = SIM. ANS? 6314 036746 001 04 0 00 000001 ERR AC1,RAN1 ;NO. 6315 LOOP TDOEB,TDOEC^ 6316 036747 367 02 0 00 036726 SOJG AC-1,TDOEB ;ITERATION COUNTER 6317 036750 200 03 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6318 036751 321 02 0 00 036733 JUMPL AC-1,TDOEC ;LOOP ON ERROR SWITCH ^ 6319 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 116 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0169 6320 6321 ;TEST TDOE,TDON. ROT A MASK BIT IN AC AND CLEAR THAT 6322 ;BIT IN E BEFORE TDO. CHECK FOR SKIP/NO SKIP 6323 ;AND PROPER DATA IN AC. 6324 6325 000004 AC=4 6326 036752 TDONA: SETUP 40,0^ 6327 000005 AC1=&17 6328 000006 AC2=&17 6329 000007 AC3=&17 6330 000010 AC4=&17 6331 000011 AC5=&17 6332 000002 RAN1=&17 6333 036752 201 03 0 00 036752 MOVEI AC-1,. 6334 036753 202 03 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6335 036754 201 03 0 00 000003 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6336 036755 202 03 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6337 036756 201 03 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 6338 036757 240 03 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 6339 036760 240 03 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6340 036761 201 05 0 00 000001 MOVEI AC1,1 ;SETUP A MASK BIT IN AC. 6341 036762 TDONB: RANDOM^ 6342 036762 200 04 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6343 036763 270 04 0 00 037562 ADD AC,[142536475076] 6344 036764 241 04 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6345 036765 447 04 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6346 036766 241 05 0 00 000001 ROT AC1,1 ;ROT BIT TO TEST NEXT BIT. 6347 036767 200 06 0 00 000005 MOVE AC2,AC1 ;SAVE MASK BIT SO IN CASE 6348 036770 200 05 0 00 000006 TDONC: MOVE AC1,AC2 ;OF ERROR IT CAN BE RESTORED. 6349 036771 420 04 0 00 000005 ANDCM AC,AC1 ;CLEAR MASK BIT IN E. 6350 036772 322 04 0 00 036762 JUMPE AC,TDONB ;REJECT IF C(AC) = 0. 6351 036773 200 07 0 00 000004 MOVE AC3,AC ;SIMULATE 6352 036774 434 07 0 00 000005 IOR AC3,AC1 ;TDO. 6353 036775 672 05 0 00 000004 TDOE AC1,AC ;C(E) + C(AC) = 0...SKIP. 6354 036776 005 05 0 00 037577 ER AC1,[ASCII /TST/];TDOE DID NOT SKIP. 6355 036777 312 05 0 00 000007 CAME AC1,AC3 ;C(AC) SHOULD = SIM. ANS. 6356 037000 001 04 0 00 000006 ERR AC,AC2 6357 037001 676 05 0 00 000004 TDON AC1,AC ;C(E) + C(AC) NOT = 0...SKIP. 6358 037002 005 05 0 00 037577 ER AC1,[ASCII /TST/] 6359 037003 312 05 0 00 000007 CAME AC1,AC3 ;C(AC) SHOULD = SIM. ANS. 6360 037004 001 04 0 00 000006 ERR AC,AC2 6361 037005 200 05 0 00 000006 MOVE AC1,AC2 ;RESTORE AC. 6362 LOOP TDONB,TDONC^ 6363 037006 367 03 0 00 036762 SOJG AC-1,TDONB ;ITERATION COUNTER 6364 037007 200 04 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6365 037010 321 03 0 00 036770 JUMPL AC-1,TDONC ;LOOP ON ERROR SWITCH ^ 6366 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 117 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0170 6367 6368 ;TEST TDOE,TDON. ROT A MASK BIT IN AC AND SET 6369 ;THAT BIT IN E BEFORE TDO. CHECK FOR SKIP/ NO SKIP 6370 ;AND CORRECT DATA IN AC. 6371 6372 000005 AC=5 6373 037011 TDON1: SETUP 40,0^ 6374 000006 AC1=&17 6375 000007 AC2=&17 6376 000010 AC3=&17 6377 000011 AC4=&17 6378 000012 AC5=&17 6379 000003 RAN1=&17 6380 037011 201 04 0 00 037011 MOVEI AC-1,. 6381 037012 202 04 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6382 037013 201 04 0 00 000004 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6383 037014 202 04 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6384 037015 201 04 0 00 000040 MOVEI AC-1,40 ;ROUTINE WEIGHTING 6385 037016 240 04 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 6386 037017 240 04 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6387 037020 201 06 0 00 000001 MOVEI AC1,1 ;SETUP AC TO CONTAIN A MASK BIT. 6388 037021 TDON2: RANDOM^ 6389 037021 200 05 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6390 037022 270 05 0 00 037562 ADD AC,[142536475076] 6391 037023 241 05 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6392 037024 447 05 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6393 037025 241 06 0 00 000001 ROT AC1,1 ;ROT TO TEST NEXT BIT. 6394 037026 200 07 0 00 000006 MOVE AC2,AC1 ;SAVE C(AC) SO IT CAN BE 6395 037027 200 06 0 00 000007 TDON3: MOVE AC1,AC2 ;RESTORED IN CASE OF ERROR. 6396 037030 434 05 0 00 000006 IOR AC,AC1 ;SET MASK BIT IN E. 6397 037031 672 06 0 00 000005 TDOE AC1,AC ;C(E) + C(AC) NOT = 0...NO SKIP. 6398 037032 254 00 0 00 037034 JRST .+2 6399 037033 005 06 0 00 037577 ER AC1,[ASCII /TST/];TDOE SKIPPED. 6400 037034 676 06 0 00 000005 TDON AC1,AC ;C(E) + C(AC) NOT = 0...SKIP. 6401 037035 005 06 0 00 037577 ER AC1,[ASCII /TST/] 6402 037036 312 06 0 00 000005 CAME AC1,AC ;C(AC) SHOULD = C(E). 6403 037037 001 05 0 00 000007 ERR AC,AC2 6404 037040 200 06 0 00 000007 MOVE AC1,AC2 ;RESTORE AC. 6405 LOOP TDON2,TDON3^ 6406 037041 367 04 0 00 037021 SOJG AC-1,TDON2 ;ITERATION COUNTER 6407 037042 200 05 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6408 037043 321 04 0 00 037027 JUMPL AC-1,TDON3 ;LOOP ON ERROR SWITCH ^ 6409 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 118 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0171 6410 6411 ;TEST TDC. CHECK FOR SKIP/NO SKIP AND CORRECT 6412 ;DATA FOR NOT RAN TO RAN CONDITION. 6413 6414 000006 AC=6 6415 037044 TDC1: SETUP 100,0^ 6416 000007 AC1=&17 6417 000010 AC2=&17 6418 000011 AC3=&17 6419 000012 AC4=&17 6420 000013 AC5=&17 6421 000004 RAN1=&17 6422 037044 201 05 0 00 037044 MOVEI AC-1,. 6423 037045 202 05 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6424 037046 201 05 0 00 000005 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6425 037047 202 05 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6426 037050 201 05 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 6427 037051 240 05 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 6428 037052 240 05 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6429 037053 TDC2: RANDOM^ 6430 037053 200 06 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6431 037054 270 06 0 00 037562 ADD AC,[142536475076] 6432 037055 241 06 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6433 037056 447 06 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6434 037057 460 07 0 00 037667 TDC3: SETCM AC1,RAN ;MAKE C("E") = COMP. OF RAN. 6435 037060 650 06 0 00 000007 TDC AC,AC1 ;NO SKIP. 6436 037061 312 06 0 00 037565 CAME AC,[-1] ;C(AC) SHOULD = A -1. 6437 037062 001 07 0 00 037667 ERR AC1,RAN 6438 037063 474 04 0 00 000000 SETO RAN1, ;SET RAN1 FOR ERROR MESSAGE. 6439 037064 650 06 0 00 000007 TDC AC,AC1 ;NO SKIP. 6440 037065 312 06 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = RAN AGAIN. 6441 037066 001 07 0 00 000004 ERR AC1,RAN1 6442 LOOP TDC2,TDC3^ 6443 037067 367 05 0 00 037053 SOJG AC-1,TDC2 ;ITERATION COUNTER 6444 037070 200 06 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6445 037071 321 05 0 00 037057 JUMPL AC-1,TDC3 ;LOOP ON ERROR SWITCH ^ 6446 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 119 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0172 6447 6448 ;TEST TDCA. CHECKING FOR SKIP/ NO SKIP AND 6449 ;CORRECT DATA IN AC FOR NOT RAN TO RAN CONDITION. 6450 6451 000010 AC=10 6452 037072 TDCA1: SETUP 100,0^ 6453 000011 AC1=&17 6454 000012 AC2=&17 6455 000013 AC3=&17 6456 000014 AC4=&17 6457 000015 AC5=&17 6458 000006 RAN1=&17 6459 037072 201 07 0 00 037072 MOVEI AC-1,. 6460 037073 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6461 037074 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6462 037075 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6463 037076 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 6464 037077 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 6465 037100 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6466 037101 TDCA2: RANDOM^ 6467 037101 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6468 037102 270 10 0 00 037562 ADD AC,[142536475076] 6469 037103 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6470 037104 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6471 037105 460 11 0 00 037667 TDCA3: SETCM AC1,RAN ;MAKE C("E") = COMP OF RAN. 6472 037106 650 10 0 00 000011 TDC AC,AC1 ;SHOULD NOT SKIP. 6473 037107 254 00 0 00 037111 JRST .+2 6474 037110 005 10 0 00 037577 ER AC,[ASCII /TST/];TDC SKIPPED. 6475 037111 654 10 0 00 000011 TDCA AC,AC1 ;SHOULD SKIP. 6476 037112 005 10 0 00 037577 ER AC,[ASCII /TST/] 6477 037113 312 10 0 00 037667 CAME AC,RAN ;TWO TDC'S SHOULD RETURN C(AC) 6478 ;TO IT'S ORIGINAL VALUE. 6479 037114 001 11 0 00 037667 ERR AC1,RAN 6480 LOOP TDCA2,TDCA3^ 6481 037115 367 07 0 00 037101 SOJG AC-1,TDCA2 ;ITERATION COUNTER 6482 037116 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6483 037117 321 07 0 00 037105 JUMPL AC-1,TDCA3 ;LOOP ON ERROR SWITCH ^ 6484 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 120 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0173 6485 6486 ;TEST TDCE. CHECKING FOR SKIP/NO SKIP AND 6487 ;CORRECT DATA IN AC FOR RAN TO 0 CONDITION. 6488 6489 000011 AC=11 6490 037120 TDCE1: SETUP 100,0^ 6491 000012 AC1=&17 6492 000013 AC2=&17 6493 000014 AC3=&17 6494 000015 AC4=&17 6495 000016 AC5=&17 6496 000007 RAN1=&17 6497 037120 201 10 0 00 037120 MOVEI AC-1,. 6498 037121 202 10 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6499 037122 201 10 0 00 000010 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6500 037123 202 10 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6501 037124 201 10 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 6502 037125 240 10 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 6503 037126 240 10 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6504 037127 TDCE2: RANDOM^ 6505 037127 200 11 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6506 037130 270 11 0 00 037562 ADD AC,[142536475076] 6507 037131 241 11 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6508 037132 447 11 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6509 037133 403 12 0 00 000007 TDCE3: SETZB AC1,RAN1 ;CLEAR BOTH AC AND RAN1. 6510 037134 652 12 0 00 000011 TDCE AC1,AC ;C(E) + C(AC) = 0. SKIP. 6511 037135 005 12 0 00 037577 ER AC1,[ASCII /TST/] 6512 037136 312 12 0 00 037667 CAME AC1,RAN ;C(AC) SHOULD = RAN. 6513 037137 011 00 0 00 000007 EERR ,RAN1 6514 LOOP TDCE2,TDCE3^ 6515 037140 367 10 0 00 037127 SOJG AC-1,TDCE2 ;ITERATION COUNTER 6516 037141 200 11 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6517 037142 321 10 0 00 037133 JUMPL AC-1,TDCE3 ;LOOP ON ERROR SWITCH ^ 6518 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 121 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0174 6519 6520 ;TEST TDCE,TDCN. CHECKING FOR SKIP/NO SKIP AND 6521 ;CORRECT DATA IN AC FOR 0 TO RAN CONDITION. 6522 6523 000011 AC=11 6524 037143 TDCEA: SETUP 100,0^ 6525 000012 AC1=&17 6526 000013 AC2=&17 6527 000014 AC3=&17 6528 000015 AC4=&17 6529 000016 AC5=&17 6530 000007 RAN1=&17 6531 037143 201 10 0 00 037143 MOVEI AC-1,. 6532 037144 202 10 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6533 037145 201 10 0 00 000010 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6534 037146 202 10 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6535 037147 201 10 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 6536 037150 240 10 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 6537 037151 240 10 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6538 037152 TDCEB: RANDOM^ 6539 037152 200 11 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6540 037153 270 11 0 00 037562 ADD AC,[142536475076] 6541 037154 241 11 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6542 037155 447 11 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6543 037156 400 12 0 00 000000 TDCEC: SETZ AC1, ;CLEAR C(E). 6544 037157 656 11 0 00 000012 TDCN AC,AC1 ;C(E) + C(AC) = 0...NO SKIP. 6545 037160 254 00 0 00 037162 JRST .+2 6546 037161 005 11 0 00 037577 ER AC,[ASCII /TST/];TDCN SKIPPED. 6547 037162 652 11 0 00 000012 TDCE AC,AC1 ;C(E) + C(AC) = 0. SKIP. 6548 037163 005 11 0 00 037577 ER AC,[ASCII /TST/] 6549 037164 312 11 0 00 037667 CAME AC,RAN ;C(AC) SHOULD STILL = RAN. 6550 037165 001 12 0 00 037667 ERR AC1,RAN 6551 LOOP TDCEB,TDCEC^ 6552 037166 367 10 0 00 037152 SOJG AC-1,TDCEB ;ITERATION COUNTER 6553 037167 200 11 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6554 037170 321 10 0 00 037156 JUMPL AC-1,TDCEC ;LOOP ON ERROR SWITCH ^ 6555 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 122 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0175 6556 6557 ;TEST TDCE. CHECKING FOR SKIP/NO SKIP AND 6558 ;CORRECT DATA IN AC FOR RAN TO -1 CONDITION. 6559 6560 000010 AC=10 6561 037171 TDCE4: SETUP 100,0^ 6562 000011 AC1=&17 6563 000012 AC2=&17 6564 000013 AC3=&17 6565 000014 AC4=&17 6566 000015 AC5=&17 6567 000006 RAN1=&17 6568 037171 201 07 0 00 037171 MOVEI AC-1,. 6569 037172 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6570 037173 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6571 037174 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6572 037175 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 6573 037176 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 6574 037177 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6575 037200 TDCE5: RANDOM^ 6576 037200 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6577 037201 270 10 0 00 037562 ADD AC,[142536475076] 6578 037202 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6579 037203 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6580 037204 322 10 0 00 037200 JUMPE AC,TDCE5 ;REJECT IF RAN = 0. 6581 037205 477 11 0 00 000006 TDCE6: SETOB AC1,RAN1 ;SET C(AC) TO ALL ONES. 6582 037206 460 12 0 00 000010 SETCM AC2,AC ;SIMULATE A TDC. 6583 037207 652 11 0 00 000010 TDCE AC1,AC ;C(E) + C(AC) NOT = 0. NO SKIP. 6584 037210 312 11 0 00 000012 CAME AC1,AC2 ;C(AC) = SIM.. ANS? 6585 037211 001 10 0 00 000006 ERR AC,RAN1 ;NO. 6586 LOOP TDCE5,TDCE6^ 6587 037212 367 07 0 00 037200 SOJG AC-1,TDCE5 ;ITERATION COUNTER 6588 037213 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6589 037214 321 07 0 00 037205 JUMPL AC-1,TDCE6 ;LOOP ON ERROR SWITCH ^ 6590 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 123 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0176 6591 6592 ;TEST TDCE,TDCN. CHECKING FOR SKIP/NO SKIP AND 6593 ;CORRECT DATA IN AC FOR -1 TO RAN CONDITION. 6594 6595 000010 AC=10 6596 037215 TDCED: SETUP 100,0^ 6597 000011 AC1=&17 6598 000012 AC2=&17 6599 000013 AC3=&17 6600 000014 AC4=&17 6601 000015 AC5=&17 6602 000006 RAN1=&17 6603 037215 201 07 0 00 037215 MOVEI AC-1,. 6604 037216 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6605 037217 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6606 037220 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6607 037221 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 6608 037222 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 6609 037223 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6610 037224 TDCEE: RANDOM^ 6611 037224 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6612 037225 270 10 0 00 037562 ADD AC,[142536475076] 6613 037226 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6614 037227 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6615 037230 322 10 0 00 037224 JUMPE AC,TDCEE ;REJECT IF RAN = 0. 6616 037231 316 10 0 00 037565 CAMN AC,[-1] ;C(AC) = -1? 6617 037232 254 00 0 00 037224 JRST TDCEE ;YES. REJECT. 6618 037233 477 11 0 00 000006 TDCEF: SETOB AC1,RAN1 ;SET C(E) TO ALL ONES. 6619 037234 652 10 0 00 000011 TDCE AC,AC1 ;C(E) + C(AC) NOT = 0. NO SKIP. 6620 037235 254 00 0 00 037237 JRST .+2 6621 037236 005 10 0 00 037577 ER AC,[ASCII /TST/];TDCE SKIPPED. 6622 037237 656 10 0 00 000011 TDCN AC,AC1 ;C(E) + C(AC) NOT = 0..SKIP. 6623 037240 005 10 0 00 037577 ER AC,[ASCII /TST/] 6624 037241 312 10 0 00 037667 CAME AC,RAN ;C(AC) SHOULD = ORIG C(AC). 6625 037242 001 06 0 00 037667 ERR RAN1,RAN 6626 LOOP TDCEE,TDCEF^ 6627 037243 367 07 0 00 037224 SOJG AC-1,TDCEE ;ITERATION COUNTER 6628 037244 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6629 037245 321 07 0 00 037233 JUMPL AC-1,TDCEF ;LOOP ON ERROR SWITCH ^ 6630 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 124 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0177 6631 6632 ;TEST TDCE. CHECKING FOR SKIP/NO SKIP AND 6633 ;CORRECT DATA IN AC FOR RAN TO RAN CONDITION. 6634 6635 000010 AC=10 6636 037246 TDCE7: SETUP 100,0^ 6637 000011 AC1=&17 6638 000012 AC2=&17 6639 000013 AC3=&17 6640 000014 AC4=&17 6641 000015 AC5=&17 6642 000006 RAN1=&17 6643 037246 201 07 0 00 037246 MOVEI AC-1,. 6644 037247 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6645 037250 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6646 037251 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6647 037252 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 6648 037253 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 6649 037254 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6650 037255 TDCE8: RANDOM^ 6651 037255 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6652 037256 270 10 0 00 037562 ADD AC,[142536475076] 6653 037257 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6654 037260 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6655 037261 322 10 0 00 037255 JUMPE AC,TDCE8 ;REJECT IF RAN = 0. 6656 037262 200 11 0 00 037667 TDCE9: MOVE AC1,RAN ;MAKE C("AC") = C("E"). 6657 037263 652 11 0 00 000010 TDCE AC1,AC ;C(E) + C(AC) NOT = 0. NO SKIP. 6658 037264 312 11 0 00 037563 CAME AC1,[0] ;C(AC) SHOULD = 0. 6659 037265 001 10 0 00 000010 ERR AC,AC 6660 LOOP TDCE8,TDCE9^ 6661 037266 367 07 0 00 037255 SOJG AC-1,TDCE8 ;ITERATION COUNTER 6662 037267 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6663 037270 321 07 0 00 037262 JUMPL AC-1,TDCE9 ;LOOP ON ERROR SWITCH ^ 6664 DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 125 DAKBAM MAC 21-JAN-77 16:47 DIAGNOSTIC SECTION SEQ 0178 6665 6666 ;TEST TDCE. CHECKING FOR SKIP/NO SKIP AND 6667 ;CORRECT DATA IN AC FOR RAN TO NOT RAN. 6668 6669 000010 AC=10 6670 037271 TDCEG: SETUP 100,0^ 6671 000011 AC1=&17 6672 000012 AC2=&17 6673 000013 AC3=&17 6674 000014 AC4=&17 6675 000015 AC5=&17 6676 000006 RAN1=&17 6677 037271 201 07 0 00 037271 MOVEI AC-1,. 6678 037272 202 07 0 00 030051 MOVEM AC-1,TESTPC ;SETUP SUBTEST PC 6679 037273 201 07 0 00 000007 MOVEI AC-1,&17 ;INFORM ERROR ROUTINE 6680 037274 202 07 0 00 037664 MOVEM AC-1,ERRLOP# ;WHICH AC IS USED FOR ITERATION 6681 037275 201 07 0 00 000100 MOVEI AC-1,100 ;ROUTINE WEIGHTING 6682 037276 240 07 1 00 030671 ASH AC-1,@CMPLXT+0 ;ROUTINE COMPLEXITY 6683 037277 240 07 1 00 030670 ASH AC-1,@RTIME ;RUN TIME CONTROLLER ^ 6684 037300 TDCEH: RANDOM^ 6685 037300 200 10 0 00 037667 MOVE AC,RAN# ;GENERATE PSEUDO RANDOM NUMBER 6686 037301 270 10 0 00 037562 ADD AC,[142536475076] 6687 037302 241 10 0 00 777777 ROT AC,-1 ;IN BOTH AC AND 6688 037303 447 10 0 00 037667 EQVB AC,RAN ;REGISTER RAN ^ 6689 037304 460 11 0 00 000010 TDCEI: SETCM AC1,AC ;MAKE C("AC") = TO COMP OF RAN. 6690 037305 200 06 0 00 000011 MOVE RAN1,AC1 ;SAVE C(AC) IN CASE OF ERROR. 6691 037306 652 11 0 00 000010 TDCE AC1,AC ;C(E) + C(AC) = 0. SKIP. 6692 037307 005 11 0 00 037577 ER AC1,[ASCII /TST/] 6693 037310 312 11 0 00 037565 CAME AC1,[-1] ;C(AC) SHOULD = -1. 6694 037311 001 10 0 00 000006 ERR AC,RAN1 6695 LOOP TDCEH,TDCEI^ 6696 037312 367 07 0 00 037300 SOJG AC-1,TDCEH ;ITERATION COUNTER 6697 037313 200 10 0 00 037667 MOVE AC,RAN ;RESTORE RANDOM NUMBER 6698 037314 321 07 0 00 037304 JUMPL AC-1,TDCEI ;LOOP ON ERROR SWITCH ^ 6699 6700 6701 6702 037315 254 00 0 00 030057 JRST BEGEND ;REPEAT TEST DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 1 UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0179 6703 SUBTTL *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 6704 6705 ;THIS SUBROUTINE PROVIDES ERROR REPORTING THRU THE USE OF UUO'S. 6706 6707 037316 202 00 0 00 037676 ERRMES: MOVEM 0,%ERAC0# ;SAVE AC0 6708 IFDEF EXCASB,> 6715 037317 202 01 0 00 037677 MOVEM 1,%ERAC1# ;SAVE AC1 6716 037320 202 02 0 00 037700 MOVEM 2,%ERAC2# ;SAVE AC2 6717 037321 350 00 0 00 030053 AOS ERRTLS ;INCREMENT ERROR TOTALS 6718 037322 550 00 0 00 030114 HRRZ 0,$SVUPC ;GET PC OF UUO 6719 037323 316 00 0 00 030052 CAMN 0,ERRPC ;PC = PC OF LAST ERROR ? 6720 037324 350 00 0 00 037665 AOS MICNT# ;YES, ADD 1 TO ERROR COUNT 6721 037325 200 00 0 00 037665 MOVE 0,MICNT 6722 037326 504 00 0 00 030114 HRL 0,$SVUPC 6723 037327 336 00 0 00 030041 SKIPN KLFLG ;NOT KL10 6724 037330 332 00 0 00 030037 SKIPE USER ;AND NOT USER? 6725 037331 254 00 0 00 037333 JRST .+2 6726 037332 7 004 14 0 00 000000 DATAO PI,0 ;YES, DISPLAY ERROR PC,ERROR COUNT 6727 037333 402 00 0 00 037666 SETZM PROCED# ;CLEAR PROCEED FLAG 6728 037334 037 10 0 00 000002 SWITCH 6729 037335 603 00 0 00 040000 TLNE NOPNT ;PRINTOUT ? 6730 037336 254 00 0 00 037522 JRST %ERRS1 ;NO, RESTORE AC'S AND RETURN 6731 037337 200 01 0 00 030113 MOVE 1,$SVUUO 6732 037340 242 01 0 00 777745 LSH 1,-^D27 6733 037341 202 01 0 00 037670 MOVEM 1,%ACS1A# ;SAVE UUO NUMBER 6734 037342 200 00 0 00 037676 MOVE 0,%ERAC0 6735 037343 200 01 0 00 037677 MOVE 1,%ERAC1 6736 037344 335 00 1 00 037664 SKIPGE @ERRLOP ;ERR LOOP AC > OR = 0 ? 6737 037345 254 00 0 00 037554 JRST %ERRS4 ;NO, SEE IF PRINT ALL 6738 037346 402 00 0 00 037665 %ERMS1: SETZM MICNT ;CLEAR ERROR COUNT 6739 037347 331 00 0 00 030043 SKIPL MONCTL ;DIAG MON OR SYS EXER ? 6740 037350 254 00 0 00 037354 JRST .+4 ;NO, DON'T NEED TITLE 6741 037351 336 00 0 00 037701 SKIPN %ERFST# ;FIRST ERROR ? 6742 037352 037 04 0 00 000002 PNTNM ;YES, PRINT PROGRAM TITLE 6743 037353 476 00 0 00 037701 SETOM %ERFST 6744 037354 336 00 0 00 030047 SKIPN PASCNT ;FIRST PASS ? 6745 037355 254 00 0 00 037361 JRST .+4 ;YES 6746 PMSG <^TEST PASS COUNT = >^ 6747 037356 037 02 0 00 037600 PSIXM [SIXBIT\^TEST PASS COUNT = _\]^ 6748 037357 200 00 0 00 030047 MOVE PASCNT 6749 037360 037 15 0 00 000000 PNTDEC 6750 PMSG <^PC = >^ 6751 037361 037 02 0 00 037604 PSIXM [SIXBIT\^PC = _\]^ 6752 037362 550 00 0 00 030114 HRRZ 0,$SVUPC ;GET PC OF UUO 6753 037363 202 00 0 00 030052 MOVEM 0,ERRPC ;SAVE FOR COMPARE 6754 037364 037 06 0 00 000000 PNT6 ;PRINT UUO ADDRESS 6755 XLIST 6756 LIST DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 4 UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0180 6757 ;RELIABILITY FORMAT ERROR PRINTER 6758 6759 037365 402 00 0 00 037702 %ERMS2: SETZM %RAND# ;CLEAR PNT C(RAN) FLAG 6760 037366 200 01 0 00 037670 MOVE 1,%ACS1A 6761 037367 301 01 0 00 000011 CAIL 1,11 ;UUO # 11-13 6762 037370 476 00 0 00 037702 SETOM %RAND ;YES, SET PNT C(RAN) FLAG 6763 037371 620 01 0 00 000010 TRZ 1,10 ;MAKE UUO # 1-7 6764 037372 202 01 0 00 037670 MOVEM 1,%ACS1A 6765 037373 200 02 0 00 030052 MOVE 2,ERRPC ;GET UUO ADDRESS 6766 037374 200 02 0 02 777777 MOVE 2,-1(2) ;GET INST IN UUO-1 6767 037375 301 01 0 00 000004 CAIL 1,4 ;UUO # < THAN 4 ? 6768 037376 200 02 0 00 030113 MOVE 2,$SVUUO ;YES, GET UUO 6769 037377 202 02 0 00 037671 MOVEM 2,%CNTE# ;SAVE E ADDRESS 6770 037400 200 02 0 00 037700 MOVE 2,%ERAC2 6771 037401 200 01 0 00 037677 MOVE 1,%ERAC1 6772 037402 200 00 0 00 037676 MOVE 0,%ERAC0 6773 037403 201 01 1 00 037671 MOVEI 1,@%CNTE ;GET ADRS FIELD OF UUO OR UUO-1 6774 037404 202 01 0 00 037672 MOVEM 1,%EE1# 6775 037405 200 01 0 00 037677 MOVE 1,%ERAC1 6776 037406 200 01 1 00 037672 MOVE 1,@%EE1 ;GET C(E) 6777 037407 202 01 0 00 037673 MOVEM 1,%EE1A# 6778 037410 200 01 0 00 037677 MOVE 1,%ERAC1 6779 037411 201 01 1 00 030113 MOVEI 1,@$SVUUO ;GET ADDRESS FIELD OF UUO 6780 037412 202 01 0 00 037674 MOVEM 1,%EE2# 6781 037413 200 01 0 00 037670 MOVE 1,%ACS1A 6782 037414 306 01 0 00 000003 CAIN 1,3 ;UUO # 3 ? 6783 037415 254 00 0 00 037421 JRST .+4 ;YES 6784 037416 200 01 0 00 037677 MOVE 1,%ERAC1 6785 037417 200 01 1 00 037674 MOVE 1,@%EE2 ;GET C(E) OF UUO 6786 037420 202 01 0 00 037675 MOVEM 1,%EE2A# 6787 037421 200 02 0 00 037670 MOVE 2,%ACS1A ;GET UUO # 6788 037422 200 01 0 00 037671 MOVE 1,%CNTE 6789 037423 242 01 0 00 777751 LSH 1,-27 ;GET AC NUMBER 6790 037424 405 01 0 00 000017 ANDI 1,17 6791 037425 307 02 0 00 000005 CAIG 2,5 ;UUO # 6,7 OR 2 6792 037426 306 02 0 00 000002 CAIN 2,2 6793 037427 254 00 0 00 037476 JRST %ERR2 ;YES, GO PNT E AND C(E) DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 5 UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0181 6794 ;PRINT ERROR AC 6795 6796 PMSG <^AC = >^ 6797 037430 037 02 0 00 037606 PSIXM [SIXBIT\^AC = _\]^ 6798 037431 200 00 0 00 000001 MOVE 0,1 6799 037432 037 02 0 00 000000 PNT2 ;PRINT AC NUMBER 6800 PMSG <^C(AC)= >^ 6801 037433 037 02 0 00 037610 PSIXM [SIXBIT\^C(AC)= _\]^ 6802 037434 200 00 0 01 000000 MOVE 0,(1) ;GET C(AC) 6803 037435 307 01 0 00 000002 CAIG 1,2 ;IS AC # = SAVED AC ? 6804 037436 200 00 0 01 037676 MOVE 0,%ERAC0(1) ;YES, GET SAVED AC 6805 037437 037 13 0 00 000000 %ERRB: PNTHW ;PRINT C(AC) OR UUO2 (E) 6806 6807 ;PRINT ERROR INFO 6808 6809 037440 306 02 0 00 000005 CAIN 2,5 ;UUO # 5 6810 037441 254 00 0 00 037512 JRST %ERR4 ;YES, GO PNT 'TST','SKP', OR ETC. 6811 6812 PMSG <^COR = >^ 6813 037442 037 02 0 00 037612 PSIXM [SIXBIT\^COR = _\]^ 6814 037443 200 00 0 01 000000 MOVE 0,(1) ;GET C(AC) 6815 037444 307 01 0 00 000002 CAIG 1,2 ;IS AC # = SAVED AC ? 6816 037445 200 00 0 01 037676 MOVE 0,%ERAC0(1) ;YES, GET SAVED AC 6817 037446 302 02 0 00 000002 CAIE 2,2 6818 037447 200 00 0 00 037673 MOVE 0,%EE1A ;UUO # 2, GET C(E) 6819 037450 037 13 0 00 000000 PNTHW ;PRINT C(E) OR UUO2 C(AC) 6820 037451 301 02 0 00 000004 CAIL 2,4 ;UUO # >3 ? 6821 037452 254 00 0 00 037515 JRST %ERRC ;YES, RESTORE AC'S AND RETURN 6822 6823 PMSG <^ ORIGINAL>^ 6824 037453 037 02 0 00 037614 PSIXM [SIXBIT\^ ORIGINAL_\]^ DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 6 UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0182 6825 037454 200 01 0 00 030113 %ERRB1: MOVE 1,$SVUUO 6826 037455 242 01 0 00 777751 LSH 1,-27 ;GET AC # OF UUO 6827 037456 405 01 0 00 000017 ANDI 1,17 6828 PMSG <^C(AC)= >^ 6829 037457 037 02 0 00 037610 PSIXM [SIXBIT\^C(AC)= _\]^ 6830 037460 200 00 0 01 000000 MOVE 0,(1) ;GET C(AC) 6831 037461 307 01 0 00 000002 CAIG 1,2 ;IS AC # = SAVED AC ? 6832 037462 200 00 0 01 037676 MOVE 0,%ERAC0(1) ;YES, GET SAVED AC 6833 037463 332 00 0 00 037702 SKIPE %RAND ;PRINT C(RAN) FLAG SET ? 6834 037464 200 00 0 00 037667 MOVE 0,RAN# ;YES 6835 037465 037 13 0 00 000000 PNTHW ;PRINT C(AC) OR C(RAN) 6836 037466 306 02 0 00 000003 CAIN 2,3 ;UUO # 3 ? 6837 037467 254 00 0 00 037476 JRST %ERR2 ;YES, PRINT E, RESTORE AC'S AND RETURN 6838 037470 306 02 0 00 000007 CAIN 2,7 ;UUO # 7 ? 6839 037471 254 00 0 00 037515 JRST %ERRC ;YES, BYPASS PRINTING C(E) 6840 PMSG <^C(E) = >^ 6841 037472 037 02 0 00 037617 PSIXM [SIXBIT\^C(E) = _\]^ 6842 037473 200 00 0 00 037675 MOVE 0,%EE2A 6843 037474 037 13 0 00 000000 PNTHW ;PRINT C(E) 6844 037475 254 00 0 00 037515 JRST %ERRC 6845 6846 037476 %ERR2: PMSG <^E = >^ 6847 037476 037 02 0 00 037621 PSIXM [SIXBIT\^E = _\]^ 6848 037477 200 00 0 00 037674 MOVE 0,%EE2 6849 037500 306 02 0 00 000002 CAIN 2,2 ;UUO # 2 ? 6850 037501 200 00 0 00 037672 MOVE 0,%EE1 6851 037502 037 06 0 00 000000 PNT6 ;PRINT E OF UUO OR UUO-1 6852 037503 301 02 0 00 000006 CAIL 2,6 ;UUO 6 OR 7 ? 6853 037504 254 00 0 00 037454 JRST %ERRB1 ;YES, GO PNT C(AC), C(E) AND RETURN 6854 037505 306 02 0 00 000003 CAIN 2,3 ;UUO # 3 ? 6855 037506 254 00 0 00 037515 JRST %ERRC ;YES, RESTORE AC'S AND RETURN 6856 6857 PMSG <^C(E) = >^ 6858 037507 037 02 0 00 037617 PSIXM [SIXBIT\^C(E) = _\]^ 6859 037510 200 00 0 00 037673 MOVE 0,%EE1A ;GET C(E) 6860 037511 254 00 0 00 037437 JRST %ERRB DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 7 UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0183 6861 ;PRINT ASCII COMMENT 6862 6863 037512 551 00 1 00 030113 %ERR4: HRRZI 0,@$SVUUO 6864 037513 037 00 0 00 000000 PNTA ;PRINT 'TST','SKP', OR ETC. 6865 037514 254 00 0 00 037515 JRST %ERRC 6866 6867 ;COMPLETE PRINTOUT 6868 6869 037515 037 00 0 00 030242 %ERRC: PCRL 6870 6871 XLIST 6872 LIST 6873 037516 254 00 0 00 037517 JRST %ERMORE 6874 6875 > 6876 LIST DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 8 UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0184 6877 ;RESTORE AC'S AND RETURN OR HALT 6878 6879 037517 256 00 0 00 030101 %ERMORE:XCT ERMORE 6880 037520 037 16 0 00 000002 PNTMGN ;PRINT MARGINS 6881 037521 037 10 0 00 000002 SWITCH 6882 6883 037522 037 07 0 00 000003 %ERRS1: TTALTM ;ALTMODE CHECK 6884 037523 254 00 0 00 037527 JRST .+4 ;NONE 6885 037524 201 00 0 00 037527 MOVEI .+3 ;SAVE CONT ADDRESS 6886 037525 202 00 0 00 000130 MOVEM JOBOPC 6887 037526 254 00 1 00 030063 JRST @ALTMGO ;PERFORM TRANSFER 6888 037527 200 00 0 00 030046 MOVE CONSW 6889 037530 603 00 0 00 002000 TLNE 0,ERSTOP ;HALT ON ERROR SWITCH SET ? 6890 037531 037 14 0 00 000004 ERRHLT ;YES 6891 037532 607 00 0 00 004000 TLNN 0,LOOPER ;LOOP ON ERROR SWITCH SET ? 6892 037533 476 00 0 00 037666 SETOM PROCED ;NO, SET THE PROCEED FLAG 6893 037534 603 00 0 00 010000 TLNE 0,DING ;RING BELL SWITCH SET ? 6894 037535 037 01 0 00 000007 PBELL ;YES, GO RING BELL 6895 6896 037536 200 02 0 00 037700 %ERRS2: MOVE 2,%ERAC2 ;RESTORE AC'S 6897 037537 200 01 0 00 037677 MOVE 1,%ERAC1 6898 037540 476 00 1 00 037664 SETOM @ERRLOP ;SET C(ERR LOOP AC) TO -1 6899 037541 336 00 0 00 037666 SKIPN PROCED ;LOOP ON ERROR ? 6900 037542 254 00 0 00 037552 JRST %ERRS5 ;YES 6901 037543 350 00 1 00 037664 AOS @ERRLOP ;NO, INC C(ERR LOOP AC) 6902 037544 350 00 1 00 037664 AOS @ERRLOP ;SO IT ='S 1 6903 037545 331 00 0 00 030043 SKIPL MONCTL ;UNDER DIAGNOSTIC MONITOR ? 6904 037546 254 00 0 00 037552 JRST %ERRS5 ;NO, CONTINUE PROGRAM 6905 037547 200 00 0 00 030053 MOVE 0,ERRTLS ;YES 6906 037550 301 00 0 00 000005 CAIL 0,5 ;PRINTED ALLOWED ERRORS ? 6907 037551 254 00 0 00 030061 JRST $BEND2 6908 6909 037552 200 00 0 00 037676 %ERRS5: MOVE 0,%ERAC0 ;NO, CONTINUE PROGRAM 6910 IFDEF EXCASB,> 6917 037553 254 00 0 00 030065 JRST UUOEXT 6918 6919 037554 200 00 0 00 030046 %ERRS4: MOVE 0,CONSW 6920 037555 607 00 0 00 001000 TLNN PALERS ;PRINT ALL ERRORS ? 6921 037556 254 00 0 00 037522 JRST %ERRS1 ;NO 6922 037557 254 00 0 00 037346 JRST %ERMS1 ;YES DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 1 STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0185 6923 SUBTTL *STOR* RESERVED STORAGE, JAN 18,1977 6924 6925 ;PROGRAM LITERALS 6926 6927 XLIST 6928 IFNDEF $LPAPER, 6929 037560 LIT 6930 037560 64 51 55 45 62 00 6931 037561 45 70 51 64 00 00 6932 037562 142536 475076 6933 037563 000000 000000 6934 037564 123 113 120 000 000 6935 037565 777777 777777 6936 037566 000000 000377 6937 037567 117 126 000 000 000 6938 037570 400000 000000 6939 037571 000000 000001 6940 037572 103 122 131 060 000 6941 037573 103 122 131 061 000 6942 037574 103 122 131 060 061 6943 037575 777777 000000 6944 037576 377777 777777 6945 037577 124 123 124 000 000 6946 037600 76 64 45 63 64 00 6947 037601 60 41 63 63 00 43 6948 037602 57 65 56 64 00 35 6949 037603 00 77 00 00 00 00 6950 037604 76 60 43 00 35 00 6951 037605 00 00 77 00 00 00 6952 037606 76 41 43 00 35 00 6953 037607 00 00 77 00 00 00 6954 037610 76 43 10 41 43 11 6955 037611 35 00 77 00 00 00 6956 037612 76 43 57 62 00 35 6957 037613 00 00 77 00 00 00 6958 037614 76 00 00 00 00 57 6959 037615 62 51 47 51 56 41 6960 037616 54 77 00 00 00 00 6961 037617 76 43 10 45 11 00 6962 037620 35 00 77 00 00 00 6963 037621 76 45 00 35 00 00 6964 037622 00 00 77 00 00 00 6965 LIST 6966 037623 000000 000000 ENDSLD: 0 6967 6968 IFDEF DEBUG,< 6969 037624 PATCH: BLOCK DEBUG ;PATCHING AREA 6970 > 6971 6972 ;PROGRAM VARIABLES 6973 037664 VAR 6974 6975 IFDEF PGMEND,< 6976 037703 000000 000000 END: 0 6977 030000 END BEGIN > DAKBA PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST (1), VERSION 0,2 MACRO %52(537) 17:24 21-JAN-77 PAGE 1-1 STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0186 NO ERRORS DETECTED PROGRAM BREAK IS 000000 ABSLUTE BREAK IS 037704 CPU TIME USED 00:32.099 11K CORE USED