diff --git a/apps/pdp10/diags/klad/dakai/DAKAI.MAC.txt b/apps/pdp10/diags/klad/dakai/DAKAI.MAC.txt index 580721c29..b9c5e8aee 100644 --- a/apps/pdp10/diags/klad/dakai/DAKAI.MAC.txt +++ b/apps/pdp10/diags/klad/dakai/DAKAI.MAC.txt @@ -135,8 +135,8 @@ E'T'00: MOVE AC,[XWD D1A,D1B] ;INITIALIZE AC ER4 AC+1,T'01 ;RESULT IN AC+1 IS INCORRECT JUMPL AC+2,E'T'00 ;LOOP ON ERROR SWITCH> -;EXIT: DROPDV ;CLOSE LOGICAL OUTPUT FILE -; EXIT +EXIT: ;DROPDV ;CLOSE LOGICAL OUTPUT FILE + ;EXIT PGMNAM: ASCIZ/ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC #9 SHIFT-ROTATE [DAKAI] diff --git a/apps/pdp10/diags/klad/dakaj/DAKAJ.LST.txt b/apps/pdp10/diags/klad/dakaj/DAKAJ.LST.txt new file mode 100644 index 000000000..23eba6cb4 --- /dev/null +++ b/apps/pdp10/diags/klad/dakaj/DAKAJ.LST.txt @@ -0,0 +1,9412 @@ +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 1 +DAKAJT MAC 20-JAN-77 10:47 DIAGNOSTIC PARAMETERS SEQ 0011 + + 1 ;DAKAJ + 2 + 3 + 4 000000 MCNVER==0 + 5 000002 DECVER==2 + 6 + 7 XLIST + 8 LIST + 9 LALL + 10 + 11 NAME \MCNVER,\DECVER^ + 12 + 13 TITLE DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 + 14 ^ + 15 + 16 ;(LOGICAL SHIFT, ROTATE, ARITHMETIC SHIFT; SINGLE AND COMBINED) + 17 + 18 ;COPYRIGHT 1975,1977 + 19 ;DIGITAL EQUIPMENT CORPORATION + 20 ;MARLBORO, MASS. 01752 + 21 + 22 ;JOHN R. KIRCHOFF + 23 + 24 000137 LOC 137 + 25 000137 000000 000002 MCNVER,,DECVER + 26 + 27 NOSYM +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 2 +DAKAJT MAC 20-JAN-77 10:47 DIAGNOSTIC PARAMETERS SEQ 0012 + + 28 SUBTTL DIAGNOSTIC PARAMETERS + 29 + 30 ;OPERATOR DEFINITIONS + 31 + 32 001000 000000 OPDEF ER1 [1B8] + 33 002000 000000 OPDEF ER2 [2B8] + 34 003000 000000 OPDEF ER3 [3B8] + 35 004000 000000 OPDEF ER4 [4B8] + 36 005000 000000 OPDEF ER5 [5B8] + 37 006000 000000 OPDEF ER6 [6B8] + 38 007000 000000 OPDEF ER7 [7B8] + 39 010000 000000 OPDEF ER10 [10B8] + 40 011000 000000 OPDEF ER11 [11B8] + 41 012000 000000 OPDEF ER12 [12B8] + 42 013000 000000 OPDEF ER13 [13B8] + 43 + 44 036404 LUUO1=ERRMES + 45 036404 LUUO2=ERRMES + 46 036404 LUUO3=ERRMES + 47 036404 LUUO4=ERRMES + 48 036404 LUUO5=ERRMES + 49 036404 LUUO6=ERRMES + 50 036404 LUUO7=ERRMES + 51 036404 LUUO10=ERRMES + 52 036404 LUUO11=ERRMES + 53 036404 LUUO12=ERRMES + 54 036404 LUUO13=ERRMES +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 3 +DAKAJT MAC 20-JAN-77 10:47 DIAGNOSTIC PARAMETERS SEQ 0013 + + 55 ;SUBROUTINE ASSEMBLY DEFINITIONS + 56 + 57 000040 DEBUG=40 + 58 000001 EXCASB=1 + 59 000001 USRASB=1 + 60 000001 KA10=1 + 61 000001 KL10=1 + 62 000001 KL10P0=1 + 63 000001 PGMEND=1 + 64 000001 ERDIAG=1 + 65 + 66 ;SPECIAL FEATURE PARAMETERS + 67 + 68 030621 SADR1=START + 69 030621 SADR2=START + 70 030621 SADR3=START + 71 030621 SADR4=START + 72 254000 030621 SADR5=JRST START + 73 254000 030621 SADR6=JRST START + 74 254000 030621 SADR7=JRST START + 75 254000 030621 SADR8=JRST START + 76 254000 030621 SADR9=JRST START + 77 254000 030621 SADR10=JRST START + 78 254000 030621 SADR11=JRST START + 79 + 80 000000 PAREA0=0 + 81 000000 PAREA1=0 + 82 000000 PAREA2=0 + 83 444153 415200 PAREA3=SIXBIT/DAKAJ/ + 84 645560 000000 PAREA4=SIXBIT/TMP/ + 85 000000 PAREA5=0 + 86 000000 PAREA6=0 + 87 001000 ITERAT==1000 + 88 + 89 ;MACROS + 90 + 91 DEFINE SAVEAC (A,B)< + 92 MOVEI AC+2,. ;SETUP TESTPC + 93 MOVEM AC+2,TESTPC + 94 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 95 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION> + 96 + 97 DEFINE SETACS (WW,XX)< + 98 MOVEI AC-1,WW ;SETUP AC-1 + 99 HRLI AC-1,WW ;FOR COMPARISION + 100 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 101 MOVEI AC,XX ;SETUP AC RIGHT + 102 HRLI AC,XX ;SETUP AC LEFT + 103 MOVEM AC,&17 ;SETUP AC2> +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 4 +DAKAJT MAC 20-JAN-77 10:47 DIAGNOSTIC PARAMETERS SEQ 0014 + + 104 ;USER DEFINED MACROS + 105 + 106 DEFINE SR1 (T,D1A,D1B,R1A,R1B,OP,S)< + 107 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD D1A,D1B] S BIT + 108 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD R1A,R1B] + 109 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 110 + 111 E'T'00: MOVE AC,[XWD D1A,D1B] ;INITIALIZE AC + 112 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 113 OP AC,S ;*SHIFT/ROTATE S BIT POSITIONS + 114 CAME AC,[XWD R1A,R1B] ;IS RESULT IN AC CORRECT? + 115 ER3 AC,T'01 ;RESULT IN AC IS INCORRECT + 116 CAME AC+1,[XWD 741703,607417] + 117 ER4 AC+1,T'01 ;C(AC+1) WAS MODIFIED INCORRECTLY + 118 JUMPL AC+2,E'T'00 ;LOOP ON ERROR SWITCH> + 119 + 120 + 121 DEFINE SR2 (T,D1A,D1B,D2A,D2B,R1A,R1B,R2A,R2B,OP,S)< + 122 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 123 ;DATA SPECIFIED IN [XWD D1A,D1B] AND [XWD D2A,D2B] S BIT POSITIONS AND + 124 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD R1A,R1B] AND + 125 ;[XWD R2A,R2B] + 126 + 127 E'T'00: MOVE AC,[XWD D1A,D1B] ;INITIALIZE AC + 128 MOVE AC+1,[XWD D2A,D2B] ;INITIALIZE AC+1 + 129 OP AC,S ;*SHIFT/ROTATE COMBINED S PLACES + 130 CAME AC,[XWD R1A,R1B] ;IS RESULT IN AC CORRECT? + 131 ER3 AC,T'01 ;RESULT IN AC IS INCORRECT + 132 CAME AC+1,[XWD R2A,R2B] ;IS RESULT IN AC+1 CORRECT? + 133 ER4 AC+1,T'01 ;RESULT IN AC+1 IS INCORRECT + 134 JUMPL AC+2,E'T'00 ;LOOP ON ERROR SWITCH> +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 1 +PARAM KLM 18-JAN-77 11:38 *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977 SEQ 0015 + + 135 SUBTTL *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977 + 136 + 137 DEFINE S,<;*********************************************************************> + 138 + 139 S^;*********************************************************************^ + 140 ;*DATA SWITCHES (READ FROM CONSOLE IN EXEC MODE OR TYPED IN IN USER MODE) + 141 ;*LEFT HALF SWITCHES ARE PRE-ASSIGNED FOR SUBROUTINE PACKAGE USE + 142 ;*AND CONTROL LOOPING, PRINTING (TTY OR OTHER DEVICE) AND MISC. FUNCTIONS + 143 S^;*********************************************************************^ + 144 + 145 400000 ABORT== 400000 ;ABORT PROGRAM ON PASS COMPLETION + 146 200000 RSTART==200000 ;RESTART TEST, PRINT TOTALS + 147 100000 TOTALS==100000 ;PRINT TOTALS, CONTINUE + 148 + 149 040000 NOPNT== 040000 ;INHIBIT ALL PRINT/TYPE OUT (EXCEPT FORCED) + 150 020000 PNTLPT==020000 ;PRINT ALL DATA ON LPT (LOGICAL DEVICE, USER MODE) + 151 010000 DING== 010000 ;RING BELL ON ERROR + 152 + 153 004000 LOOPER==004000 ;ENTER EXERCISE/CHECK LOOP ON ERROR + 154 002000 ERSTOP==002000 ;HALT ON TEST ERROR + 155 001000 PALERS==001000 ;PRINT ALL ERRORS + 156 + 157 000400 RELIAB==000400 ;RELIABILITY MODE + 158 000200 TXTINH==000200 ;INHIBIT ERROR TEXT + 159 000100 INHPAG==000100 ;INHIBIT PAGING + 160 + 161 000040 MODDVC==000040 ;MODIFY DEVICE CODE + 162 000020 INHCSH==000020 ;INHIBIT CACHE + 163 000010 OPRSEL==000010 ;OPERATOR SELECTION + 164 + 165 000004 CHAIN== 000004 ;CHAIN CONTROL SWITCH + 166 + 167 000002 KAHZ50==000002 ;KA10 50 HERTZ POWER + 168 + 169 ;SWITCH 17 RESERVED !!! +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 2 +PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0016 + + 170 SUBTTL *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 + 171 + 172 S^;*********************************************************************^ + 173 ;*SPECIAL SUBPROGRAM LINKAGES + 174 S^;*********************************************************************^ + 175 + 176 027772 FSELNK= 27772 ;FILE SELECT LINK + 177 027773 FRDLNK= 27773 ;FILE READ LINK + 178 027774 LDLNK= 27774 ;LOAD LINKAGE ADDRESS + 179 027775 DDTLNK= 27775 ;DDT LINKAGE ADDRESS + 180 027776 MODLNK= 27776 ;OPERATIONAL MODE CHECK LINKAGE ADDRESS + 181 027777 SUBLNK= 27777 ;SUBROUTINE LINKAGE ADDRESS + 182 + 183 S^;*********************************************************************^ + 184 ;*SPECIAL SUBROUTINE FATAL HALTS + 185 ;*USED TO REPORT ERRORS THAT CAUSE THE SUBROUTINES TO BE UNUSABLE + 186 S^;*********************************************************************^ + 187 + 188 ;ADDRESS TAG REASON + 189 ;--------------------- + 190 + 191 ; 1010 NOEXEC ;PROGRAM NOT CODED FOR EXEC MODE OPERATION + 192 ; 1011 PLERR ;FATAL PUSH LIST POINTER ERROR + 193 ; 1012 PLERR1 ;INITIAL PUSH LIST POINTER ERROR + 194 ; 1013 MUOERR ;MUUO WITH LUUO HANDLER WIPED OUT + 195 ; 1014 DTEBER ;DTE20 INTERRUPT WITHOUT DOORBELL + 196 ; 1015 DTECER ;DTE20 CLOCK INTERRUPT WITHOUT FLAG SET + 197 ; 1016 CPIERR ;CPU INITIALIZATION ERROR + 198 ; 1017 EOPERR ;END OF PROGRAM ERROR + 199 ; 1020 LUOERR ;INTERRUPT WITH LUUO HANDLER WIPED OUT + 200 + 201 S^;*********************************************************************^ +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 3 +PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0017 + + 202 S^;*********************************************************************^ + 203 ;OPERATOR DEFINITIONS (NON-UUO'S) + 204 S^;*********************************************************************^ + 205 + 206 260740 000000 OPDEF GO [PUSHJ P,] ;SUBROUTINE CALL + 207 263740 000000 OPDEF RTN [POPJ P,] ;SUBROUTINE RETURN + 208 261740 000000 OPDEF PUT [PUSH P,] ;PUT DATA ON PUSH LIST + 209 262740 000000 OPDEF GET [POP P,] ;GET DATA FROM PUSH LIST + 210 254000 000000 OPDEF PJRST [JRST ] ;JRST TO ROUTINE THAT RTN'S + 211 254200 000000 OPDEF HALT [JRST 4,] ;DEFINITION FOR DDT + 212 254100 000000 OPDEF JRSTF [JRST 2,] ;DEFINITION FOR DDT + 213 254500 000000 OPDEF JEN [JRST 12,] ;DEFINITION FOR DDT + 214 + 215 S^;*********************************************************************^ + 216 ;*SUBROUTINE INITIALIZATION CALL + 217 S^;*********************************************************************^ + 218 + 219 265000 030011 OPDEF PGMINT [JSP 0,SBINIT] ;SUBROUTINE INITIALIZATION + 220 + 221 S^;*********************************************************************^ + 222 ;*HALTING UUO'S (A MORE GRACEFUL HALT THAN SIMPLY USING THE HALT INSTRUCTION). + 223 S^;*********************************************************************^ + 224 + 225 037640 000004 OPDEF FATAL [37B8!15B12!4] ;FATAL PROGRAMMING HALT + 226 037600 000004 OPDEF ERRHLT [37B8!14B12!4] ;PROGRAM ERROR HALT + 227 + 228 S^;*********************************************************************^ + 229 ;*TERMINAL INPUT UUO'S + 230 ;*ALWAYS COME FROM THE CONSOLE TERMINAL IN EXEC MODE OR THE + 231 ;*CONTROLLING TERMINAL (REAL TERMINAL OR PTY) IN USER MODE. + 232 S^;*********************************************************************^ + 233 + 234 037000 000003 OPDEF TTICHR [37B8!0B12!3] ;TTY, INPUT ANY CHARACTER + 235 037040 000003 OPDEF TTIYES [37B8!1B12!3] ;TTY, NORMAL RETURN Y + 236 037100 000003 OPDEF TTINO [37B8!2B12!3] ;TTY, NORMAL RETURN N + 237 037140 000003 OPDEF TTIOCT [37B8!3B12!3] ;TTY, INPUT OCTAL WORD + 238 037200 000003 OPDEF TTIDEC [37B8!4B12!3] ;TTY, INPUT DECIMAL WORD + 239 037240 000003 OPDEF TTICNV [37B8!5B12!3] ;TTY, INPUT CONVERTABLE WORD + 240 037300 000003 OPDEF TTLOOK [37B8!6B12!3] ;TTY, KEYBOARD CHECK + 241 037340 000003 OPDEF TTALTM [37B8!7B12!3] ;TTY, ALT-MODE CHECK + 242 037400 000003 OPDEF TTSIXB [37B8!10B12!3] ;TTY, INPUT SIXBIT WORD + 243 037440 000003 OPDEF TTYINP [37B8!11B12!3] ;TTY, IMAGE MODE INPUT +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 4 +PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0018 + + 244 ;*TERMINAL OUTPUT UUO'S. + 245 + 246 037000 000000 OPDEF PNTA [37B8!0B12!0] ;PRINT ASCII WORD + 247 037000 000001 OPDEF PNTAF [37B8!0B12!1] ;PRINT ASCII WORD FORCED + 248 037740 000000 OPDEF PNTAL [37B8!17B12!0] ;PRINT ASCIZ LINE + 249 037740 000001 OPDEF PNTALF [37B8!17B12!1] ;PRINT ASCIZ LINE FORCED + 250 037600 000003 OPDEF PSIXL [37B8!14B12!3] ;PRINT SIXBIT'Z LINE + 251 037640 000003 OPDEF PSIXLF [37B8!15B12!3] ;PRINT SIXBIT'Z LINE FORCED + 252 037000 000000 OPDEF PNTMSG [37B8!0B12!0] ;PRINT MESSAGE IMMEDIATE + 253 037040 000000 OPDEF PNTMSF [37B8!1B12!0] ;PRINT MESSAGE IMMEDIATE FORCED + 254 037100 000000 OPDEF PSIXM [37B8!2B12!0] ;PRINT SIXBIT'Z MSG IMMEDIATE + 255 037200 000000 OPDEF PSIXMF [37B8!4B12!0] ;PRINT SIXBIT'Z MSG IMM FORCED + 256 037000 000000 OPDEF PNTCI [37B8!0B12!0] ;PRINT CHARACTER IMMEDIATE + 257 037040 000000 OPDEF PNTCIF [37B8!1B12!0] ;PRINT CHARACTER IMMEDIATE FORCED + 258 037500 000000 OPDEF PNTCHR [37B8!12B12!0] ;PRINT CHARACTER + 259 037500 000001 OPDEF PNTCHF [37B8!12B12!1] ;PRINT CHARACTER FORCED + 260 037040 000000 OPDEF PNT1 [37B8!1B12!0] ;PRINT ONE OCTAL DIGIT + 261 037040 000001 OPDEF PNT1F [37B8!1B12!1] ;PRINT 1 OCTAL DIGIT FORCED + 262 037100 000000 OPDEF PNT2 [37B8!2B12!0] ;PRINT TWO OCTAL DIGITS + 263 037100 000001 OPDEF PNT2F [37B8!2B12!1] ;PRINT 2 OCTAL DIGITS FORCED + 264 037140 000000 OPDEF PNT3 [37B8!3B12!0] ;PRINT THREE OCTAL DIGITS + 265 037140 000001 OPDEF PNT3F [37B8!3B12!1] ;PRINT THREE OCTAL DIGITS FORCED + 266 037200 000000 OPDEF PNT4 [37B8!4B12!0] ;PRINT FOUR OCTAL DIGITS + 267 037200 000001 OPDEF PNT4F [37B8!4B12!1] ;PRINT FOUR OCTAL DIGITS FORCED + 268 037240 000000 OPDEF PNT5 [37B8!5B12!0] ;PRINT FIVE OCTAL DIGITS + 269 037240 000001 OPDEF PNT5F [37B8!5B12!1] ;PRINT FIVE OCTAL DIGITS FORCED + 270 037300 000000 OPDEF PNT6 [37B8!6B12!0] ;PRINT SIX OCTAL DIGITS + 271 037300 000001 OPDEF PNT6F [37B8!6B12!1] ;PRINT SIX OCTAL DIGITS FORCED + 272 037340 000000 OPDEF PNT7 [37B8!7B12!0] ;PRINT 7 OCTAL DIGITS + 273 037340 000001 OPDEF PNT7F [37B8!7B12!1] ;PRINT 7 OCTAL DIGITS FORCED + 274 037440 000000 OPDEF PNT11 [37B8!11B12!0] ;PRINT 11 OCTAL DIGITS + 275 037440 000001 OPDEF PNT11F [37B8!11B12!1] ;PRINT 11 OCTAL DIGITS FORCED. + 276 037400 000000 OPDEF PNTADR [37B8!10B12!0] ;PRINT PHYSICAL ADDRESS + 277 037400 000001 OPDEF PNTADF [37B8!10B12!1] ;PRINT PHYSICAL ADDRESS FORCED + 278 037600 000000 OPDEF PNTOCT [37B8!14B12!0] ;PRINT FULL WORD OCTAL + 279 037600 000001 OPDEF PNTOTF [37B8!14B12!1] ;PRINT FULL WORD OCTAL FORCED + 280 037540 000000 OPDEF PNTHW [37B8!13B12!0] ;PRINT OCTAL HALF WORDS, 6 SP 6 + 281 037540 000001 OPDEF PNTHWF [37B8!13B12!1] ;PRINT OCTAL HALF WORDS, 6 SP 6 FORCED + 282 037700 000003 OPDEF PNTOCS [37B8!16B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S + 283 037740 000003 OPDEF PNTOCF [37B8!17B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S FORCED + 284 037640 000000 OPDEF PNTDEC [37B8!15B12!0] ;PRINT DECIMAL, SUPRESS LEADING 0'S + 285 037640 000001 OPDEF PNTDCF [37B8!15B12!1] ;PRINT DECIMAL, SUPRESS LEADING 0'S FORCED + 286 037700 000000 OPDEF PNTDS [37B8!16B12!0] ;PRINT DECIMAL, SPACES FOR LD 0'S + 287 037700 000001 OPDEF PNTDSF [37B8!16B12!1] ;PRINT DECIMAL, SPACES FOR LD 0'S FORCED + 288 037200 000002 OPDEF PNTNM [37B8!4B12!2] ;PRINT PROGRAM NAME + 289 037000 000002 OPDEF PNTSIX [37B8!0B12!2] ;PRINT SIXBIT WORD + 290 037040 000002 OPDEF PNTSXF [37B8!1B12!2] ;PRINT SIXBIT WORD FORCED + 291 037240 000002 OPDEF DROPDV [37B8!5B12!2] ;CLOSE LOGICAL FILE, USER MODE + 292 037100 000002 OPDEF PNTCW [37B8!2B12!2] ;PRINT DF10 CONTROL WORD + 293 037140 000002 OPDEF PNTCWF [37B8!3B12!2] ;PRINT DF10 CONTROL WORD FORCED + 294 037000 030242 OPDEF PCRL [37B8!0B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED + 295 037040 030242 OPDEF PCRLF [37B8!1B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED FORCED + 296 037000 000040 OPDEF PSP [37B8!0B12!40] ;PRINT SPACE + 297 037040 000040 OPDEF PSPF [37B8!1B12!40] ;PRINT SPACE FORCED + 298 037000 030243 OPDEF PCRL2 [37B8!0B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 4-1 +PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0019 + + 299 037040 030243 OPDEF PCRL2F [37B8!1B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) FORCED + 300 037040 000007 OPDEF PBELL [37B8!1B12!7] ;PRINT TTY BELL + 301 + 302 037040 000026 OPDEF PFORCE [37B8!1B12!26] ;PRINT FORCE, CONTROL O OVERRIDE + 303 + 304 DEFINE PMSG (ARG),< + 305 PSIXM [SIXBIT\ARG'_\]> + 306 + 307 DEFINE PMSGF (ARG),< + 308 PSIXMF [SIXBIT\ARG'_\]> + 309 + 310 ;*SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING + 311 ;* CONSERVES CORE OVER ASCIZ + 312 + 313 DEFINE SIXBTZ (ARG),< [SIXBIT\ARG'_\]> + 314 + 315 ;*CONSOLE SWITCH INPUT UUO. + 316 ;*READS CONSOLE SWITCHES IF IN EXEC MODE OR ASKS FOR THEM IF + 317 ;* USER MODE. + 318 + 319 037400 000002 OPDEF SWITCH [37B8!10B12!2] ;INPUT CONSOLE SWITCHES + 320 + 321 ;*CLOCK INITIALIZATION UUO - TO SET DESIRED CLOCK OPERATION + 322 ;*EITHER IGNORE CLOCK, ONLY LET IT TICK OR CAUSE INTERRUPT TO OCCUR. + 323 + 324 037540 000004 OPDEF CLOKOP [37B8!13B12!4] ;CLOCK OPERATION UUO - PDP-11 CLOCK + 325 037200 000004 OPDEF MTROP [37B8!4B12!4] ;CLOCK OPERATION UUO - DK20 METER + 326 + 327 ;*KL10 ONLY CACHE OPERATION UUO'S + 328 + 329 037040 000004 OPDEF CINVAL [37B8!1B12!4] ;CACHE INVALIDATE + 330 037100 000004 OPDEF CFLUSH [37B8!2B12!4] ;CACHE FLUSH + 331 037140 000004 OPDEF CWRTBI [37B8!3B12!4] ;CACHE WRITE-BACK & INVALIDATE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 5 +PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0020 + + 332 ;*END OF PASS/PROGRAM UUOS + 333 + 334 ;PERFORMS THE END OF PASS FUNCTIONS. INCREMENT PASS COUNT, + 335 ;*DECREMENT ITERATION COUNT, CHECK IF FINISHED WITH THIS PROGRAM ETC. + 336 + 337 037500 000004 OPDEF ENDUUO [37B8!12B12!4] ;UUO TO DISPLAY LIGHTS + 338 037700 000004 OPDEF EOPUUO [37B8!16B12!4] ;END OF PROGRAM UUO + 339 + 340 ;*MEMORY MANAGEMENT UUO'S + 341 ;*UUO'S TO PERFORM VARIOUS MEMORY FUNCTIONS. MAPPING, ZEROING, PAGING, + 342 ;*ADDRESS CONVERSION, ETC... + 343 + 344 037000 000004 OPDEF MAPMEM [37B8!0B12!4] ;MAP MEMORY + 345 037500 000002 OPDEF MEMZRO [37B8!12B12!2] ;ZERO MEMORY + 346 037440 000002 OPDEF MEMSEG [37B8!11B12!2] ;SETUP MEMORY SEGMENT + 347 037540 000002 OPDEF MAPADR [37B8!13B12!2] ;VIRTUAL TO PHYSICAL ADR CONVERT + 348 037640 000002 OPDEF MAPCNK [37B8!15B12!2] ;MAP MEMORY CHUNK + 349 037600 000002 OPDEF MAPSET [37B8!14B12!2] ;SET KI10 EXEC PAGE MAP + 350 037740 000002 OPDEF MAPPNT [37B8!17B12!2] ;PRINT MEMORY MAP + 351 + 352 ;*DEVICE CODE MODIFICATION UUO + 353 ;*ALLOWS THE MODIFICATION OF IOT'S TO ONE DEVICE TO BE CHANGED TO + 354 ;*IOT'S TO A DIFFERENT DEVICE CODE. + 355 + 356 037340 000002 OPDEF MODPCU [37B8!7B12!2] ;MODIFY PERHIPERAL CODE, USER + 357 037300 000002 OPDEF MODPCP [37B8!6B12!2] ;MODIFY PERHIPERAL CODE, PROGRAM + 358 + 359 030000 IFNDEF MODDVL, + 360 030000 IFNDEF MODDVU, + 361 + 362 ;*"DIAMON" FILE SELECTION AND READ UUOS + 363 + 364 037240 000004 OPDEF FSELECT [37B8!5B12!4] ;FILE SELECTION + 365 037300 000004 OPDEF FREAD [37B8!6B12!4] ;FILE READ - ASCII DATA + 366 037340 000004 OPDEF FRD36 [37B8!7B12!4] ;FILE READ - 36 BIT DATA + 367 037400 000004 OPDEF FRD8 [37B8!10B12!4] ;FILE READ - 8 BIT DATA + 368 + 369 ;*KI10 ONLY UUO FOR PRINTING MARGIN VALUES + 370 + 371 037700 000002 OPDEF PNTMGN [37B8!16B12!2] ;PRINT MARGIN VALUE + 372 + 373 XLIST + 374 IFNDEF KLOLD, + 400 + 401 ;*A MACRO TO REPORT AN ERROR AND NOT LOOP + 402 + 403 DEFINE ERROR1 (FORMAT,CORECT,ACTUAL,F,D,ERR)< + 404 SALL + 405 ERUUO FORMAT,[T,,[SIXBIT\F'_\] + 406 CORECT,,ACTUAL + 407 [SIXBIT\D'_\],,ERR] + 408 XALL > + 409 + 410 >;END OF KLOLD CONDITIONAL + 411 + 412 XLIST + 413 LIST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 1 +FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0022 + + 414 SUBTTL *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 + 415 + 416 030000 LOC 30000 + 417 + 418 S^;*********************************************************************^ + 419 ;*PROGRAM STARTING ADDRESSES + 420 ;*THESE ADDRESSES CALL VARIOUS SPECIAL START ROUTINES AND OR OPTIONS + 421 ;*NORMAL START ADDRESS IS 30000 ALL OTHERS ARE SPECIAL. INVOKED BECAUSE + 422 ;*OF END OF PASS, POWER FAILURE, DDT START, RE-ENTERING(TYPICALLY USER + 423 ;*MODE), OR ANY NUMBER OF SPECIAL FEATURE TESTS. + 424 S^;*********************************************************************^ + 425 + 426 030000 254 00 1 00 027776 BEGIN: JRST @MODLNK ;STAND-ALONE START + 427 030001 254 00 0 00 030621 $START: JRST START ;MODE CHECK STARTING ADDRESS + 428 + 429 030002 254 00 1 00 027774 DIAGMN: JRST @LDLNK ;DIAGNOSTIC MONITOR START + 430 + 431 030003 254 00 1 00 027774 SYSEXR: JRST @LDLNK ;SYSTEM EXERCISER START + 432 + 433 030004 254 00 0 00 030621 SFSTRT: JRST SADR1 ;SPECIAL FEATURE START + 434 + 435 030005 254 00 0 00 030621 PFSTRT: JRST SADR2 ;POWER FAIL RESTART + 436 + 437 030006 254 00 0 00 030621 REENTR: JRST SADR3 ;REENTER START(USUALLY USER MODE ONLY) + 438 + 439 030007 SRTDDT: ;COMMONLY MISTAKEN NAME FOR "DDTSRT" + 440 030007 254 00 1 00 027775 DDTSRT: JRST @DDTLNK ;DDT START + 441 + 442 030010 254 00 0 00 030624 BEGIN1: JRST STARTA ;LOOP START(END OF PASS COMES HERE) + 443 030011 254 00 1 00 027777 SBINIT: JRST @SUBLNK ;PMGINT LINKAGE + 444 030012 000000 000000 RETURN: 0 ;RETURN ADDRESS STORAGE + 445 + 446 030013 254000 030621 START1: SADR7 ;OPTIONAL STARTING ADR/INSTRUCTIONS + 447 030014 254000 030621 START2: SADR8 ; " + 448 030015 254000 030621 START3: SADR9 ; " + 449 030016 254000 030621 START4: SADR10 ; " + 450 030017 254000 030621 START5: SADR11 ; " +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 2 +FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0023 + + 451 S^;*********************************************************************^ + 452 ;*PROGRAM FIXED PARAMETER AREA + 453 S^;*********************************************************************^ + 454 + 455 030020 444153 415200 PNTNAM: PAREA3 ;SIXBIT PROGRAM NAME + 456 030021 645560 000000 PNTEXT: PAREA4 ;SIXBIT PROGRAM EXTENSION + 457 030022 000000 000000 RANDBS: PAREA1 ;RANDOM BASE NUMBER + 458 030023 000000 000000 SWTEXR: PAREA2 ;SYSTEM EXERCISER SWITCHES + 459 030024 000000 001000 ITRCNT: ITERAT ;PROGRAM ITERATIONS + 460 030025 000000 030602 $PNAME: PGMNAM ;POINTER TO PROGRAMS NAME + 461 030026 000000 000002 $PVER: MCNVER,,DECVER ;MCN & DEC VERSION LEVEL + 462 030027 000000 030000 $MODVL: MODDVL ;DEVICE CODE CHANGE LOWER LIMIT + 463 030030 000000 030000 $MODVU: MODDVU ;DEVICE CODE CHANGE UPPER LIMIT + 464 030031 777777 777777 $EMODE: IFNDEF EXCASB,<0> IFDEF EXCASB,<-1> ;EXEC ALLOWED + 465 030032 777777 777777 $UMODE: IFNDEF USRASB,<0> IFDEF USRASB,<-1> ;USER ALLOWED + 466 030033 000000 000000 $DSKUP: IFNDEF DSKUPD,<0> IFDEF DSKUPD,<-1> ;DISK UPDATE MODE + 467 030034 000000 000000 $MMAP: IFNDEF MEMMAP,<0> IFDEF MEMMAP,<-1> ;ALLOW MEMORY RTNS + 468 030035 000000 000000 PAREA7: PAREA5 ;OPTIONAL PARAMETER + 469 030036 000000 000000 PAREA8: PAREA6 ;OPTIONAL PARAMETER + 470 + 471 S^;*********************************************************************^ + 472 ;*PROGRAM VARIABLE PARAMETER AREA + 473 S^;*********************************************************************^ + 474 + 475 030037 000000 000000 USER: 0 ; 0 = EXEC, -1 = USER MODE FLAG + 476 030040 000000 000000 KAIFLG: 0 ;PROCESSOR TYPE, 0 = KA10, -1 = KI10 + 477 030041 000000 000000 KLFLG: 0 ;PROCESSOR TYPE, 0 = KA/KI, -1 = KL10 + 478 030042 777777 777777 MONFLG: -1 ;DIAG MONITOR SPECIAL USER FLAG + 479 030043 000000 000000 MONCTL: 0 ;DIAG MON/SYS EXR FLAG + 480 030044 000000 000000 MONTEN: 0 ;-1= LOADED BY 10 + 481 030045 000000 000000 CLOCKF: 0 ;CLOCK TICKED FLAG + 482 030046 000000 000000 CONSW: 0 ;CONSOLE SWITCH SETTINGS + 483 030047 000000 000000 PASCNT: 0 ;PROGRAM PASS COUNT + 484 030050 000000 000000 RUNFLG: 0 ;PROGRAM RUN FLAG + 485 030051 000000 000000 TESTPC: 0 ;SUBTEST PC + 486 030052 000000 000000 ERRPC: 0 ;ERROR PC + 487 030053 000000 000000 ERRTLS: 0 ;ERROR TOTALS + 488 030054 000000 000000 TICKS: 0 ;PROGRAM RUNNING TIME + 489 030055 000000 000000 MARGIN: 0 ;KI10 MARGIN WORD VALUE + 490 030056 000000 000000 $ONETM: 0 ;SUBROUTINE INITIALIZATION FLAG +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 3 +FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0024 + + 491 S^;*********************************************************************^ + 492 ;*SPECIAL PROGRAM DISPATCH ADDRESSES + 493 S^;*********************************************************************^ + 494 + 495 030057 037 12 0 00 000004 BEGEND: ENDUUO ;END OF PASS + 496 030060 254 00 0 00 030010 $BEND1: JRST BEGIN1 ;KEEP RUNNING PROGRAM + 497 030061 037 16 0 00 000004 $BEND2: EOPUUO ;END OF PROGRAM - NO RETURN + 498 030062 254000 030621 CNTLC: SADR5 ;CONTROL C XFER ADDRESS + 499 030063 254000 030621 ALTMGO: SADR6 ;ALTMODE XFER ADDRESS + 500 030064 CPOPJ1: ;SKIP RETURN + 501 030064 350 00 0 17 000000 UUOSKP: AOS (P) ;SKIP RETURN FROM UUO + 502 030065 CPOPJ: ;NON-SKIP REGULAR RETURN + 503 030065 263 17 0 00 000000 UUOEXT: RTN ;UUO RETURN + 504 030066 255 00 0 00 000000 UUORTN: JFCL ;ADDITIONAL USERS UUO ROUTINE + 505 030067 255 00 0 00 000000 $UORTX: JFCL ;ADDITIONAL UUO LINKAGE + 506 030070 255 00 0 00 000000 $UUOER: JFCL ;INITED AS (JRST $UOERX) + 507 030071 255 00 0 00 000000 $ITRHL: JFCL ;ADDITIONAL INTERRUPT LINKAGE + 508 030072 255 00 0 00 000000 $ITRX1: JFCL ; " + 509 030073 255 00 0 00 000000 $USRHL: JFCL ; " + 510 030074 255 00 0 00 000000 $RSRTX: JFCL ;ADDITIONAL POWER FAIL LINKAGE + 511 030075 255 00 0 00 000000 $RSRTY: JFCL ; " + 512 030076 255 00 0 00 000000 RESRT1: JFCL ; INITED AS (JRST RESRTX) + 513 030077 255 00 0 00 000000 RESRT2: JFCL ; " + 514 030100 255 00 0 00 000000 $PARER: JFCL ;ADDITIONAL PARITY ERROR LINKAGE + 515 030101 255 00 0 00 000000 ERMORE: JFCL ;ADDITIONAL ERROR HANDLER LINKAGE + 516 030102 254 04 0 00 030102 HALT . ;IMPROPER TRANSFER HALT + 517 + 518 030103 000000 000000 $PSHER: 0 ;INITED AS (JRST PSHERR) + 519 030104 000000 000000 ITRCH1: 0 ;PC & FLAGS OF CURRENT INTERRUPT + 520 030105 000000 000000 0 ;INITED AS (JRST $ITRC1) + 521 + 522 S^;*********************************************************************^ + 523 ;*PROCESSOR CONTROL STORAGE + 524 S^;*********************************************************************^ + 525 + 526 030106 000000 000000 $ACC0: 0 ;INTERRUPT SAVED AC0 + 527 030107 000000 000000 $SVPI: 0 ;INTERRUPT SAVED PI + 528 030110 000000 000000 $SVAPR: 0 ;INTERRUPT SAVED APR + 529 030111 000000 000000 $SVPAG: 0 ;INTERRUPT SAVED PAG (DATAI) + 530 030112 000000 000000 $SPAG1: 0 ;INTERRUPT SAVED PAG (CONI) + 531 + 532 030113 000000 000000 $SVUUO: 0 ;CURRENT USERS UUO + 533 030114 000000 000000 $SVUPC: 0 ;PC OF CURRENT USERS UUO + 534 + 535 030115 000000 000000 REPTU: 0 ;REPEAT UUO ITERATIONS + 536 030116 000000 000000 SCOPE: 0 ;ERROR HANDLER SCOPE LOOP FLAG + 537 030117 000000 000000 %CORFLG:0 ; " CORRECT FLAG + 538 030120 000000 000000 %COREC: 0 ; " CORRECT DATA + 539 030121 000000 000000 %ACTFL: 0 ; " ACTUAL FLAG + 540 030122 000000 000000 %ACTUL: 0 ; " ACTUAL DATA + 541 030123 000000 000000 %DISCR: 0 ; " DISCREPENCY DATA +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 4 +FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0025 + + 542 S^;*********************************************************************^ + 543 ;*UUO DISPATCH TABLE + 544 S^;*********************************************************************^ + 545 XLIST + 546 LIST + 547 030124 036404 030070 UUODIS: LUUO1,,$UUOER + 548 030125 036404 036404 LUUO3,,LUUO2 + 549 030126 036404 036404 LUUO5,,LUUO4 + 550 030127 036404 036404 LUUO7,,LUUO6 + 551 030130 036404 036404 LUUO11,,LUUO10 + 552 030131 036404 036404 LUUO13,,LUUO12 + 553 030132 030070 030070 LUUO15,,LUUO14 + 554 030133 030070 030070 LUUO17,,LUUO16 + 555 030134 030070 030070 LUUO21,,LUUO20 + 556 030135 030070 030070 LUUO23,,LUUO22 + 557 030136 030070 030070 LUUO25,,LUUO24 + 558 030137 030070 030070 LUUO27,,LUUO26 + 559 030140 030070 030070 LUUO31,,LUUO30 + 560 030141 030070 030070 LUUO33,,LUUO32 + 561 + 562 S^;*********************************************************************^ + 563 ;*MEMORY MANAGMENT STORAGE + 564 S^;*********************************************************************^ + 565 + 566 030142 000000 000000 DF22F: 0 ;DF10 CONTROL FLAG, 0 = 18, -1 = 22 BIT + 567 030143 000000 000000 MAPNEW: 0 ;MEMORY MAPPING CONTROL FLAG, -1 = 4096K MAPPING + 568 030144 000000 000000 MEMTOT: 0 ;TOTAL MEMORY SIZE IN K (1024.) + 569 030145 000000 000000 MEMLOW: 0 ;LOWEST USABLE MEMORY + 570 030146 MEMSIZ: BLOCK ^D41 ;MEMORY SEGMENT POINTER TABLE + 571 + 572 S^;*********************************************************************^ + 573 ;*PRINT CONTROL STORAGE + 574 S^;*********************************************************************^ + 575 + 576 030217 000000 000000 PNTFLG: 0 ;PRINT FLAG, -1 WHILE IN PRINT ROUTINE + 577 030220 000000 000000 PNTENB: 0 ;PRINT ENABLE + 578 030221 000000 000000 PDISF: 0 ;PRINT DISABLED FLAG + 579 030222 000000 000000 PNTINH: 0 ;INHIBIT PRINT INPUT CHECKS + 580 030223 000000 000000 PNTSPC: 0 ;PRINT SPACE CONTROL + 581 030224 000000 000000 OPTIME: 0 ;TYPE-IN WAIT TIME + 582 030225 000000 000000 $TWCNT: 0 ;TIME WAITED + 583 030226 000000 000000 $DVOFF: 0 ;LOGICAL DEVICE INITED FLAG + 584 030227 000000 000000 TTYFIL: 0 ;TTY EXEC FILLERS FLAG + 585 030230 000000 000000 TTYSPD: 0 ;TTY EXEC BAUD RATE + 586 030231 000000 000000 $TTCHR: 0 ;ACTUAL TYPED IN CHAR + 587 030232 000000 000000 $CHRIN: 0 ;UPPER CASED & PARITY STRIPPED CHAR + 588 030233 000000 000000 $TYPNB: 0 ;TYPED IN NUMBER + 589 030234 000000 000000 $CRLF: 0 ;FREE CR/LF FLAG + 590 030235 000000 000000 $TABF: 0 ;TAB CONVERSION FLAG + 591 030236 000000 000000 $FFF: 0 ;FORM FEED CONVERSION FLAG + 592 030237 000000 000000 $VTF: 0 ;VERTICAL TAB CONVERSION FLAG + 593 030240 000000 000000 USRLFF: 0 ;USER LF FILLERS + 594 030241 000000 000000 USRCRF: 0 ;USER CR FILLERS +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 5 +FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0026 + + 595 S^;*********************************************************************^ + 596 ;*THE FOLLOWING MISCELLANEOUS PRINT CHARACTERS ARE INCLUDED + 597 ;*TO FACILITATE PRINTING AND ARE CALLED AS FOLLOWS: + 598 ;* MOVEI NAME + 599 ;* PNTA ;OR PNTAF + 600 S^;*********************************************************************^ + 601 + 602 030242 CRLF: ASCII/ + 603 030242 015 012 000 000 000 / + 604 030243 CRLF2: ASCII/ + 605 + 606 030243 015 012 015 012 000 / + 607 030244 054 000 000 000 000 COMMA: ASCII/,/ + 608 030245 056 000 000 000 000 PERIOD: ASCII/./ + 609 030246 040 000 000 000 000 SPACE: ASCII/ / + 610 030247 011 000 000 000 000 TAB: ASCII/ / + 611 030250 MINUS: + 612 030250 055 000 000 000 000 HYPEN: ASCII/-/ + 613 030251 053 000 000 000 000 PLUS: ASCII/+/ + 614 030252 052 000 000 000 000 AST: ASCII/*/ + 615 030253 100 000 000 000 000 ATSIN: ASCII/@/ + 616 030254 050 000 000 000 000 LFP: ASCII/(/ + 617 030255 051 000 000 000 000 RTP: ASCII/)/ + 618 030256 007 0000000000 BELL: BYTE (7) 007 + 619 030257 077 000 000 000 000 QUEST: ASCII/?/ + 620 030260 057 000 000 000 000 SLASH: ASCII!/! + 621 030261 044 000 000 000 000 DOLLAR: ASCII/$/ + 622 030262 000000 000012 RADIX: ^D10 ;DECIMAL PRINT RADIX + 623 030263 000000 000040 RADLSP: 40 ;DECIMAL PRINT LEADING CHAR + 624 030264 000000 000012 RADLSC: ^D10 ;DECIMAL PRINT LEADING CHAR COUNT + 625 + 626 S^;*********************************************************************^ + 627 ;*USER MODE OUTPUT FILE INFORMATION + 628 S^;*********************************************************************^ + 629 + 630 030265 $OBUF: BLOCK 3 ;LOGICAL FILE OUTPUT BUFFER HEADER + 631 030270 60 62 51 56 64 00 $OUTNM: SIXBIT /PRINT/ ;FILE NAME + 632 030271 60 56 64 00 00 00 $OUTEX: SIXBIT /PNT/ ;FILE NAME EXTENSION + 633 030272 BLOCK 2 + 634 + 635 S^;*********************************************************************^ + 636 ;*DISK UPDATE MODE FILE INFORMATION + 637 S^;*********************************************************************^ + 638 + 639 030274 $IBUF: BLOCK 3 + 640 030277 60 62 51 56 64 00 $INNM: SIXBIT /PRINT/ + 641 030300 60 56 64 00 00 00 $INEXT: SIXBIT /PNT/ + 642 030301 BLOCK 2 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 6 +FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0027 + + 643 S^;*********************************************************************^ + 644 ;*PUSHDOWN LIST CONTROL INFORMATION + 645 S^;*********************************************************************^ + 646 + 647 030303 777577 030303 PLIST: PLIST-PLISTE,,PLIST + 648 030304 PLISTS: BLOCK 200 + 649 030504 000000 000000 PLISTE: 0 ;END OF PUSHDOWN LIST + 650 + 651 S^;*********************************************************************^ + 652 ;*POWER LINE CLOCK FREQUENCY FLAG + 653 S^;*********************************************************************^ + 654 + 655 030505 000000 000000 CYCL60: 0 ;0 = 60, -1 = 50 CYCLE + 656 + 657 S^;*********************************************************************^ + 658 ;*KL10 CACHE CONTROL FLAGS + 659 S^;*********************************************************************^ + 660 + 661 030506 000000 000000 CSHFLG: 0 ;ALLOW CACHE IF 0 + 662 030507 000000 000000 CSHMEM: 0 ;CACHE MEMORY SEGMENTS IF 0 + 663 + 664 S^;*********************************************************************^ + 665 ;*NUMBER INPUT DIGIT FLAG + 666 S^;*********************************************************************^ + 667 + 668 030510 000000 000000 TTNBRF: 0 ;-1 IF ANY DIGIT TYPED + 669 + 670 S^;*********************************************************************^ + 671 ;*KL10 & KI10 "INHPAG" SWITCH PAGING PREVENTION + 672 S^;*********************************************************************^ + 673 + 674 030511 000000 000000 PVPAGI: 0 ;IF NON-ZERO, OVERRIDE "INHPAG" SWITCH ACTION + 675 + 676 S^;*********************************************************************^ + 677 ;*ERROR REPORTING ROUTINE ADDITIONAL USERS CONTROL INSTRUCTIONS + 678 S^;*********************************************************************^ + 679 + 680 030512 000000 000000 %ERHI1: 0 ;IF NON-ZERO, XCT'D AT START OF %ERUUO + 681 030513 000000 000000 %ERHI2: 0 ;IF NON-ZERO, XCT'D AT END OF %ERUUO + 682 030514 000000 000000 %ERHI3: 0 ;IF NON-ZERO, XCT'D AFTER "PC" OF %ERUUO + 683 + 684 S^;*********************************************************************^ + 685 ;*SPECIAL USERS UUO INTERCEPT INSTRUCTION + 686 S^;*********************************************************************^ + 687 + 688 030515 000000 000000 $$UUO: 0 ;IF NON-ZERO, XCT'D AT START OF $UORTN +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 7 +FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0028 + + 689 S^;*********************************************************************^ + 690 ;*KL10 PROCESSOR TYPE FLAG, 0=P0, 1=BBD NEW, 2=BBD OLD + 691 S^;*********************************************************************^ + 692 + 693 030516 000000 000000 KLTYP: 0 + 694 + 695 S^;*********************************************************************^ + 696 ;*SPECIAL USERS MUUO INTERCEPT INSTRUCTION + 697 S^;*********************************************************************^ + 698 + 699 030517 000000 000000 $$MUUO: 0 ;IF NON-ZERO, XCT'D AT START OF MUUOER + 700 + 701 S^;*********************************************************************^ + 702 ;*SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION + 703 S^;*********************************************************************^ + 704 + 705 030520 000000 000000 $$OUTER:0 ;IF NON-ZERO, XCT'D AT END OF USER MODE ERROR + 706 + 707 S^;*********************************************************************^ + 708 ;*"SWITCH" CALL USAGE CONTROL + 709 S^;*********************************************************************^ + 710 + 711 030521 000000 000000 $$TOGGLE:0 ;IF NON-ZERO, USE C(CONSW) FOR SWITCHES + 712 + 713 S^;*********************************************************************^ + 714 ;*SPECIAL USERS ALTMODE SWITCH CALL INTERCEPT INSTRUCTIONS + 715 S^;*********************************************************************^ + 716 + 717 030522 000000 000000 $$TAX1: 0 ;IF NON-ZERO, XCT'D AT START OF ALTMODE SWITCH CALL + 718 030523 000000 000000 $$TAX2: 0 ;IF NON-ZERO, XCT'D AT END OF ALTMODE SWITCH CALL + 719 + 720 S^;*********************************************************************^ + 721 ;*SPECIAL FUTURE EXPANSION ROOM + 722 ;*IF ANY FIXED AREA TAGS ARE ADDED, REDUCE THE SIZE OF + 723 ;*THIS BLOCK STATEMENT ACCORDINGLY. THIS MUST BE DONE + 724 ;*SO THAT PREVIOUS FIXED ASSIGNMENTS DO NOT CHANGE. + 725 S^;*********************************************************************^ + 726 + 727 030524 BLOCK 53 ;HOPEFULLY THIS IS ENOUGH FOREVER + 728 + 729 S^;*********************************************************************^ + 730 ;*END OF FIXED STORAGE + 731 S^;*********************************************************************^ + 732 + 733 030577 $ENDFX=&<777700>-1 + 734 030577 LOC $ENDFX + 735 030577 000000 000000 ENDFIX: 0 ;END OF FIXED STORAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0029 + + 736 SUBTTL DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) + 737 + 738 030600 037 05 0 00 000002 EXIT: DROPDV ;CLOSE LOGICAL OUTPUT FILE + 739 030601 000000 030600 EXIT + 740 + 741 030602 PGMNAM: ASCIZ/ + 742 030602 015 012 120 104 120 PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC #10 SHIFT-ROTATE [DAKAJ] + 743 030603 055 061 060 040 040 + 744 030604 113 101 061 060 040 + 745 030605 102 101 123 111 103 + 746 030606 040 111 116 123 124 + 747 030607 122 125 103 124 111 + 748 030610 117 116 040 104 111 + 749 030611 101 107 116 117 123 + 750 030612 124 111 103 040 043 + 751 030613 061 060 040 123 110 + 752 030614 111 106 124 055 122 + 753 030615 117 124 101 124 105 + 754 030616 040 133 104 101 113 + 755 030617 101 112 135 015 012 / + 756 030620 000 000 000 000 000 + 757 + 758 030621 265 00 0 00 030011 START: PGMINT + 759 030622 200 00 0 00 036575 MOVE [ASCIZ/AJ/] + 760 030623 202 00 0 00 036517 MOVEM TLET + 761 + 762 030624 254 00 0 00 030625 STARTA: JRST E00 ;GO PERFORM DIAGNOSTIC +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0030 + + 763 000001 AC=1 + 764 030625 E00: SAVEAC (1,1)^ + 765 030625 201 03 0 00 030625 MOVEI AC+2,. ;SETUP TESTPC + 766 030626 202 03 0 00 030051 MOVEM AC+2,TESTPC + 767 030627 201 03 0 00 000003 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 768 030630 202 03 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 769 + 770 ;END CONNECTIONS-LSHC + 771 ;TEST AR-MQ END BIT INPUT GATES + 772 ;TEST LEFT-AR0,1,34,35 SHLT INP GATES + 773 ; MQ0,1,34,35 SHLT INP GATES + 774 ;TEST RIGHT-AR0,1,34,35 SHRT INP GATES + 775 ; MQ0,1,34,35 SHRT INPUT GATES + 776 ;AC,AC+1 ARE LOGICALLY SHIFTED LEFT/RIGHT AND + 777 ;END BITS ARE TESTED + 778 ;TEST ASSUMES BOTH REGISTERS ARE + 779 ;CAPABLE OF SHIFTING 1,-1 AND -2 BIT POSITIONS CORRECTLY + 780 ;INPUT GATES PREVIOUSLY TESTED ARE AGAIN + 781 ;TESTED HERE + 782 ;AN ERROR IS MOST LIKELY DUE TO FAILURE + 783 ;OF LSHC TO BRING UP ENABLING LEVEL + 784 + 785 ;SHIFT CONNECTIONS TEST + 786 ;TEST MQ35 SHLT INP-ZERO'S - LSHC AC,1 + 787 ;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + 788 SR2 (243,-1,-1,-1,-1,-1,-1,-1,-2,LSHC,1)^ + 789 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 790 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD -1,-1] 1 BIT POSITIONS AND + 791 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-1] AND + 792 ;[XWD -1,-2] + 793 + 794 030631 200 01 0 00 036576 E24300: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 795 030632 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 796 030633 246 01 0 00 000001 LSHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 797 030634 312 01 0 00 036576 CAME AC,[XWD -1,-1] ;IS RESULT IN AC CORRECT? + 798 030635 003 01 0 00 024301 ER3 AC,24301 ;RESULT IN AC IS INCORRECT + 799 030636 312 02 0 00 036577 CAME AC+1,[XWD -1,-2] ;IS RESULT IN AC+1 CORRECT? + 800 030637 004 02 0 00 024301 ER4 AC+1,24301 ;RESULT IN AC+1 IS INCORRECT + 801 030640 321 03 0 00 030631 JUMPL AC+2,E24300 ;LOOP ON ERROR SWITCH^ + 802 + 803 ;SHIFT CONNECTIONS TEST + 804 ;TEST MQ34 SHLT INP-ONE'S - LSHC AC,1 + 805 ;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + 806 SR2 (244,0,0,0,1,0,0,0,2,LSHC,1)^ + 807 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 808 ;DATA SPECIFIED IN [XWD 0,0] AND [XWD 0,1] 1 BIT POSITIONS AND + 809 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 810 ;[XWD 0,2] + 811 + 812 030641 200 01 0 00 036600 E24400: MOVE AC,[XWD 0,0] ;INITIALIZE AC + 813 030642 200 02 0 00 036601 MOVE AC+1,[XWD 0,1] ;INITIALIZE AC+1 + 814 030643 246 01 0 00 000001 LSHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 815 030644 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 816 030645 003 01 0 00 024401 ER3 AC,24401 ;RESULT IN AC IS INCORRECT + 817 030646 312 02 0 00 036602 CAME AC+1,[XWD 0,2] ;IS RESULT IN AC+1 CORRECT? +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 2-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0031 + + 818 030647 004 02 0 00 024401 ER4 AC+1,24401 ;RESULT IN AC+1 IS INCORRECT + 819 030650 321 03 0 00 030641 JUMPL AC+2,E24400 ;LOOP ON ERROR SWITCH^ + 820 + 821 ;SHIFT CONNECTIONS TEST + 822 ;TEST MQ34 SHLT INP-ZERO'S - LSHC AC,1 + 823 ;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + 824 SR2 (245,-1,-1,-1,-2,-1,-1,-1,-4,LSHC,1)^ + 825 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 826 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD -1,-2] 1 BIT POSITIONS AND + 827 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-1] AND + 828 ;[XWD -1,-4] + 829 + 830 030651 200 01 0 00 036576 E24500: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 831 030652 200 02 0 00 036577 MOVE AC+1,[XWD -1,-2] ;INITIALIZE AC+1 + 832 030653 246 01 0 00 000001 LSHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 833 030654 312 01 0 00 036576 CAME AC,[XWD -1,-1] ;IS RESULT IN AC CORRECT? + 834 030655 003 01 0 00 024501 ER3 AC,24501 ;RESULT IN AC IS INCORRECT + 835 030656 312 02 0 00 036603 CAME AC+1,[XWD -1,-4] ;IS RESULT IN AC+1 CORRECT? + 836 030657 004 02 0 00 024501 ER4 AC+1,24501 ;RESULT IN AC+1 IS INCORRECT + 837 030660 321 03 0 00 030651 JUMPL AC+2,E24500 ;LOOP ON ERROR SWITCH^ + 838 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 2-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0032 + + 839 ;SHIFT CONNECTIONS TEST + 840 ;TEST MQ1 SHLT INP-ONE'S - LSHC AC,1 + 841 ;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + 842 SR2 (246,0,0,100000,0,0,0,200000,0,LSHC,1)^ + 843 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 844 ;DATA SPECIFIED IN [XWD 0,0] AND [XWD 100000,0] 1 BIT POSITIONS AND + 845 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 846 ;[XWD 200000,0] + 847 + 848 030661 200 01 0 00 036600 E24600: MOVE AC,[XWD 0,0] ;INITIALIZE AC + 849 030662 200 02 0 00 036604 MOVE AC+1,[XWD 100000,0] ;INITIALIZE AC+1 + 850 030663 246 01 0 00 000001 LSHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 851 030664 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 852 030665 003 01 0 00 024601 ER3 AC,24601 ;RESULT IN AC IS INCORRECT + 853 030666 312 02 0 00 036605 CAME AC+1,[XWD 200000,0] ;IS RESULT IN AC+1 CORRECT? + 854 030667 004 02 0 00 024601 ER4 AC+1,24601 ;RESULT IN AC+1 IS INCORRECT + 855 030670 321 03 0 00 030661 JUMPL AC+2,E24600 ;LOOP ON ERROR SWITCH^ + 856 + 857 ;SHIFT CONNECTIONS TEST + 858 ;TEST MQ1 SHLT INP-ZERO'S - LSHC AC,1 + 859 ;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + 860 SR2 (247,-1,-1,677777,-1,-1,-1,577777,-2,LSHC,1)^ + 861 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 862 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD 677777,-1] 1 BIT POSITIONS AND + 863 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-1] AND + 864 ;[XWD 577777,-2] + 865 + 866 030671 200 01 0 00 036576 E24700: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 867 030672 200 02 0 00 036606 MOVE AC+1,[XWD 677777,-1] ;INITIALIZE AC+1 + 868 030673 246 01 0 00 000001 LSHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 869 030674 312 01 0 00 036576 CAME AC,[XWD -1,-1] ;IS RESULT IN AC CORRECT? + 870 030675 003 01 0 00 024701 ER3 AC,24701 ;RESULT IN AC IS INCORRECT + 871 030676 312 02 0 00 036607 CAME AC+1,[XWD 577777,-2] ;IS RESULT IN AC+1 CORRECT? + 872 030677 004 02 0 00 024701 ER4 AC+1,24701 ;RESULT IN AC+1 IS INCORRECT + 873 030700 321 03 0 00 030671 JUMPL AC+2,E24700 ;LOOP ON ERROR SWITCH^ + 874 + 875 ;SHIFT CONNECTIONS TEST + 876 ;TEST MQ0 SHLT INP-ONE'S - LSHC AC,1 + 877 ;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + 878 SR2 (250,0,0,200000,0,0,0,400000,0,LSHC,1)^ + 879 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 880 ;DATA SPECIFIED IN [XWD 0,0] AND [XWD 200000,0] 1 BIT POSITIONS AND + 881 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 882 ;[XWD 400000,0] + 883 + 884 030701 200 01 0 00 036600 E25000: MOVE AC,[XWD 0,0] ;INITIALIZE AC + 885 030702 200 02 0 00 036605 MOVE AC+1,[XWD 200000,0] ;INITIALIZE AC+1 + 886 030703 246 01 0 00 000001 LSHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 887 030704 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 888 030705 003 01 0 00 025001 ER3 AC,25001 ;RESULT IN AC IS INCORRECT + 889 030706 312 02 0 00 036610 CAME AC+1,[XWD 400000,0] ;IS RESULT IN AC+1 CORRECT? + 890 030707 004 02 0 00 025001 ER4 AC+1,25001 ;RESULT IN AC+1 IS INCORRECT + 891 030710 321 03 0 00 030701 JUMPL AC+2,E25000 ;LOOP ON ERROR SWITCH^ + 892 + 893 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 2-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0033 + + 894 ;TEST MQ0 SHLT INP-ZERO'S - LSHC AC,1 + 895 ;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + 896 SR2 (251,-1,-1,577777,-1,-1,-1,377777,-2,LSHC,1)^ + 897 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 898 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD 577777,-1] 1 BIT POSITIONS AND + 899 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-1] AND + 900 ;[XWD 377777,-2] + 901 + 902 030711 200 01 0 00 036576 E25100: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 903 030712 200 02 0 00 036611 MOVE AC+1,[XWD 577777,-1] ;INITIALIZE AC+1 + 904 030713 246 01 0 00 000001 LSHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 905 030714 312 01 0 00 036576 CAME AC,[XWD -1,-1] ;IS RESULT IN AC CORRECT? + 906 030715 003 01 0 00 025101 ER3 AC,25101 ;RESULT IN AC IS INCORRECT + 907 030716 312 02 0 00 036612 CAME AC+1,[XWD 377777,-2] ;IS RESULT IN AC+1 CORRECT? + 908 030717 004 02 0 00 025101 ER4 AC+1,25101 ;RESULT IN AC+1 IS INCORRECT + 909 030720 321 03 0 00 030711 JUMPL AC+2,E25100 ;LOOP ON ERROR SWITCH^ + 910 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0034 + + 911 ;SHIFT CONNECTIONS TEST + 912 ;TEST AR35 SHLT INP-ONE'S - LSHC AC,1 + 913 ;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + 914 SR2 (252,0,0,400000,0,0,1,0,0,LSHC,1)^ + 915 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 916 ;DATA SPECIFIED IN [XWD 0,0] AND [XWD 400000,0] 1 BIT POSITIONS AND + 917 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,1] AND + 918 ;[XWD 0,0] + 919 + 920 030721 200 01 0 00 036600 E25200: MOVE AC,[XWD 0,0] ;INITIALIZE AC + 921 030722 200 02 0 00 036610 MOVE AC+1,[XWD 400000,0] ;INITIALIZE AC+1 + 922 030723 246 01 0 00 000001 LSHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 923 030724 312 01 0 00 036601 CAME AC,[XWD 0,1] ;IS RESULT IN AC CORRECT? + 924 030725 003 01 0 00 025201 ER3 AC,25201 ;RESULT IN AC IS INCORRECT + 925 030726 312 02 0 00 036600 CAME AC+1,[XWD 0,0] ;IS RESULT IN AC+1 CORRECT? + 926 030727 004 02 0 00 025201 ER4 AC+1,25201 ;RESULT IN AC+1 IS INCORRECT + 927 030730 321 03 0 00 030721 JUMPL AC+2,E25200 ;LOOP ON ERROR SWITCH^ + 928 + 929 ;SHIFT CONNECTIONS TEST + 930 ;TEST AR35 SHLT INP-ZERO'S - LSHC AC,1 + 931 ;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + 932 SR2 (253,-1,-1,377777,-1,-1,-2,-1,-2,LSHC,1)^ + 933 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 934 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD 377777,-1] 1 BIT POSITIONS AND + 935 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-2] AND + 936 ;[XWD -1,-2] + 937 + 938 030731 200 01 0 00 036576 E25300: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 939 030732 200 02 0 00 036613 MOVE AC+1,[XWD 377777,-1] ;INITIALIZE AC+1 + 940 030733 246 01 0 00 000001 LSHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 941 030734 312 01 0 00 036577 CAME AC,[XWD -1,-2] ;IS RESULT IN AC CORRECT? + 942 030735 003 01 0 00 025301 ER3 AC,25301 ;RESULT IN AC IS INCORRECT + 943 030736 312 02 0 00 036577 CAME AC+1,[XWD -1,-2] ;IS RESULT IN AC+1 CORRECT? + 944 030737 004 02 0 00 025301 ER4 AC+1,25301 ;RESULT IN AC+1 IS INCORRECT + 945 030740 321 03 0 00 030731 JUMPL AC+2,E25300 ;LOOP ON ERROR SWITCH^ + 946 + 947 ;SHIFT CONNECTIONS TEST + 948 ;TEST AR34 SHLT INP-ONE'S - LSHC AC,1 + 949 ;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + 950 SR2 (254,0,1,0,0,0,2,0,0,LSHC,1)^ + 951 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 952 ;DATA SPECIFIED IN [XWD 0,1] AND [XWD 0,0] 1 BIT POSITIONS AND + 953 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,2] AND + 954 ;[XWD 0,0] + 955 + 956 030741 200 01 0 00 036601 E25400: MOVE AC,[XWD 0,1] ;INITIALIZE AC + 957 030742 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 958 030743 246 01 0 00 000001 LSHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 959 030744 312 01 0 00 036602 CAME AC,[XWD 0,2] ;IS RESULT IN AC CORRECT? + 960 030745 003 01 0 00 025401 ER3 AC,25401 ;RESULT IN AC IS INCORRECT + 961 030746 312 02 0 00 036600 CAME AC+1,[XWD 0,0] ;IS RESULT IN AC+1 CORRECT? + 962 030747 004 02 0 00 025401 ER4 AC+1,25401 ;RESULT IN AC+1 IS INCORRECT + 963 030750 321 03 0 00 030741 JUMPL AC+2,E25400 ;LOOP ON ERROR SWITCH^ + 964 + 965 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 3-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0035 + + 966 ;TEST AR34 SHLT INP-ZERO'S - LSHC AC,1 + 967 ;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + 968 SR2 (255,-1,-2,-1,-1,-1,-3,-1,-2,LSHC,1)^ + 969 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 970 ;DATA SPECIFIED IN [XWD -1,-2] AND [XWD -1,-1] 1 BIT POSITIONS AND + 971 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-3] AND + 972 ;[XWD -1,-2] + 973 + 974 030751 200 01 0 00 036577 E25500: MOVE AC,[XWD -1,-2] ;INITIALIZE AC + 975 030752 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 976 030753 246 01 0 00 000001 LSHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 977 030754 312 01 0 00 036614 CAME AC,[XWD -1,-3] ;IS RESULT IN AC CORRECT? + 978 030755 003 01 0 00 025501 ER3 AC,25501 ;RESULT IN AC IS INCORRECT + 979 030756 312 02 0 00 036577 CAME AC+1,[XWD -1,-2] ;IS RESULT IN AC+1 CORRECT? + 980 030757 004 02 0 00 025501 ER4 AC+1,25501 ;RESULT IN AC+1 IS INCORRECT + 981 030760 321 03 0 00 030751 JUMPL AC+2,E25500 ;LOOP ON ERROR SWITCH^ + 982 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 3-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0036 + + 983 ;SHIFT CONNECTIONS TEST + 984 ;TEST AR1 SHLT INP-ONE'S - LSHC AC,1 + 985 ;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + 986 SR2 (256,100000,0,0,0,200000,0,0,0,LSHC,1)^ + 987 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 988 ;DATA SPECIFIED IN [XWD 100000,0] AND [XWD 0,0] 1 BIT POSITIONS AND + 989 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 200000,0] AND + 990 ;[XWD 0,0] + 991 + 992 030761 200 01 0 00 036604 E25600: MOVE AC,[XWD 100000,0] ;INITIALIZE AC + 993 030762 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 994 030763 246 01 0 00 000001 LSHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 995 030764 312 01 0 00 036605 CAME AC,[XWD 200000,0] ;IS RESULT IN AC CORRECT? + 996 030765 003 01 0 00 025601 ER3 AC,25601 ;RESULT IN AC IS INCORRECT + 997 030766 312 02 0 00 036600 CAME AC+1,[XWD 0,0] ;IS RESULT IN AC+1 CORRECT? + 998 030767 004 02 0 00 025601 ER4 AC+1,25601 ;RESULT IN AC+1 IS INCORRECT + 999 030770 321 03 0 00 030761 JUMPL AC+2,E25600 ;LOOP ON ERROR SWITCH^ + 1000 + 1001 ;SHIFT CONNECTIONS TEST + 1002 ;TEST AR1 SHLT INP-ZERO'S - LSHC AC,1 + 1003 ;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + 1004 SR2 (257,677777,-1,-1,-1,577777,-1,-1,-2,LSHC,1)^ + 1005 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1006 ;DATA SPECIFIED IN [XWD 677777,-1] AND [XWD -1,-1] 1 BIT POSITIONS AND + 1007 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 577777,-1] AND + 1008 ;[XWD -1,-2] + 1009 + 1010 030771 200 01 0 00 036606 E25700: MOVE AC,[XWD 677777,-1] ;INITIALIZE AC + 1011 030772 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1012 030773 246 01 0 00 000001 LSHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1013 030774 312 01 0 00 036611 CAME AC,[XWD 577777,-1] ;IS RESULT IN AC CORRECT? + 1014 030775 003 01 0 00 025701 ER3 AC,25701 ;RESULT IN AC IS INCORRECT + 1015 030776 312 02 0 00 036577 CAME AC+1,[XWD -1,-2] ;IS RESULT IN AC+1 CORRECT? + 1016 030777 004 02 0 00 025701 ER4 AC+1,25701 ;RESULT IN AC+1 IS INCORRECT + 1017 031000 321 03 0 00 030771 JUMPL AC+2,E25700 ;LOOP ON ERROR SWITCH^ + 1018 + 1019 ;SHIFT CONNECTIONS TEST + 1020 ;TEST AR0 SHLT INP-ONE'S - LSHC AC,1 + 1021 ;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + 1022 SR2 (260,200000,0,0,0,400000,0,0,0,LSHC,1)^ + 1023 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1024 ;DATA SPECIFIED IN [XWD 200000,0] AND [XWD 0,0] 1 BIT POSITIONS AND + 1025 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 400000,0] AND + 1026 ;[XWD 0,0] + 1027 + 1028 031001 200 01 0 00 036605 E26000: MOVE AC,[XWD 200000,0] ;INITIALIZE AC + 1029 031002 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 1030 031003 246 01 0 00 000001 LSHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1031 031004 312 01 0 00 036610 CAME AC,[XWD 400000,0] ;IS RESULT IN AC CORRECT? + 1032 031005 003 01 0 00 026001 ER3 AC,26001 ;RESULT IN AC IS INCORRECT + 1033 031006 312 02 0 00 036600 CAME AC+1,[XWD 0,0] ;IS RESULT IN AC+1 CORRECT? + 1034 031007 004 02 0 00 026001 ER4 AC+1,26001 ;RESULT IN AC+1 IS INCORRECT + 1035 031010 321 03 0 00 031001 JUMPL AC+2,E26000 ;LOOP ON ERROR SWITCH^ + 1036 + 1037 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 3-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0037 + + 1038 ;TEST AR0 SHLT INP-ZERO'S - LSHC AC,1 + 1039 ;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + 1040 SR2 (261,577777,-1,-1,-1,377777,-1,-1,-2,LSHC,1)^ + 1041 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1042 ;DATA SPECIFIED IN [XWD 577777,-1] AND [XWD -1,-1] 1 BIT POSITIONS AND + 1043 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 377777,-1] AND + 1044 ;[XWD -1,-2] + 1045 + 1046 031011 200 01 0 00 036611 E26100: MOVE AC,[XWD 577777,-1] ;INITIALIZE AC + 1047 031012 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1048 031013 246 01 0 00 000001 LSHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1049 031014 312 01 0 00 036613 CAME AC,[XWD 377777,-1] ;IS RESULT IN AC CORRECT? + 1050 031015 003 01 0 00 026101 ER3 AC,26101 ;RESULT IN AC IS INCORRECT + 1051 031016 312 02 0 00 036577 CAME AC+1,[XWD -1,-2] ;IS RESULT IN AC+1 CORRECT? + 1052 031017 004 02 0 00 026101 ER4 AC+1,26101 ;RESULT IN AC+1 IS INCORRECT + 1053 031020 321 03 0 00 031011 JUMPL AC+2,E26100 ;LOOP ON ERROR SWITCH^ + 1054 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 4 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0038 + + 1055 ;SHIFT CONNECTIONS TEST + 1056 ;TEST AR0 SHRT INP-ZERO'S - LSHC AC,-1 + 1057 ;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + 1058 SR2 (262,-1,-1,-1,-1,377777,-1,-1,-1,LSHC,-1)^ + 1059 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1060 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD -1,-1] -1 BIT POSITIONS AND + 1061 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 377777,-1] AND + 1062 ;[XWD -1,-1] + 1063 + 1064 031021 200 01 0 00 036576 E26200: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 1065 031022 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1066 031023 246 01 0 00 777777 LSHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1067 031024 312 01 0 00 036613 CAME AC,[XWD 377777,-1] ;IS RESULT IN AC CORRECT? + 1068 031025 003 01 0 00 026201 ER3 AC,26201 ;RESULT IN AC IS INCORRECT + 1069 031026 312 02 0 00 036576 CAME AC+1,[XWD -1,-1] ;IS RESULT IN AC+1 CORRECT? + 1070 031027 004 02 0 00 026201 ER4 AC+1,26201 ;RESULT IN AC+1 IS INCORRECT + 1071 031030 321 03 0 00 031021 JUMPL AC+2,E26200 ;LOOP ON ERROR SWITCH^ + 1072 + 1073 ;SHIFT CONNECTIONS TEST + 1074 ;TEST AR1 SHRT INP-ONE'S - LSHC AC,-1 + 1075 ;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + 1076 SR2 (263,400000,0,0,0,200000,0,0,0,LSHC,-1)^ + 1077 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1078 ;DATA SPECIFIED IN [XWD 400000,0] AND [XWD 0,0] -1 BIT POSITIONS AND + 1079 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 200000,0] AND + 1080 ;[XWD 0,0] + 1081 + 1082 031031 200 01 0 00 036610 E26300: MOVE AC,[XWD 400000,0] ;INITIALIZE AC + 1083 031032 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 1084 031033 246 01 0 00 777777 LSHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1085 031034 312 01 0 00 036605 CAME AC,[XWD 200000,0] ;IS RESULT IN AC CORRECT? + 1086 031035 003 01 0 00 026301 ER3 AC,26301 ;RESULT IN AC IS INCORRECT + 1087 031036 312 02 0 00 036600 CAME AC+1,[XWD 0,0] ;IS RESULT IN AC+1 CORRECT? + 1088 031037 004 02 0 00 026301 ER4 AC+1,26301 ;RESULT IN AC+1 IS INCORRECT + 1089 031040 321 03 0 00 031031 JUMPL AC+2,E26300 ;LOOP ON ERROR SWITCH^ + 1090 + 1091 ;SHIFT CONNECTIONS TEST + 1092 ;TEST AR1 SHRT INP-ZERO'S - LSHC AC,-1 + 1093 ;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + 1094 SR2 (264,377777,-1,-1,-1,177777,-1,-1,-1,LSHC,-1)^ + 1095 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1096 ;DATA SPECIFIED IN [XWD 377777,-1] AND [XWD -1,-1] -1 BIT POSITIONS AND + 1097 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 177777,-1] AND + 1098 ;[XWD -1,-1] + 1099 + 1100 031041 200 01 0 00 036613 E26400: MOVE AC,[XWD 377777,-1] ;INITIALIZE AC + 1101 031042 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1102 031043 246 01 0 00 777777 LSHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1103 031044 312 01 0 00 036615 CAME AC,[XWD 177777,-1] ;IS RESULT IN AC CORRECT? + 1104 031045 003 01 0 00 026401 ER3 AC,26401 ;RESULT IN AC IS INCORRECT + 1105 031046 312 02 0 00 036576 CAME AC+1,[XWD -1,-1] ;IS RESULT IN AC+1 CORRECT? + 1106 031047 004 02 0 00 026401 ER4 AC+1,26401 ;RESULT IN AC+1 IS INCORRECT + 1107 031050 321 03 0 00 031041 JUMPL AC+2,E26400 ;LOOP ON ERROR SWITCH^ + 1108 + 1109 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 4-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0039 + + 1110 ;TEST AR34 SHRT INP-ONE'S - LSHC AC,-1 + 1111 ;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + 1112 SR2 (265,0,4,0,0,0,2,0,0,LSHC,-1)^ + 1113 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1114 ;DATA SPECIFIED IN [XWD 0,4] AND [XWD 0,0] -1 BIT POSITIONS AND + 1115 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,2] AND + 1116 ;[XWD 0,0] + 1117 + 1118 031051 200 01 0 00 036616 E26500: MOVE AC,[XWD 0,4] ;INITIALIZE AC + 1119 031052 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 1120 031053 246 01 0 00 777777 LSHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1121 031054 312 01 0 00 036602 CAME AC,[XWD 0,2] ;IS RESULT IN AC CORRECT? + 1122 031055 003 01 0 00 026501 ER3 AC,26501 ;RESULT IN AC IS INCORRECT + 1123 031056 312 02 0 00 036600 CAME AC+1,[XWD 0,0] ;IS RESULT IN AC+1 CORRECT? + 1124 031057 004 02 0 00 026501 ER4 AC+1,26501 ;RESULT IN AC+1 IS INCORRECT + 1125 031060 321 03 0 00 031051 JUMPL AC+2,E26500 ;LOOP ON ERROR SWITCH^ + 1126 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 4-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0040 + + 1127 ;SHIFT CONNECTIONS TEST + 1128 ;TEST AR34 SHRT INP-ZERO'S - LSHC AC,-1 + 1129 ;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + 1130 SR2 (266,-1,-5,-1,-1,377777,-3,-1,-1,LSHC,-1)^ + 1131 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1132 ;DATA SPECIFIED IN [XWD -1,-5] AND [XWD -1,-1] -1 BIT POSITIONS AND + 1133 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 377777,-3] AND + 1134 ;[XWD -1,-1] + 1135 + 1136 031061 200 01 0 00 036617 E26600: MOVE AC,[XWD -1,-5] ;INITIALIZE AC + 1137 031062 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1138 031063 246 01 0 00 777777 LSHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1139 031064 312 01 0 00 036620 CAME AC,[XWD 377777,-3] ;IS RESULT IN AC CORRECT? + 1140 031065 003 01 0 00 026601 ER3 AC,26601 ;RESULT IN AC IS INCORRECT + 1141 031066 312 02 0 00 036576 CAME AC+1,[XWD -1,-1] ;IS RESULT IN AC+1 CORRECT? + 1142 031067 004 02 0 00 026601 ER4 AC+1,26601 ;RESULT IN AC+1 IS INCORRECT + 1143 031070 321 03 0 00 031061 JUMPL AC+2,E26600 ;LOOP ON ERROR SWITCH^ + 1144 + 1145 ;SHIFT CONNECTIONS TEST + 1146 ;TEST AR35 SHRT INP-ONE'S - LSHC AC,-1 + 1147 ;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + 1148 SR2 (267,0,2,0,0,0,1,0,0,LSHC,-1)^ + 1149 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1150 ;DATA SPECIFIED IN [XWD 0,2] AND [XWD 0,0] -1 BIT POSITIONS AND + 1151 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,1] AND + 1152 ;[XWD 0,0] + 1153 + 1154 031071 200 01 0 00 036602 E26700: MOVE AC,[XWD 0,2] ;INITIALIZE AC + 1155 031072 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 1156 031073 246 01 0 00 777777 LSHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1157 031074 312 01 0 00 036601 CAME AC,[XWD 0,1] ;IS RESULT IN AC CORRECT? + 1158 031075 003 01 0 00 026701 ER3 AC,26701 ;RESULT IN AC IS INCORRECT + 1159 031076 312 02 0 00 036600 CAME AC+1,[XWD 0,0] ;IS RESULT IN AC+1 CORRECT? + 1160 031077 004 02 0 00 026701 ER4 AC+1,26701 ;RESULT IN AC+1 IS INCORRECT + 1161 031100 321 03 0 00 031071 JUMPL AC+2,E26700 ;LOOP ON ERROR SWITCH^ + 1162 + 1163 ;SHIFT CONNECTIONS TEST + 1164 ;TEST AR35 SHRT INP-ZERO'S - LSHC AC,-1 + 1165 ;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + 1166 SR2 (270,-1,-3,-1,-1,377777,-2,-1,-1,LSHC,-1)^ + 1167 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1168 ;DATA SPECIFIED IN [XWD -1,-3] AND [XWD -1,-1] -1 BIT POSITIONS AND + 1169 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 377777,-2] AND + 1170 ;[XWD -1,-1] + 1171 + 1172 031101 200 01 0 00 036614 E27000: MOVE AC,[XWD -1,-3] ;INITIALIZE AC + 1173 031102 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1174 031103 246 01 0 00 777777 LSHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1175 031104 312 01 0 00 036612 CAME AC,[XWD 377777,-2] ;IS RESULT IN AC CORRECT? + 1176 031105 003 01 0 00 027001 ER3 AC,27001 ;RESULT IN AC IS INCORRECT + 1177 031106 312 02 0 00 036576 CAME AC+1,[XWD -1,-1] ;IS RESULT IN AC+1 CORRECT? + 1178 031107 004 02 0 00 027001 ER4 AC+1,27001 ;RESULT IN AC+1 IS INCORRECT + 1179 031110 321 03 0 00 031101 JUMPL AC+2,E27000 ;LOOP ON ERROR SWITCH^ + 1180 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 5 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0041 + + 1181 ;SHIFT CONNECTIONS TEST + 1182 ;TEST MQ0 SHRT INP-ONE'S - LSHC AC,-1 + 1183 ;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + 1184 SR2 (271,0,1,0,0,0,0,400000,0,LSHC,-1)^ + 1185 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1186 ;DATA SPECIFIED IN [XWD 0,1] AND [XWD 0,0] -1 BIT POSITIONS AND + 1187 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 1188 ;[XWD 400000,0] + 1189 + 1190 031111 200 01 0 00 036601 E27100: MOVE AC,[XWD 0,1] ;INITIALIZE AC + 1191 031112 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 1192 031113 246 01 0 00 777777 LSHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1193 031114 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 1194 031115 003 01 0 00 027101 ER3 AC,27101 ;RESULT IN AC IS INCORRECT + 1195 031116 312 02 0 00 036610 CAME AC+1,[XWD 400000,0] ;IS RESULT IN AC+1 CORRECT? + 1196 031117 004 02 0 00 027101 ER4 AC+1,27101 ;RESULT IN AC+1 IS INCORRECT + 1197 031120 321 03 0 00 031111 JUMPL AC+2,E27100 ;LOOP ON ERROR SWITCH^ + 1198 + 1199 ;SHIFT CONNECTIONS TEST + 1200 ;TEST MQ0 SHRT INP-ZERO'S - LSHC AC,-1 + 1201 ;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + 1202 SR2 (272,-1,-2,-1,-1,377777,-1,377777,-1,LSHC,-1)^ + 1203 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1204 ;DATA SPECIFIED IN [XWD -1,-2] AND [XWD -1,-1] -1 BIT POSITIONS AND + 1205 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 377777,-1] AND + 1206 ;[XWD 377777,-1] + 1207 + 1208 031121 200 01 0 00 036577 E27200: MOVE AC,[XWD -1,-2] ;INITIALIZE AC + 1209 031122 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1210 031123 246 01 0 00 777777 LSHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1211 031124 312 01 0 00 036613 CAME AC,[XWD 377777,-1] ;IS RESULT IN AC CORRECT? + 1212 031125 003 01 0 00 027201 ER3 AC,27201 ;RESULT IN AC IS INCORRECT + 1213 031126 312 02 0 00 036613 CAME AC+1,[XWD 377777,-1] ;IS RESULT IN AC+1 CORRECT? + 1214 031127 004 02 0 00 027201 ER4 AC+1,27201 ;RESULT IN AC+1 IS INCORRECT + 1215 031130 321 03 0 00 031121 JUMPL AC+2,E27200 ;LOOP ON ERROR SWITCH^ + 1216 + 1217 ;SHIFT CONNECTIONS TEST + 1218 ;TEST MQ1 SHRT INP-ONE'S - LSHC AC,-1 + 1219 ;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + 1220 SR2 (273,0,0,400000,0,0,0,200000,0,LSHC,-1)^ + 1221 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1222 ;DATA SPECIFIED IN [XWD 0,0] AND [XWD 400000,0] -1 BIT POSITIONS AND + 1223 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 1224 ;[XWD 200000,0] + 1225 + 1226 031131 200 01 0 00 036600 E27300: MOVE AC,[XWD 0,0] ;INITIALIZE AC + 1227 031132 200 02 0 00 036610 MOVE AC+1,[XWD 400000,0] ;INITIALIZE AC+1 + 1228 031133 246 01 0 00 777777 LSHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1229 031134 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 1230 031135 003 01 0 00 027301 ER3 AC,27301 ;RESULT IN AC IS INCORRECT + 1231 031136 312 02 0 00 036605 CAME AC+1,[XWD 200000,0] ;IS RESULT IN AC+1 CORRECT? + 1232 031137 004 02 0 00 027301 ER4 AC+1,27301 ;RESULT IN AC+1 IS INCORRECT + 1233 031140 321 03 0 00 031131 JUMPL AC+2,E27300 ;LOOP ON ERROR SWITCH^ + 1234 + 1235 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 5-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0042 + + 1236 ;TEST MQ1 SHRT INP-ZERO'S - LSHC AC,-1 + 1237 ;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + 1238 SR2 (274,-1,-1,377777,-1,377777,-1,577777,-1,LSHC,-1)^ + 1239 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1240 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD 377777,-1] -1 BIT POSITIONS AND + 1241 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 377777,-1] AND + 1242 ;[XWD 577777,-1] + 1243 + 1244 031141 200 01 0 00 036576 E27400: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 1245 031142 200 02 0 00 036613 MOVE AC+1,[XWD 377777,-1] ;INITIALIZE AC+1 + 1246 031143 246 01 0 00 777777 LSHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1247 031144 312 01 0 00 036613 CAME AC,[XWD 377777,-1] ;IS RESULT IN AC CORRECT? + 1248 031145 003 01 0 00 027401 ER3 AC,27401 ;RESULT IN AC IS INCORRECT + 1249 031146 312 02 0 00 036611 CAME AC+1,[XWD 577777,-1] ;IS RESULT IN AC+1 CORRECT? + 1250 031147 004 02 0 00 027401 ER4 AC+1,27401 ;RESULT IN AC+1 IS INCORRECT + 1251 031150 321 03 0 00 031141 JUMPL AC+2,E27400 ;LOOP ON ERROR SWITCH^ + 1252 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 5-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0043 + + 1253 ;SHIFT CONNECTIONS TEST + 1254 ;TEST MQ34 SHRT INP-ONE'S - LSHC AC,-1 + 1255 ;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + 1256 SR2 (275,0,0,0,4,0,0,0,2,LSHC,-1)^ + 1257 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1258 ;DATA SPECIFIED IN [XWD 0,0] AND [XWD 0,4] -1 BIT POSITIONS AND + 1259 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 1260 ;[XWD 0,2] + 1261 + 1262 031151 200 01 0 00 036600 E27500: MOVE AC,[XWD 0,0] ;INITIALIZE AC + 1263 031152 200 02 0 00 036616 MOVE AC+1,[XWD 0,4] ;INITIALIZE AC+1 + 1264 031153 246 01 0 00 777777 LSHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1265 031154 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 1266 031155 003 01 0 00 027501 ER3 AC,27501 ;RESULT IN AC IS INCORRECT + 1267 031156 312 02 0 00 036602 CAME AC+1,[XWD 0,2] ;IS RESULT IN AC+1 CORRECT? + 1268 031157 004 02 0 00 027501 ER4 AC+1,27501 ;RESULT IN AC+1 IS INCORRECT + 1269 031160 321 03 0 00 031151 JUMPL AC+2,E27500 ;LOOP ON ERROR SWITCH^ + 1270 + 1271 ;SHIFT CONNECTIONS TEST + 1272 ;TEST MQ34 SHRT INP-ZERO'S - LSHC AC,-1 + 1273 ;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + 1274 SR2 (276,-1,-1,-1,-5,377777,-1,-1,-3,LSHC,-1)^ + 1275 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1276 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD -1,-5] -1 BIT POSITIONS AND + 1277 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 377777,-1] AND + 1278 ;[XWD -1,-3] + 1279 + 1280 031161 200 01 0 00 036576 E27600: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 1281 031162 200 02 0 00 036617 MOVE AC+1,[XWD -1,-5] ;INITIALIZE AC+1 + 1282 031163 246 01 0 00 777777 LSHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1283 031164 312 01 0 00 036613 CAME AC,[XWD 377777,-1] ;IS RESULT IN AC CORRECT? + 1284 031165 003 01 0 00 027601 ER3 AC,27601 ;RESULT IN AC IS INCORRECT + 1285 031166 312 02 0 00 036614 CAME AC+1,[XWD -1,-3] ;IS RESULT IN AC+1 CORRECT? + 1286 031167 004 02 0 00 027601 ER4 AC+1,27601 ;RESULT IN AC+1 IS INCORRECT + 1287 031170 321 03 0 00 031161 JUMPL AC+2,E27600 ;LOOP ON ERROR SWITCH^ + 1288 + 1289 ;SHIFT CONNECTIONS TEST + 1290 ;TEST MQ35 SHRT INP-ONE'S - LSHC AC,-1 + 1291 ;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + 1292 SR2 (277,0,0,0,2,0,0,0,1,LSHC,-1)^ + 1293 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1294 ;DATA SPECIFIED IN [XWD 0,0] AND [XWD 0,2] -1 BIT POSITIONS AND + 1295 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 1296 ;[XWD 0,1] + 1297 + 1298 031171 200 01 0 00 036600 E27700: MOVE AC,[XWD 0,0] ;INITIALIZE AC + 1299 031172 200 02 0 00 036602 MOVE AC+1,[XWD 0,2] ;INITIALIZE AC+1 + 1300 031173 246 01 0 00 777777 LSHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1301 031174 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 1302 031175 003 01 0 00 027701 ER3 AC,27701 ;RESULT IN AC IS INCORRECT + 1303 031176 312 02 0 00 036601 CAME AC+1,[XWD 0,1] ;IS RESULT IN AC+1 CORRECT? + 1304 031177 004 02 0 00 027701 ER4 AC+1,27701 ;RESULT IN AC+1 IS INCORRECT + 1305 031200 321 03 0 00 031171 JUMPL AC+2,E27700 ;LOOP ON ERROR SWITCH^ + 1306 + 1307 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 5-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0044 + + 1308 ;TEST MQ35 SHRT INP-ZERO'S - LSHC AC,-1 + 1309 ;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + 1310 SR2 (300,-1,-1,-1,-3,377777,-1,-1,-2,LSHC,-1)^ + 1311 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1312 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD -1,-3] -1 BIT POSITIONS AND + 1313 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 377777,-1] AND + 1314 ;[XWD -1,-2] + 1315 + 1316 031201 200 01 0 00 036576 E30000: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 1317 031202 200 02 0 00 036614 MOVE AC+1,[XWD -1,-3] ;INITIALIZE AC+1 + 1318 031203 246 01 0 00 777777 LSHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1319 031204 312 01 0 00 036613 CAME AC,[XWD 377777,-1] ;IS RESULT IN AC CORRECT? + 1320 031205 003 01 0 00 030001 ER3 AC,30001 ;RESULT IN AC IS INCORRECT + 1321 031206 312 02 0 00 036577 CAME AC+1,[XWD -1,-2] ;IS RESULT IN AC+1 CORRECT? + 1322 031207 004 02 0 00 030001 ER4 AC+1,30001 ;RESULT IN AC+1 IS INCORRECT + 1323 031210 321 03 0 00 031201 JUMPL AC+2,E30000 ;LOOP ON ERROR SWITCH^ + 1324 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 6 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0045 + + 1325 ;SHIFT CONNECTIONS TEST + 1326 ;TEST AR0 SHRT INP-ZERO'S - LSHC AC,-2 + 1327 ;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + 1328 SR2 (301,-1,-1,-1,-1,177777,-1,-1,-1,LSHC,-2)^ + 1329 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1330 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD -1,-1] -2 BIT POSITIONS AND + 1331 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 177777,-1] AND + 1332 ;[XWD -1,-1] + 1333 + 1334 031211 200 01 0 00 036576 E30100: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 1335 031212 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1336 031213 246 01 0 00 777776 LSHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 1337 031214 312 01 0 00 036615 CAME AC,[XWD 177777,-1] ;IS RESULT IN AC CORRECT? + 1338 031215 003 01 0 00 030101 ER3 AC,30101 ;RESULT IN AC IS INCORRECT + 1339 031216 312 02 0 00 036576 CAME AC+1,[XWD -1,-1] ;IS RESULT IN AC+1 CORRECT? + 1340 031217 004 02 0 00 030101 ER4 AC+1,30101 ;RESULT IN AC+1 IS INCORRECT + 1341 031220 321 03 0 00 031211 JUMPL AC+2,E30100 ;LOOP ON ERROR SWITCH^ + 1342 + 1343 ;SHIFT CONNECTIONS TEST + 1344 ;TEST AR1 SHRT INP-ZERO'S - LSHC AC,-2 + 1345 ;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + 1346 SR2 (302,-1,-1,-1,-1,177777,-1,-1,-1,LSHC,-2)^ + 1347 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1348 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD -1,-1] -2 BIT POSITIONS AND + 1349 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 177777,-1] AND + 1350 ;[XWD -1,-1] + 1351 + 1352 031221 200 01 0 00 036576 E30200: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 1353 031222 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1354 031223 246 01 0 00 777776 LSHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 1355 031224 312 01 0 00 036615 CAME AC,[XWD 177777,-1] ;IS RESULT IN AC CORRECT? + 1356 031225 003 01 0 00 030201 ER3 AC,30201 ;RESULT IN AC IS INCORRECT + 1357 031226 312 02 0 00 036576 CAME AC+1,[XWD -1,-1] ;IS RESULT IN AC+1 CORRECT? + 1358 031227 004 02 0 00 030201 ER4 AC+1,30201 ;RESULT IN AC+1 IS INCORRECT + 1359 031230 321 03 0 00 031221 JUMPL AC+2,E30200 ;LOOP ON ERROR SWITCH^ + 1360 + 1361 ;SHIFT CONNECTIONS TEST + 1362 ;TEST AR34 SHRT INP-ONE'S - LSHC AC,-2 + 1363 ;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + 1364 SR2 (303,0,10,0,0,0,2,0,0,LSHC,-2)^ + 1365 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1366 ;DATA SPECIFIED IN [XWD 0,10] AND [XWD 0,0] -2 BIT POSITIONS AND + 1367 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,2] AND + 1368 ;[XWD 0,0] + 1369 + 1370 031231 200 01 0 00 036621 E30300: MOVE AC,[XWD 0,10] ;INITIALIZE AC + 1371 031232 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 1372 031233 246 01 0 00 777776 LSHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 1373 031234 312 01 0 00 036602 CAME AC,[XWD 0,2] ;IS RESULT IN AC CORRECT? + 1374 031235 003 01 0 00 030301 ER3 AC,30301 ;RESULT IN AC IS INCORRECT + 1375 031236 312 02 0 00 036600 CAME AC+1,[XWD 0,0] ;IS RESULT IN AC+1 CORRECT? + 1376 031237 004 02 0 00 030301 ER4 AC+1,30301 ;RESULT IN AC+1 IS INCORRECT + 1377 031240 321 03 0 00 031231 JUMPL AC+2,E30300 ;LOOP ON ERROR SWITCH^ + 1378 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 6-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0046 + + 1379 ;SHIFT CONNECTIONS TEST + 1380 ;TEST AR34 SHRT INP-ZERO'S - LSHC AC,-2 + 1381 ;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + 1382 SR2 (304,-1,-11,-1,-1,177777,-3,-1,-1,LSHC,-2)^ + 1383 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1384 ;DATA SPECIFIED IN [XWD -1,-11] AND [XWD -1,-1] -2 BIT POSITIONS AND + 1385 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 177777,-3] AND + 1386 ;[XWD -1,-1] + 1387 + 1388 031241 200 01 0 00 036622 E30400: MOVE AC,[XWD -1,-11] ;INITIALIZE AC + 1389 031242 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1390 031243 246 01 0 00 777776 LSHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 1391 031244 312 01 0 00 036623 CAME AC,[XWD 177777,-3] ;IS RESULT IN AC CORRECT? + 1392 031245 003 01 0 00 030401 ER3 AC,30401 ;RESULT IN AC IS INCORRECT + 1393 031246 312 02 0 00 036576 CAME AC+1,[XWD -1,-1] ;IS RESULT IN AC+1 CORRECT? + 1394 031247 004 02 0 00 030401 ER4 AC+1,30401 ;RESULT IN AC+1 IS INCORRECT + 1395 031250 321 03 0 00 031241 JUMPL AC+2,E30400 ;LOOP ON ERROR SWITCH^ + 1396 + 1397 ;SHIFT CONNECTIONS TEST + 1398 ;TEST AR35 SHRT INP-ONE'S - LSHC AC,-2 + 1399 ;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + 1400 SR2 (305,0,4,0,0,0,1,0,0,LSHC,-2)^ + 1401 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1402 ;DATA SPECIFIED IN [XWD 0,4] AND [XWD 0,0] -2 BIT POSITIONS AND + 1403 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,1] AND + 1404 ;[XWD 0,0] + 1405 + 1406 031251 200 01 0 00 036616 E30500: MOVE AC,[XWD 0,4] ;INITIALIZE AC + 1407 031252 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 1408 031253 246 01 0 00 777776 LSHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 1409 031254 312 01 0 00 036601 CAME AC,[XWD 0,1] ;IS RESULT IN AC CORRECT? + 1410 031255 003 01 0 00 030501 ER3 AC,30501 ;RESULT IN AC IS INCORRECT + 1411 031256 312 02 0 00 036600 CAME AC+1,[XWD 0,0] ;IS RESULT IN AC+1 CORRECT? + 1412 031257 004 02 0 00 030501 ER4 AC+1,30501 ;RESULT IN AC+1 IS INCORRECT + 1413 031260 321 03 0 00 031251 JUMPL AC+2,E30500 ;LOOP ON ERROR SWITCH^ + 1414 + 1415 ;SHIFT CONNECTIONS TEST + 1416 ;TEST AR35 SHRT INP-ZERO'S - LSHC AC,-2 + 1417 ;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + 1418 SR2 (306,-1,-5,-1,-1,177777,-2,-1,-1,LSHC,-2)^ + 1419 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1420 ;DATA SPECIFIED IN [XWD -1,-5] AND [XWD -1,-1] -2 BIT POSITIONS AND + 1421 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 177777,-2] AND + 1422 ;[XWD -1,-1] + 1423 + 1424 031261 200 01 0 00 036617 E30600: MOVE AC,[XWD -1,-5] ;INITIALIZE AC + 1425 031262 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1426 031263 246 01 0 00 777776 LSHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 1427 031264 312 01 0 00 036624 CAME AC,[XWD 177777,-2] ;IS RESULT IN AC CORRECT? + 1428 031265 003 01 0 00 030601 ER3 AC,30601 ;RESULT IN AC IS INCORRECT + 1429 031266 312 02 0 00 036576 CAME AC+1,[XWD -1,-1] ;IS RESULT IN AC+1 CORRECT? + 1430 031267 004 02 0 00 030601 ER4 AC+1,30601 ;RESULT IN AC+1 IS INCORRECT + 1431 031270 321 03 0 00 031261 JUMPL AC+2,E30600 ;LOOP ON ERROR SWITCH^ + 1432 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 7 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0047 + + 1433 ;SHIFT CONNECTIONS TEST + 1434 ;TEST MQ0 SHRT INP-ONE'S - LSHC AC,-2 + 1435 ;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + 1436 SR2 (307,0,2,0,0,0,0,400000,0,LSHC,-2)^ + 1437 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1438 ;DATA SPECIFIED IN [XWD 0,2] AND [XWD 0,0] -2 BIT POSITIONS AND + 1439 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 1440 ;[XWD 400000,0] + 1441 + 1442 031271 200 01 0 00 036602 E30700: MOVE AC,[XWD 0,2] ;INITIALIZE AC + 1443 031272 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 1444 031273 246 01 0 00 777776 LSHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 1445 031274 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 1446 031275 003 01 0 00 030701 ER3 AC,30701 ;RESULT IN AC IS INCORRECT + 1447 031276 312 02 0 00 036610 CAME AC+1,[XWD 400000,0] ;IS RESULT IN AC+1 CORRECT? + 1448 031277 004 02 0 00 030701 ER4 AC+1,30701 ;RESULT IN AC+1 IS INCORRECT + 1449 031300 321 03 0 00 031271 JUMPL AC+2,E30700 ;LOOP ON ERROR SWITCH^ + 1450 + 1451 ;SHIFT CONNECTIONS TEST + 1452 ;TEST MQ0 SHRT INP-ZERO'S - LSHC AC,-2 + 1453 ;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + 1454 SR2 (310,-1,-3,-1,-1,177777,-1,377777,-1,LSHC,-2)^ + 1455 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1456 ;DATA SPECIFIED IN [XWD -1,-3] AND [XWD -1,-1] -2 BIT POSITIONS AND + 1457 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 177777,-1] AND + 1458 ;[XWD 377777,-1] + 1459 + 1460 031301 200 01 0 00 036614 E31000: MOVE AC,[XWD -1,-3] ;INITIALIZE AC + 1461 031302 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1462 031303 246 01 0 00 777776 LSHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 1463 031304 312 01 0 00 036615 CAME AC,[XWD 177777,-1] ;IS RESULT IN AC CORRECT? + 1464 031305 003 01 0 00 031001 ER3 AC,31001 ;RESULT IN AC IS INCORRECT + 1465 031306 312 02 0 00 036613 CAME AC+1,[XWD 377777,-1] ;IS RESULT IN AC+1 CORRECT? + 1466 031307 004 02 0 00 031001 ER4 AC+1,31001 ;RESULT IN AC+1 IS INCORRECT + 1467 031310 321 03 0 00 031301 JUMPL AC+2,E31000 ;LOOP ON ERROR SWITCH^ + 1468 + 1469 ;SHIFT CONNECTIONS TEST + 1470 ;TEST MQ1 SHRT INP-ONE'S - LSHC AC,-2 + 1471 ;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + 1472 SR2 (311,0,1,0,0,0,0,200000,0,LSHC,-2)^ + 1473 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1474 ;DATA SPECIFIED IN [XWD 0,1] AND [XWD 0,0] -2 BIT POSITIONS AND + 1475 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 1476 ;[XWD 200000,0] + 1477 + 1478 031311 200 01 0 00 036601 E31100: MOVE AC,[XWD 0,1] ;INITIALIZE AC + 1479 031312 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 1480 031313 246 01 0 00 777776 LSHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 1481 031314 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 1482 031315 003 01 0 00 031101 ER3 AC,31101 ;RESULT IN AC IS INCORRECT + 1483 031316 312 02 0 00 036605 CAME AC+1,[XWD 200000,0] ;IS RESULT IN AC+1 CORRECT? + 1484 031317 004 02 0 00 031101 ER4 AC+1,31101 ;RESULT IN AC+1 IS INCORRECT + 1485 031320 321 03 0 00 031311 JUMPL AC+2,E31100 ;LOOP ON ERROR SWITCH^ + 1486 + 1487 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 7-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0048 + + 1488 ;TEST MQ1 SHRT INP-ZERO'S - LSHC AC,-2 + 1489 ;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + 1490 SR2 (312,-1,-2,-1,-1,177777,-1,577777,-1,LSHC,-2)^ + 1491 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1492 ;DATA SPECIFIED IN [XWD -1,-2] AND [XWD -1,-1] -2 BIT POSITIONS AND + 1493 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 177777,-1] AND + 1494 ;[XWD 577777,-1] + 1495 + 1496 031321 200 01 0 00 036577 E31200: MOVE AC,[XWD -1,-2] ;INITIALIZE AC + 1497 031322 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1498 031323 246 01 0 00 777776 LSHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 1499 031324 312 01 0 00 036615 CAME AC,[XWD 177777,-1] ;IS RESULT IN AC CORRECT? + 1500 031325 003 01 0 00 031201 ER3 AC,31201 ;RESULT IN AC IS INCORRECT + 1501 031326 312 02 0 00 036611 CAME AC+1,[XWD 577777,-1] ;IS RESULT IN AC+1 CORRECT? + 1502 031327 004 02 0 00 031201 ER4 AC+1,31201 ;RESULT IN AC+1 IS INCORRECT + 1503 031330 321 03 0 00 031321 JUMPL AC+2,E31200 ;LOOP ON ERROR SWITCH^ + 1504 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 7-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0049 + + 1505 ;SHIFT CONNECTIONS TEST + 1506 ;TEST MQ34 SHRT INP-ONE'S - LSHC AC,-2 + 1507 ;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + 1508 SR2 (313,0,0,0,10,0,0,0,2,LSHC,-2)^ + 1509 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1510 ;DATA SPECIFIED IN [XWD 0,0] AND [XWD 0,10] -2 BIT POSITIONS AND + 1511 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 1512 ;[XWD 0,2] + 1513 + 1514 031331 200 01 0 00 036600 E31300: MOVE AC,[XWD 0,0] ;INITIALIZE AC + 1515 031332 200 02 0 00 036621 MOVE AC+1,[XWD 0,10] ;INITIALIZE AC+1 + 1516 031333 246 01 0 00 777776 LSHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 1517 031334 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 1518 031335 003 01 0 00 031301 ER3 AC,31301 ;RESULT IN AC IS INCORRECT + 1519 031336 312 02 0 00 036602 CAME AC+1,[XWD 0,2] ;IS RESULT IN AC+1 CORRECT? + 1520 031337 004 02 0 00 031301 ER4 AC+1,31301 ;RESULT IN AC+1 IS INCORRECT + 1521 031340 321 03 0 00 031331 JUMPL AC+2,E31300 ;LOOP ON ERROR SWITCH^ + 1522 + 1523 ;SHIFT CONNECTIONS TEST + 1524 ;TEST MQ34 SHRT INP-ZERO'S - LSHC AC,-2 + 1525 ;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + 1526 SR2 (314,-1,-1,-1,-11,177777,-1,-1,-3,LSHC,-2)^ + 1527 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1528 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD -1,-11] -2 BIT POSITIONS AND + 1529 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 177777,-1] AND + 1530 ;[XWD -1,-3] + 1531 + 1532 031341 200 01 0 00 036576 E31400: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 1533 031342 200 02 0 00 036622 MOVE AC+1,[XWD -1,-11] ;INITIALIZE AC+1 + 1534 031343 246 01 0 00 777776 LSHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 1535 031344 312 01 0 00 036615 CAME AC,[XWD 177777,-1] ;IS RESULT IN AC CORRECT? + 1536 031345 003 01 0 00 031401 ER3 AC,31401 ;RESULT IN AC IS INCORRECT + 1537 031346 312 02 0 00 036614 CAME AC+1,[XWD -1,-3] ;IS RESULT IN AC+1 CORRECT? + 1538 031347 004 02 0 00 031401 ER4 AC+1,31401 ;RESULT IN AC+1 IS INCORRECT + 1539 031350 321 03 0 00 031341 JUMPL AC+2,E31400 ;LOOP ON ERROR SWITCH^ + 1540 + 1541 ;SHIFT CONNECTIONS TEST + 1542 ;TEST MQ35 SHRT INP-ONE'S - LSHC AC,-2 + 1543 ;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + 1544 SR2 (315,0,0,0,4,0,0,0,1,LSHC,-2)^ + 1545 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1546 ;DATA SPECIFIED IN [XWD 0,0] AND [XWD 0,4] -2 BIT POSITIONS AND + 1547 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 1548 ;[XWD 0,1] + 1549 + 1550 031351 200 01 0 00 036600 E31500: MOVE AC,[XWD 0,0] ;INITIALIZE AC + 1551 031352 200 02 0 00 036616 MOVE AC+1,[XWD 0,4] ;INITIALIZE AC+1 + 1552 031353 246 01 0 00 777776 LSHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 1553 031354 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 1554 031355 003 01 0 00 031501 ER3 AC,31501 ;RESULT IN AC IS INCORRECT + 1555 031356 312 02 0 00 036601 CAME AC+1,[XWD 0,1] ;IS RESULT IN AC+1 CORRECT? + 1556 031357 004 02 0 00 031501 ER4 AC+1,31501 ;RESULT IN AC+1 IS INCORRECT + 1557 031360 321 03 0 00 031351 JUMPL AC+2,E31500 ;LOOP ON ERROR SWITCH^ + 1558 + 1559 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 7-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) SEQ 0050 + + 1560 ;TEST MQ35 SHRT INP-ZERO'S - LSHC AC,-2 + 1561 ;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + 1562 SR2 (316,-1,-1,-1,-5,177777,-1,-1,-2,LSHC,-2)^ + 1563 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1564 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD -1,-5] -2 BIT POSITIONS AND + 1565 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 177777,-1] AND + 1566 ;[XWD -1,-2] + 1567 + 1568 031361 200 01 0 00 036576 E31600: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 1569 031362 200 02 0 00 036617 MOVE AC+1,[XWD -1,-5] ;INITIALIZE AC+1 + 1570 031363 246 01 0 00 777776 LSHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 1571 031364 312 01 0 00 036615 CAME AC,[XWD 177777,-1] ;IS RESULT IN AC CORRECT? + 1572 031365 003 01 0 00 031601 ER3 AC,31601 ;RESULT IN AC IS INCORRECT + 1573 031366 312 02 0 00 036577 CAME AC+1,[XWD -1,-2] ;IS RESULT IN AC+1 CORRECT? + 1574 031367 004 02 0 00 031601 ER4 AC+1,31601 ;RESULT IN AC+1 IS INCORRECT + 1575 031370 321 03 0 00 031361 JUMPL AC+2,E31600 ;LOOP ON ERROR SWITCH^ + 1576 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 8 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0051 + + 1577 SUBTTL DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) + 1578 + 1579 ;END CONNECTIONS-ASHC + 1580 ;TEST AR-MQ END BIT INPUT GATES + 1581 ;TEST LEFT-AR0,1,34,35 SHLT INP GATES + 1582 ; MQ0,1,34,35 SHLT INP GATES + 1583 ;TEST RIGHT-AR0,1,34,35 SHRT INP GATES + 1584 ; MQ0,1,34,35 SHRT INPUT GATES + 1585 ;AC,AC+1 ARE ARITHMETICALLY SHIFTED LEFT/RIGHT AND + 1586 ;END BITS ARE TESTED + 1587 ;TEST ASSUMES BOTH REGISTERS ARE + 1588 ;CAPABLE OF SHIFTING 1,-1 AND -2 BIT POSITIONS CORRECTLY + 1589 + 1590 ;GATES PREVIOUSLY TESTED,ARE AGAIN TESTED + 1591 ;ERRORS MOST LIKELY DUE TO FAILURE OF + 1592 ;ASHC TO BRING UP ENABLING LEVELS + 1593 + 1594 ;SHIFT CONNECTIONS TEST + 1595 ;TEST MQ35 SHLT INP-ZERO'S - ASHC AC,1 + 1596 ;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + 1597 SR2 (317,-1,-1,-1,-1,-1,-1,-1,-2,ASHC,1)^ + 1598 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1599 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD -1,-1] 1 BIT POSITIONS AND + 1600 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-1] AND + 1601 ;[XWD -1,-2] + 1602 + 1603 031371 200 01 0 00 036576 E31700: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 1604 031372 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1605 031373 244 01 0 00 000001 ASHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1606 031374 312 01 0 00 036576 CAME AC,[XWD -1,-1] ;IS RESULT IN AC CORRECT? + 1607 031375 003 01 0 00 031701 ER3 AC,31701 ;RESULT IN AC IS INCORRECT + 1608 031376 312 02 0 00 036577 CAME AC+1,[XWD -1,-2] ;IS RESULT IN AC+1 CORRECT? + 1609 031377 004 02 0 00 031701 ER4 AC+1,31701 ;RESULT IN AC+1 IS INCORRECT + 1610 031400 321 03 0 00 031371 JUMPL AC+2,E31700 ;LOOP ON ERROR SWITCH^ + 1611 + 1612 ;SHIFT CONNECTIONS TEST + 1613 ;TEST MQ34 SHLT INP-ONE'S - ASHC AC,1 + 1614 ;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + 1615 SR2 (320,0,0,0,1,0,0,0,2,ASHC,1)^ + 1616 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1617 ;DATA SPECIFIED IN [XWD 0,0] AND [XWD 0,1] 1 BIT POSITIONS AND + 1618 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 1619 ;[XWD 0,2] + 1620 + 1621 031401 200 01 0 00 036600 E32000: MOVE AC,[XWD 0,0] ;INITIALIZE AC + 1622 031402 200 02 0 00 036601 MOVE AC+1,[XWD 0,1] ;INITIALIZE AC+1 + 1623 031403 244 01 0 00 000001 ASHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1624 031404 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 1625 031405 003 01 0 00 032001 ER3 AC,32001 ;RESULT IN AC IS INCORRECT + 1626 031406 312 02 0 00 036602 CAME AC+1,[XWD 0,2] ;IS RESULT IN AC+1 CORRECT? + 1627 031407 004 02 0 00 032001 ER4 AC+1,32001 ;RESULT IN AC+1 IS INCORRECT + 1628 031410 321 03 0 00 031401 JUMPL AC+2,E32000 ;LOOP ON ERROR SWITCH^ + 1629 + 1630 ;SHIFT CONNECTIONS TEST + 1631 ;TEST MQ34 SHLT INP-ZERO'S - ASHC AC,1 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 8-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0052 + + 1632 ;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + 1633 SR2 (321,-1,-1,-1,-2,-1,-1,-1,-4,ASHC,1)^ + 1634 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1635 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD -1,-2] 1 BIT POSITIONS AND + 1636 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-1] AND + 1637 ;[XWD -1,-4] + 1638 + 1639 031411 200 01 0 00 036576 E32100: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 1640 031412 200 02 0 00 036577 MOVE AC+1,[XWD -1,-2] ;INITIALIZE AC+1 + 1641 031413 244 01 0 00 000001 ASHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1642 031414 312 01 0 00 036576 CAME AC,[XWD -1,-1] ;IS RESULT IN AC CORRECT? + 1643 031415 003 01 0 00 032101 ER3 AC,32101 ;RESULT IN AC IS INCORRECT + 1644 031416 312 02 0 00 036603 CAME AC+1,[XWD -1,-4] ;IS RESULT IN AC+1 CORRECT? + 1645 031417 004 02 0 00 032101 ER4 AC+1,32101 ;RESULT IN AC+1 IS INCORRECT + 1646 031420 321 03 0 00 031411 JUMPL AC+2,E32100 ;LOOP ON ERROR SWITCH^ + 1647 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 8-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0053 + + 1648 ;SHIFT CONNECTIONS TEST + 1649 ;TEST MQ1 SHLT INP-ONE'S - ASHC AC,1 + 1650 ;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + 1651 SR2 (322,0,0,100000,0,0,0,200000,0,ASHC,1)^ + 1652 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1653 ;DATA SPECIFIED IN [XWD 0,0] AND [XWD 100000,0] 1 BIT POSITIONS AND + 1654 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 1655 ;[XWD 200000,0] + 1656 + 1657 031421 200 01 0 00 036600 E32200: MOVE AC,[XWD 0,0] ;INITIALIZE AC + 1658 031422 200 02 0 00 036604 MOVE AC+1,[XWD 100000,0] ;INITIALIZE AC+1 + 1659 031423 244 01 0 00 000001 ASHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1660 031424 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 1661 031425 003 01 0 00 032201 ER3 AC,32201 ;RESULT IN AC IS INCORRECT + 1662 031426 312 02 0 00 036605 CAME AC+1,[XWD 200000,0] ;IS RESULT IN AC+1 CORRECT? + 1663 031427 004 02 0 00 032201 ER4 AC+1,32201 ;RESULT IN AC+1 IS INCORRECT + 1664 031430 321 03 0 00 031421 JUMPL AC+2,E32200 ;LOOP ON ERROR SWITCH^ + 1665 + 1666 ;SHIFT CONNECTIONS TEST + 1667 ;TEST MQ1 SHLT INP-ZERO'S - ASHC AC,1 + 1668 ;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + 1669 SR2 (323,-1,-1,677777,-1,-1,-1,577777,-2,ASHC,1)^ + 1670 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1671 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD 677777,-1] 1 BIT POSITIONS AND + 1672 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-1] AND + 1673 ;[XWD 577777,-2] + 1674 + 1675 031431 200 01 0 00 036576 E32300: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 1676 031432 200 02 0 00 036606 MOVE AC+1,[XWD 677777,-1] ;INITIALIZE AC+1 + 1677 031433 244 01 0 00 000001 ASHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1678 031434 312 01 0 00 036576 CAME AC,[XWD -1,-1] ;IS RESULT IN AC CORRECT? + 1679 031435 003 01 0 00 032301 ER3 AC,32301 ;RESULT IN AC IS INCORRECT + 1680 031436 312 02 0 00 036607 CAME AC+1,[XWD 577777,-2] ;IS RESULT IN AC+1 CORRECT? + 1681 031437 004 02 0 00 032301 ER4 AC+1,32301 ;RESULT IN AC+1 IS INCORRECT + 1682 031440 321 03 0 00 031431 JUMPL AC+2,E32300 ;LOOP ON ERROR SWITCH^ + 1683 + 1684 ;SHIFT CONNECTIONS TEST + 1685 ;TEST MQ0 SHLT INP-ONE'S - ASHC AC,1 + 1686 ;RESULT IN MQ0 SHOULD AGREE WITH INITIAL AR0 + 1687 ;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + 1688 SR2 (324,400000,0,0,0,400000,0,400000,0,ASHC,1)^ + 1689 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1690 ;DATA SPECIFIED IN [XWD 400000,0] AND [XWD 0,0] 1 BIT POSITIONS AND + 1691 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 400000,0] AND + 1692 ;[XWD 400000,0] + 1693 + 1694 031441 200 01 0 00 036610 E32400: MOVE AC,[XWD 400000,0] ;INITIALIZE AC + 1695 031442 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 1696 031443 244 01 0 00 000001 ASHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1697 031444 312 01 0 00 036610 CAME AC,[XWD 400000,0] ;IS RESULT IN AC CORRECT? + 1698 031445 003 01 0 00 032401 ER3 AC,32401 ;RESULT IN AC IS INCORRECT + 1699 031446 312 02 0 00 036610 CAME AC+1,[XWD 400000,0] ;IS RESULT IN AC+1 CORRECT? + 1700 031447 004 02 0 00 032401 ER4 AC+1,32401 ;RESULT IN AC+1 IS INCORRECT + 1701 031450 321 03 0 00 031441 JUMPL AC+2,E32400 ;LOOP ON ERROR SWITCH^ + 1702 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 8-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0054 + + 1703 ;SHIFT CONNECTIONS TEST + 1704 ;TEST MQ0 SHLT INP-ZERO'S - ASHC AC,1 + 1705 ;RESULT IN MQ0 SHOULD AGREE WITH INITIAL AR0 + 1706 ;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + 1707 SR2 (325,377777,-1,-1,-1,377777,-1,377777,-2,ASHC,1)^ + 1708 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1709 ;DATA SPECIFIED IN [XWD 377777,-1] AND [XWD -1,-1] 1 BIT POSITIONS AND + 1710 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 377777,-1] AND + 1711 ;[XWD 377777,-2] + 1712 + 1713 031451 200 01 0 00 036613 E32500: MOVE AC,[XWD 377777,-1] ;INITIALIZE AC + 1714 031452 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1715 031453 244 01 0 00 000001 ASHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1716 031454 312 01 0 00 036613 CAME AC,[XWD 377777,-1] ;IS RESULT IN AC CORRECT? + 1717 031455 003 01 0 00 032501 ER3 AC,32501 ;RESULT IN AC IS INCORRECT + 1718 031456 312 02 0 00 036612 CAME AC+1,[XWD 377777,-2] ;IS RESULT IN AC+1 CORRECT? + 1719 031457 004 02 0 00 032501 ER4 AC+1,32501 ;RESULT IN AC+1 IS INCORRECT + 1720 031460 321 03 0 00 031451 JUMPL AC+2,E32500 ;LOOP ON ERROR SWITCH^ + 1721 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 9 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0055 + + 1722 ;SHIFT CONNECTIONS TEST + 1723 ;TEST AR35 SHLT INP-ONE'S - ASHC AC,1 + 1724 ;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + 1725 SR2 (326,0,0,200000,0,0,1,0,0,ASHC,1)^ + 1726 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1727 ;DATA SPECIFIED IN [XWD 0,0] AND [XWD 200000,0] 1 BIT POSITIONS AND + 1728 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,1] AND + 1729 ;[XWD 0,0] + 1730 + 1731 031461 200 01 0 00 036600 E32600: MOVE AC,[XWD 0,0] ;INITIALIZE AC + 1732 031462 200 02 0 00 036605 MOVE AC+1,[XWD 200000,0] ;INITIALIZE AC+1 + 1733 031463 244 01 0 00 000001 ASHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1734 031464 312 01 0 00 036601 CAME AC,[XWD 0,1] ;IS RESULT IN AC CORRECT? + 1735 031465 003 01 0 00 032601 ER3 AC,32601 ;RESULT IN AC IS INCORRECT + 1736 031466 312 02 0 00 036600 CAME AC+1,[XWD 0,0] ;IS RESULT IN AC+1 CORRECT? + 1737 031467 004 02 0 00 032601 ER4 AC+1,32601 ;RESULT IN AC+1 IS INCORRECT + 1738 031470 321 03 0 00 031461 JUMPL AC+2,E32600 ;LOOP ON ERROR SWITCH^ + 1739 + 1740 ;SHIFT CONNECTIONS TEST + 1741 ;TEST AR35 SHLT INP-ZERO'S - ASHC AC,1 + 1742 ;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + 1743 SR2 (327,-1,-1,577777,-1,-1,-2,-1,-2,ASHC,1)^ + 1744 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1745 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD 577777,-1] 1 BIT POSITIONS AND + 1746 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-2] AND + 1747 ;[XWD -1,-2] + 1748 + 1749 031471 200 01 0 00 036576 E32700: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 1750 031472 200 02 0 00 036611 MOVE AC+1,[XWD 577777,-1] ;INITIALIZE AC+1 + 1751 031473 244 01 0 00 000001 ASHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1752 031474 312 01 0 00 036577 CAME AC,[XWD -1,-2] ;IS RESULT IN AC CORRECT? + 1753 031475 003 01 0 00 032701 ER3 AC,32701 ;RESULT IN AC IS INCORRECT + 1754 031476 312 02 0 00 036577 CAME AC+1,[XWD -1,-2] ;IS RESULT IN AC+1 CORRECT? + 1755 031477 004 02 0 00 032701 ER4 AC+1,32701 ;RESULT IN AC+1 IS INCORRECT + 1756 031500 321 03 0 00 031471 JUMPL AC+2,E32700 ;LOOP ON ERROR SWITCH^ + 1757 + 1758 ;SHIFT CONNECTIONS TEST + 1759 ;TEST AR34 SHLT INP-ONE'S - ASHC AC,1 + 1760 ;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + 1761 SR2 (330,0,1,0,0,0,2,0,0,ASHC,1)^ + 1762 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1763 ;DATA SPECIFIED IN [XWD 0,1] AND [XWD 0,0] 1 BIT POSITIONS AND + 1764 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,2] AND + 1765 ;[XWD 0,0] + 1766 + 1767 031501 200 01 0 00 036601 E33000: MOVE AC,[XWD 0,1] ;INITIALIZE AC + 1768 031502 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 1769 031503 244 01 0 00 000001 ASHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1770 031504 312 01 0 00 036602 CAME AC,[XWD 0,2] ;IS RESULT IN AC CORRECT? + 1771 031505 003 01 0 00 033001 ER3 AC,33001 ;RESULT IN AC IS INCORRECT + 1772 031506 312 02 0 00 036600 CAME AC+1,[XWD 0,0] ;IS RESULT IN AC+1 CORRECT? + 1773 031507 004 02 0 00 033001 ER4 AC+1,33001 ;RESULT IN AC+1 IS INCORRECT + 1774 031510 321 03 0 00 031501 JUMPL AC+2,E33000 ;LOOP ON ERROR SWITCH^ + 1775 + 1776 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 9-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0056 + + 1777 ;TEST AR34 SHLT INP-ZERO'S - ASHC AC,1 + 1778 ;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + 1779 SR2 (331,-1,-2,-1,-1,-1,-3,-1,-2,ASHC,1)^ + 1780 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1781 ;DATA SPECIFIED IN [XWD -1,-2] AND [XWD -1,-1] 1 BIT POSITIONS AND + 1782 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-3] AND + 1783 ;[XWD -1,-2] + 1784 + 1785 031511 200 01 0 00 036577 E33100: MOVE AC,[XWD -1,-2] ;INITIALIZE AC + 1786 031512 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1787 031513 244 01 0 00 000001 ASHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1788 031514 312 01 0 00 036614 CAME AC,[XWD -1,-3] ;IS RESULT IN AC CORRECT? + 1789 031515 003 01 0 00 033101 ER3 AC,33101 ;RESULT IN AC IS INCORRECT + 1790 031516 312 02 0 00 036577 CAME AC+1,[XWD -1,-2] ;IS RESULT IN AC+1 CORRECT? + 1791 031517 004 02 0 00 033101 ER4 AC+1,33101 ;RESULT IN AC+1 IS INCORRECT + 1792 031520 321 03 0 00 031511 JUMPL AC+2,E33100 ;LOOP ON ERROR SWITCH^ + 1793 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 9-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0057 + + 1794 ;SHIFT CONNECTIONS TEST + 1795 ;TEST AR1 SHLT INP-ONE'S - ASHC AC,1 + 1796 ;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + 1797 SR2 (332,100000,0,0,0,200000,0,0,0,ASHC,1)^ + 1798 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1799 ;DATA SPECIFIED IN [XWD 100000,0] AND [XWD 0,0] 1 BIT POSITIONS AND + 1800 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 200000,0] AND + 1801 ;[XWD 0,0] + 1802 + 1803 031521 200 01 0 00 036604 E33200: MOVE AC,[XWD 100000,0] ;INITIALIZE AC + 1804 031522 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 1805 031523 244 01 0 00 000001 ASHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1806 031524 312 01 0 00 036605 CAME AC,[XWD 200000,0] ;IS RESULT IN AC CORRECT? + 1807 031525 003 01 0 00 033201 ER3 AC,33201 ;RESULT IN AC IS INCORRECT + 1808 031526 312 02 0 00 036600 CAME AC+1,[XWD 0,0] ;IS RESULT IN AC+1 CORRECT? + 1809 031527 004 02 0 00 033201 ER4 AC+1,33201 ;RESULT IN AC+1 IS INCORRECT + 1810 031530 321 03 0 00 031521 JUMPL AC+2,E33200 ;LOOP ON ERROR SWITCH^ + 1811 + 1812 ;SHIFT CONNECTIONS TEST + 1813 ;TEST AR1 SHLT INP-ZERO'S - ASHC AC,1 + 1814 ;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + 1815 SR2 (333,677777,-1,-1,-1,577777,-1,-1,-2,ASHC,1)^ + 1816 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1817 ;DATA SPECIFIED IN [XWD 677777,-1] AND [XWD -1,-1] 1 BIT POSITIONS AND + 1818 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 577777,-1] AND + 1819 ;[XWD -1,-2] + 1820 + 1821 031531 200 01 0 00 036606 E33300: MOVE AC,[XWD 677777,-1] ;INITIALIZE AC + 1822 031532 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1823 031533 244 01 0 00 000001 ASHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1824 031534 312 01 0 00 036611 CAME AC,[XWD 577777,-1] ;IS RESULT IN AC CORRECT? + 1825 031535 003 01 0 00 033301 ER3 AC,33301 ;RESULT IN AC IS INCORRECT + 1826 031536 312 02 0 00 036577 CAME AC+1,[XWD -1,-2] ;IS RESULT IN AC+1 CORRECT? + 1827 031537 004 02 0 00 033301 ER4 AC+1,33301 ;RESULT IN AC+1 IS INCORRECT + 1828 031540 321 03 0 00 031531 JUMPL AC+2,E33300 ;LOOP ON ERROR SWITCH^ + 1829 + 1830 ;SHIFT CONNECTIONS TEST + 1831 ;TEST AR0 SHLT INP-ONE'S - ASHC AC,1 + 1832 ;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + 1833 SR2 (334,400000,0,400000,0,400000,0,400000,0,ASHC,1)^ + 1834 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1835 ;DATA SPECIFIED IN [XWD 400000,0] AND [XWD 400000,0] 1 BIT POSITIONS AND + 1836 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 400000,0] AND + 1837 ;[XWD 400000,0] + 1838 + 1839 031541 200 01 0 00 036610 E33400: MOVE AC,[XWD 400000,0] ;INITIALIZE AC + 1840 031542 200 02 0 00 036610 MOVE AC+1,[XWD 400000,0] ;INITIALIZE AC+1 + 1841 031543 244 01 0 00 000001 ASHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1842 031544 312 01 0 00 036610 CAME AC,[XWD 400000,0] ;IS RESULT IN AC CORRECT? + 1843 031545 003 01 0 00 033401 ER3 AC,33401 ;RESULT IN AC IS INCORRECT + 1844 031546 312 02 0 00 036610 CAME AC+1,[XWD 400000,0] ;IS RESULT IN AC+1 CORRECT? + 1845 031547 004 02 0 00 033401 ER4 AC+1,33401 ;RESULT IN AC+1 IS INCORRECT + 1846 031550 321 03 0 00 031541 JUMPL AC+2,E33400 ;LOOP ON ERROR SWITCH^ + 1847 + 1848 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 9-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0058 + + 1849 ;TEST AR0 SHLT INP-ZERO'S - ASHC AC,1 + 1850 ;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + 1851 SR2 (335,377777,-1,377777,-1,377777,-1,377777,-2,ASHC,1)^ + 1852 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1853 ;DATA SPECIFIED IN [XWD 377777,-1] AND [XWD 377777,-1] 1 BIT POSITIONS AND + 1854 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 377777,-1] AND + 1855 ;[XWD 377777,-2] + 1856 + 1857 031551 200 01 0 00 036613 E33500: MOVE AC,[XWD 377777,-1] ;INITIALIZE AC + 1858 031552 200 02 0 00 036613 MOVE AC+1,[XWD 377777,-1] ;INITIALIZE AC+1 + 1859 031553 244 01 0 00 000001 ASHC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 1860 031554 312 01 0 00 036613 CAME AC,[XWD 377777,-1] ;IS RESULT IN AC CORRECT? + 1861 031555 003 01 0 00 033501 ER3 AC,33501 ;RESULT IN AC IS INCORRECT + 1862 031556 312 02 0 00 036612 CAME AC+1,[XWD 377777,-2] ;IS RESULT IN AC+1 CORRECT? + 1863 031557 004 02 0 00 033501 ER4 AC+1,33501 ;RESULT IN AC+1 IS INCORRECT + 1864 031560 321 03 0 00 031551 JUMPL AC+2,E33500 ;LOOP ON ERROR SWITCH^ + 1865 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 10 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0059 + + 1866 ;SHIFT CONNECTIONS TEST + 1867 ;TEST AR0 SHRT INP-ONE'S - ASHC AC,-1 + 1868 ;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + 1869 SR2 (336,400000,0,400000,0,600000,0,400000,0,ASHC,-1)^ + 1870 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1871 ;DATA SPECIFIED IN [XWD 400000,0] AND [XWD 400000,0] -1 BIT POSITIONS AND + 1872 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 600000,0] AND + 1873 ;[XWD 400000,0] + 1874 + 1875 031561 200 01 0 00 036610 E33600: MOVE AC,[XWD 400000,0] ;INITIALIZE AC + 1876 031562 200 02 0 00 036610 MOVE AC+1,[XWD 400000,0] ;INITIALIZE AC+1 + 1877 031563 244 01 0 00 777777 ASHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1878 031564 312 01 0 00 036625 CAME AC,[XWD 600000,0] ;IS RESULT IN AC CORRECT? + 1879 031565 003 01 0 00 033601 ER3 AC,33601 ;RESULT IN AC IS INCORRECT + 1880 031566 312 02 0 00 036610 CAME AC+1,[XWD 400000,0] ;IS RESULT IN AC+1 CORRECT? + 1881 031567 004 02 0 00 033601 ER4 AC+1,33601 ;RESULT IN AC+1 IS INCORRECT + 1882 031570 321 03 0 00 031561 JUMPL AC+2,E33600 ;LOOP ON ERROR SWITCH^ + 1883 + 1884 ;SHIFT CONNECTIONS TEST + 1885 ;TEST AR0 SHRT INP-ZERO'S - ASHC AC,-1 + 1886 ;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + 1887 SR2 (337,377777,-1,377777,-1,177777,-1,377777,-1,ASHC,-1)^ + 1888 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1889 ;DATA SPECIFIED IN [XWD 377777,-1] AND [XWD 377777,-1] -1 BIT POSITIONS AND + 1890 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 177777,-1] AND + 1891 ;[XWD 377777,-1] + 1892 + 1893 031571 200 01 0 00 036613 E33700: MOVE AC,[XWD 377777,-1] ;INITIALIZE AC + 1894 031572 200 02 0 00 036613 MOVE AC+1,[XWD 377777,-1] ;INITIALIZE AC+1 + 1895 031573 244 01 0 00 777777 ASHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1896 031574 312 01 0 00 036615 CAME AC,[XWD 177777,-1] ;IS RESULT IN AC CORRECT? + 1897 031575 003 01 0 00 033701 ER3 AC,33701 ;RESULT IN AC IS INCORRECT + 1898 031576 312 02 0 00 036613 CAME AC+1,[XWD 377777,-1] ;IS RESULT IN AC+1 CORRECT? + 1899 031577 004 02 0 00 033701 ER4 AC+1,33701 ;RESULT IN AC+1 IS INCORRECT + 1900 031600 321 03 0 00 031571 JUMPL AC+2,E33700 ;LOOP ON ERROR SWITCH^ + 1901 + 1902 ;SHIFT CONNECTIONS TEST + 1903 ;TEST AR1 SHRT INP-ONE'S - ASHC AC,-1 + 1904 ;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + 1905 SR2 (340,400000,0,400000,0,600000,0,400000,0,ASHC,-1)^ + 1906 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1907 ;DATA SPECIFIED IN [XWD 400000,0] AND [XWD 400000,0] -1 BIT POSITIONS AND + 1908 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 600000,0] AND + 1909 ;[XWD 400000,0] + 1910 + 1911 031601 200 01 0 00 036610 E34000: MOVE AC,[XWD 400000,0] ;INITIALIZE AC + 1912 031602 200 02 0 00 036610 MOVE AC+1,[XWD 400000,0] ;INITIALIZE AC+1 + 1913 031603 244 01 0 00 777777 ASHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1914 031604 312 01 0 00 036625 CAME AC,[XWD 600000,0] ;IS RESULT IN AC CORRECT? + 1915 031605 003 01 0 00 034001 ER3 AC,34001 ;RESULT IN AC IS INCORRECT + 1916 031606 312 02 0 00 036610 CAME AC+1,[XWD 400000,0] ;IS RESULT IN AC+1 CORRECT? + 1917 031607 004 02 0 00 034001 ER4 AC+1,34001 ;RESULT IN AC+1 IS INCORRECT + 1918 031610 321 03 0 00 031601 JUMPL AC+2,E34000 ;LOOP ON ERROR SWITCH^ + 1919 + 1920 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 10-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0060 + + 1921 ;TEST AR1 SHRT INP-ZERO'S - ASHC AC,-1 + 1922 ;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + 1923 SR2 (341,377777,-1,377777,-1,177777,-1,377777,-1,ASHC,-1)^ + 1924 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1925 ;DATA SPECIFIED IN [XWD 377777,-1] AND [XWD 377777,-1] -1 BIT POSITIONS AND + 1926 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 177777,-1] AND + 1927 ;[XWD 377777,-1] + 1928 + 1929 031611 200 01 0 00 036613 E34100: MOVE AC,[XWD 377777,-1] ;INITIALIZE AC + 1930 031612 200 02 0 00 036613 MOVE AC+1,[XWD 377777,-1] ;INITIALIZE AC+1 + 1931 031613 244 01 0 00 777777 ASHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1932 031614 312 01 0 00 036615 CAME AC,[XWD 177777,-1] ;IS RESULT IN AC CORRECT? + 1933 031615 003 01 0 00 034101 ER3 AC,34101 ;RESULT IN AC IS INCORRECT + 1934 031616 312 02 0 00 036613 CAME AC+1,[XWD 377777,-1] ;IS RESULT IN AC+1 CORRECT? + 1935 031617 004 02 0 00 034101 ER4 AC+1,34101 ;RESULT IN AC+1 IS INCORRECT + 1936 031620 321 03 0 00 031611 JUMPL AC+2,E34100 ;LOOP ON ERROR SWITCH^ + 1937 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 10-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0061 + + 1938 ;SHIFT CONNECTIONS TEST + 1939 ;TEST AR34 SHRT INP-ONE'S - ASHC AC,-1 + 1940 ;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + 1941 SR2 (342,0,4,0,0,0,2,0,0,ASHC,-1)^ + 1942 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1943 ;DATA SPECIFIED IN [XWD 0,4] AND [XWD 0,0] -1 BIT POSITIONS AND + 1944 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,2] AND + 1945 ;[XWD 0,0] + 1946 + 1947 031621 200 01 0 00 036616 E34200: MOVE AC,[XWD 0,4] ;INITIALIZE AC + 1948 031622 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 1949 031623 244 01 0 00 777777 ASHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1950 031624 312 01 0 00 036602 CAME AC,[XWD 0,2] ;IS RESULT IN AC CORRECT? + 1951 031625 003 01 0 00 034201 ER3 AC,34201 ;RESULT IN AC IS INCORRECT + 1952 031626 312 02 0 00 036600 CAME AC+1,[XWD 0,0] ;IS RESULT IN AC+1 CORRECT? + 1953 031627 004 02 0 00 034201 ER4 AC+1,34201 ;RESULT IN AC+1 IS INCORRECT + 1954 031630 321 03 0 00 031621 JUMPL AC+2,E34200 ;LOOP ON ERROR SWITCH^ + 1955 + 1956 ;SHIFT CONNECTIONS TEST + 1957 ;TEST AR34 SHRT INP-ZERO'S - ASHC AC,-1 + 1958 ;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + 1959 SR2 (343,-1,-5,-1,-1,-1,-3,-1,-1,ASHC,-1)^ + 1960 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1961 ;DATA SPECIFIED IN [XWD -1,-5] AND [XWD -1,-1] -1 BIT POSITIONS AND + 1962 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-3] AND + 1963 ;[XWD -1,-1] + 1964 + 1965 031631 200 01 0 00 036617 E34300: MOVE AC,[XWD -1,-5] ;INITIALIZE AC + 1966 031632 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 1967 031633 244 01 0 00 777777 ASHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1968 031634 312 01 0 00 036614 CAME AC,[XWD -1,-3] ;IS RESULT IN AC CORRECT? + 1969 031635 003 01 0 00 034301 ER3 AC,34301 ;RESULT IN AC IS INCORRECT + 1970 031636 312 02 0 00 036576 CAME AC+1,[XWD -1,-1] ;IS RESULT IN AC+1 CORRECT? + 1971 031637 004 02 0 00 034301 ER4 AC+1,34301 ;RESULT IN AC+1 IS INCORRECT + 1972 031640 321 03 0 00 031631 JUMPL AC+2,E34300 ;LOOP ON ERROR SWITCH^ + 1973 + 1974 ;SHIFT CONNECTIONS TEST + 1975 ;TEST AR35 SHRT INP-ONE'S - ASHC AC,-1 + 1976 ;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + 1977 SR2 (344,0,2,0,0,0,1,0,0,ASHC,-1)^ + 1978 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1979 ;DATA SPECIFIED IN [XWD 0,2] AND [XWD 0,0] -1 BIT POSITIONS AND + 1980 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,1] AND + 1981 ;[XWD 0,0] + 1982 + 1983 031641 200 01 0 00 036602 E34400: MOVE AC,[XWD 0,2] ;INITIALIZE AC + 1984 031642 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 1985 031643 244 01 0 00 777777 ASHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 1986 031644 312 01 0 00 036601 CAME AC,[XWD 0,1] ;IS RESULT IN AC CORRECT? + 1987 031645 003 01 0 00 034401 ER3 AC,34401 ;RESULT IN AC IS INCORRECT + 1988 031646 312 02 0 00 036600 CAME AC+1,[XWD 0,0] ;IS RESULT IN AC+1 CORRECT? + 1989 031647 004 02 0 00 034401 ER4 AC+1,34401 ;RESULT IN AC+1 IS INCORRECT + 1990 031650 321 03 0 00 031641 JUMPL AC+2,E34400 ;LOOP ON ERROR SWITCH^ + 1991 + 1992 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 10-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0062 + + 1993 ;TEST AR35 SHRT INP-ZERO'S - ASHC AC,-1 + 1994 ;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + 1995 SR2 (345,-1,-3,-1,-1,-1,-2,-1,-1,ASHC,-1)^ + 1996 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 1997 ;DATA SPECIFIED IN [XWD -1,-3] AND [XWD -1,-1] -1 BIT POSITIONS AND + 1998 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-2] AND + 1999 ;[XWD -1,-1] + 2000 + 2001 031651 200 01 0 00 036614 E34500: MOVE AC,[XWD -1,-3] ;INITIALIZE AC + 2002 031652 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 2003 031653 244 01 0 00 777777 ASHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 2004 031654 312 01 0 00 036577 CAME AC,[XWD -1,-2] ;IS RESULT IN AC CORRECT? + 2005 031655 003 01 0 00 034501 ER3 AC,34501 ;RESULT IN AC IS INCORRECT + 2006 031656 312 02 0 00 036576 CAME AC+1,[XWD -1,-1] ;IS RESULT IN AC+1 CORRECT? + 2007 031657 004 02 0 00 034501 ER4 AC+1,34501 ;RESULT IN AC+1 IS INCORRECT + 2008 031660 321 03 0 00 031651 JUMPL AC+2,E34500 ;LOOP ON ERROR SWITCH^ + 2009 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 11 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0063 + + 2010 ;SHIFT CONNECTIONS TEST + 2011 ;TEST MQ0 SHRT INP-ONE'S - ASHC AC,-1 + 2012 ;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + 2013 SR2 (346,400000,0,0,0,600000,0,400000,0,ASHC,-1)^ + 2014 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2015 ;DATA SPECIFIED IN [XWD 400000,0] AND [XWD 0,0] -1 BIT POSITIONS AND + 2016 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 600000,0] AND + 2017 ;[XWD 400000,0] + 2018 + 2019 031661 200 01 0 00 036610 E34600: MOVE AC,[XWD 400000,0] ;INITIALIZE AC + 2020 031662 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 2021 031663 244 01 0 00 777777 ASHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 2022 031664 312 01 0 00 036625 CAME AC,[XWD 600000,0] ;IS RESULT IN AC CORRECT? + 2023 031665 003 01 0 00 034601 ER3 AC,34601 ;RESULT IN AC IS INCORRECT + 2024 031666 312 02 0 00 036610 CAME AC+1,[XWD 400000,0] ;IS RESULT IN AC+1 CORRECT? + 2025 031667 004 02 0 00 034601 ER4 AC+1,34601 ;RESULT IN AC+1 IS INCORRECT + 2026 031670 321 03 0 00 031661 JUMPL AC+2,E34600 ;LOOP ON ERROR SWITCH^ + 2027 + 2028 ;SHIFT CONNECTIONS TEST + 2029 ;TEST MQ0 SHRT INP-ZERO'S - ASHC AC,-1 + 2030 ;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + 2031 SR2 (347,377777,-1,-1,-1,177777,-1,377777,-1,ASHC,-1)^ + 2032 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2033 ;DATA SPECIFIED IN [XWD 377777,-1] AND [XWD -1,-1] -1 BIT POSITIONS AND + 2034 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 177777,-1] AND + 2035 ;[XWD 377777,-1] + 2036 + 2037 031671 200 01 0 00 036613 E34700: MOVE AC,[XWD 377777,-1] ;INITIALIZE AC + 2038 031672 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 2039 031673 244 01 0 00 777777 ASHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 2040 031674 312 01 0 00 036615 CAME AC,[XWD 177777,-1] ;IS RESULT IN AC CORRECT? + 2041 031675 003 01 0 00 034701 ER3 AC,34701 ;RESULT IN AC IS INCORRECT + 2042 031676 312 02 0 00 036613 CAME AC+1,[XWD 377777,-1] ;IS RESULT IN AC+1 CORRECT? + 2043 031677 004 02 0 00 034701 ER4 AC+1,34701 ;RESULT IN AC+1 IS INCORRECT + 2044 031700 321 03 0 00 031671 JUMPL AC+2,E34700 ;LOOP ON ERROR SWITCH^ + 2045 + 2046 ;SHIFT CONNECTIONS TEST + 2047 ;TEST MQ1 SHRT INP-ONE'S - ASHC AC,-1 + 2048 ;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + 2049 SR2 (350,0,1,0,0,0,0,200000,0,ASHC,-1)^ + 2050 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2051 ;DATA SPECIFIED IN [XWD 0,1] AND [XWD 0,0] -1 BIT POSITIONS AND + 2052 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 2053 ;[XWD 200000,0] + 2054 + 2055 031701 200 01 0 00 036601 E35000: MOVE AC,[XWD 0,1] ;INITIALIZE AC + 2056 031702 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 2057 031703 244 01 0 00 777777 ASHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 2058 031704 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 2059 031705 003 01 0 00 035001 ER3 AC,35001 ;RESULT IN AC IS INCORRECT + 2060 031706 312 02 0 00 036605 CAME AC+1,[XWD 200000,0] ;IS RESULT IN AC+1 CORRECT? + 2061 031707 004 02 0 00 035001 ER4 AC+1,35001 ;RESULT IN AC+1 IS INCORRECT + 2062 031710 321 03 0 00 031701 JUMPL AC+2,E35000 ;LOOP ON ERROR SWITCH^ + 2063 + 2064 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 11-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0064 + + 2065 ;TEST MQ1 SHRT INP-ZERO'S - ASHC AC,-1 + 2066 ;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + 2067 SR2 (351,-1,-2,-1,-1,-1,-1,577777,-1,ASHC,-1)^ + 2068 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2069 ;DATA SPECIFIED IN [XWD -1,-2] AND [XWD -1,-1] -1 BIT POSITIONS AND + 2070 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-1] AND + 2071 ;[XWD 577777,-1] + 2072 + 2073 031711 200 01 0 00 036577 E35100: MOVE AC,[XWD -1,-2] ;INITIALIZE AC + 2074 031712 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 2075 031713 244 01 0 00 777777 ASHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 2076 031714 312 01 0 00 036576 CAME AC,[XWD -1,-1] ;IS RESULT IN AC CORRECT? + 2077 031715 003 01 0 00 035101 ER3 AC,35101 ;RESULT IN AC IS INCORRECT + 2078 031716 312 02 0 00 036611 CAME AC+1,[XWD 577777,-1] ;IS RESULT IN AC+1 CORRECT? + 2079 031717 004 02 0 00 035101 ER4 AC+1,35101 ;RESULT IN AC+1 IS INCORRECT + 2080 031720 321 03 0 00 031711 JUMPL AC+2,E35100 ;LOOP ON ERROR SWITCH^ + 2081 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 11-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0065 + + 2082 ;SHIFT CONNECTIONS TEST + 2083 ;TEST MQ34 SHRT INP-ONE'S - ASHC AC,-1 + 2084 ;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + 2085 SR2 (352,0,0,0,4,0,0,0,2,ASHC,-1)^ + 2086 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2087 ;DATA SPECIFIED IN [XWD 0,0] AND [XWD 0,4] -1 BIT POSITIONS AND + 2088 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 2089 ;[XWD 0,2] + 2090 + 2091 031721 200 01 0 00 036600 E35200: MOVE AC,[XWD 0,0] ;INITIALIZE AC + 2092 031722 200 02 0 00 036616 MOVE AC+1,[XWD 0,4] ;INITIALIZE AC+1 + 2093 031723 244 01 0 00 777777 ASHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 2094 031724 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 2095 031725 003 01 0 00 035201 ER3 AC,35201 ;RESULT IN AC IS INCORRECT + 2096 031726 312 02 0 00 036602 CAME AC+1,[XWD 0,2] ;IS RESULT IN AC+1 CORRECT? + 2097 031727 004 02 0 00 035201 ER4 AC+1,35201 ;RESULT IN AC+1 IS INCORRECT + 2098 031730 321 03 0 00 031721 JUMPL AC+2,E35200 ;LOOP ON ERROR SWITCH^ + 2099 + 2100 ;SHIFT CONNECTIONS TEST + 2101 ;TEST MQ34 SHRT INP-ZERO'S - ASHC AC,-1 + 2102 ;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + 2103 SR2 (353,-1,-1,-1,-5,-1,-1,-1,-3,ASHC,-1)^ + 2104 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2105 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD -1,-5] -1 BIT POSITIONS AND + 2106 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-1] AND + 2107 ;[XWD -1,-3] + 2108 + 2109 031731 200 01 0 00 036576 E35300: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 2110 031732 200 02 0 00 036617 MOVE AC+1,[XWD -1,-5] ;INITIALIZE AC+1 + 2111 031733 244 01 0 00 777777 ASHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 2112 031734 312 01 0 00 036576 CAME AC,[XWD -1,-1] ;IS RESULT IN AC CORRECT? + 2113 031735 003 01 0 00 035301 ER3 AC,35301 ;RESULT IN AC IS INCORRECT + 2114 031736 312 02 0 00 036614 CAME AC+1,[XWD -1,-3] ;IS RESULT IN AC+1 CORRECT? + 2115 031737 004 02 0 00 035301 ER4 AC+1,35301 ;RESULT IN AC+1 IS INCORRECT + 2116 031740 321 03 0 00 031731 JUMPL AC+2,E35300 ;LOOP ON ERROR SWITCH^ + 2117 + 2118 ;SHIFT CONNECTIONS TEST + 2119 ;TEST MQ35 SHRT INP-ONE'S - ASHC AC,-1 + 2120 ;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + 2121 SR2 (354,0,0,0,2,0,0,0,1,ASHC,-1)^ + 2122 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2123 ;DATA SPECIFIED IN [XWD 0,0] AND [XWD 0,2] -1 BIT POSITIONS AND + 2124 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 2125 ;[XWD 0,1] + 2126 + 2127 031741 200 01 0 00 036600 E35400: MOVE AC,[XWD 0,0] ;INITIALIZE AC + 2128 031742 200 02 0 00 036602 MOVE AC+1,[XWD 0,2] ;INITIALIZE AC+1 + 2129 031743 244 01 0 00 777777 ASHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 2130 031744 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 2131 031745 003 01 0 00 035401 ER3 AC,35401 ;RESULT IN AC IS INCORRECT + 2132 031746 312 02 0 00 036601 CAME AC+1,[XWD 0,1] ;IS RESULT IN AC+1 CORRECT? + 2133 031747 004 02 0 00 035401 ER4 AC+1,35401 ;RESULT IN AC+1 IS INCORRECT + 2134 031750 321 03 0 00 031741 JUMPL AC+2,E35400 ;LOOP ON ERROR SWITCH^ + 2135 + 2136 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 11-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0066 + + 2137 ;TEST MQ35 SHRT INP-ZERO'S - ASHC AC,-1 + 2138 ;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + 2139 SR2 (355,-1,-1,-1,-3,-1,-1,-1,-2,ASHC,-1)^ + 2140 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2141 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD -1,-3] -1 BIT POSITIONS AND + 2142 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-1] AND + 2143 ;[XWD -1,-2] + 2144 + 2145 031751 200 01 0 00 036576 E35500: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 2146 031752 200 02 0 00 036614 MOVE AC+1,[XWD -1,-3] ;INITIALIZE AC+1 + 2147 031753 244 01 0 00 777777 ASHC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 2148 031754 312 01 0 00 036576 CAME AC,[XWD -1,-1] ;IS RESULT IN AC CORRECT? + 2149 031755 003 01 0 00 035501 ER3 AC,35501 ;RESULT IN AC IS INCORRECT + 2150 031756 312 02 0 00 036577 CAME AC+1,[XWD -1,-2] ;IS RESULT IN AC+1 CORRECT? + 2151 031757 004 02 0 00 035501 ER4 AC+1,35501 ;RESULT IN AC+1 IS INCORRECT + 2152 031760 321 03 0 00 031751 JUMPL AC+2,E35500 ;LOOP ON ERROR SWITCH^ + 2153 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 12 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0067 + + 2154 ;SHIFT CONNECTIONS TEST + 2155 ;TEST AR0 SHRT INP-ONE'S - ASHC AC,-2 + 2156 ;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + 2157 SR2 (356,400000,0,400000,0,700000,0,400000,0,ASHC,-2)^ + 2158 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2159 ;DATA SPECIFIED IN [XWD 400000,0] AND [XWD 400000,0] -2 BIT POSITIONS AND + 2160 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 700000,0] AND + 2161 ;[XWD 400000,0] + 2162 + 2163 031761 200 01 0 00 036610 E35600: MOVE AC,[XWD 400000,0] ;INITIALIZE AC + 2164 031762 200 02 0 00 036610 MOVE AC+1,[XWD 400000,0] ;INITIALIZE AC+1 + 2165 031763 244 01 0 00 777776 ASHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2166 031764 312 01 0 00 036626 CAME AC,[XWD 700000,0] ;IS RESULT IN AC CORRECT? + 2167 031765 003 01 0 00 035601 ER3 AC,35601 ;RESULT IN AC IS INCORRECT + 2168 031766 312 02 0 00 036610 CAME AC+1,[XWD 400000,0] ;IS RESULT IN AC+1 CORRECT? + 2169 031767 004 02 0 00 035601 ER4 AC+1,35601 ;RESULT IN AC+1 IS INCORRECT + 2170 031770 321 03 0 00 031761 JUMPL AC+2,E35600 ;LOOP ON ERROR SWITCH^ + 2171 + 2172 ;SHIFT CONNECTIONS TEST + 2173 ;TEST AR0 SHRT INP-ZERO'S - ASHC AC,-2 + 2174 ;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + 2175 SR2 (357,377777,-1,377777,-1,077777,-1,377777,-1,ASHC,-2)^ + 2176 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2177 ;DATA SPECIFIED IN [XWD 377777,-1] AND [XWD 377777,-1] -2 BIT POSITIONS AND + 2178 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 077777,-1] AND + 2179 ;[XWD 377777,-1] + 2180 + 2181 031771 200 01 0 00 036613 E35700: MOVE AC,[XWD 377777,-1] ;INITIALIZE AC + 2182 031772 200 02 0 00 036613 MOVE AC+1,[XWD 377777,-1] ;INITIALIZE AC+1 + 2183 031773 244 01 0 00 777776 ASHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2184 031774 312 01 0 00 036627 CAME AC,[XWD 077777,-1] ;IS RESULT IN AC CORRECT? + 2185 031775 003 01 0 00 035701 ER3 AC,35701 ;RESULT IN AC IS INCORRECT + 2186 031776 312 02 0 00 036613 CAME AC+1,[XWD 377777,-1] ;IS RESULT IN AC+1 CORRECT? + 2187 031777 004 02 0 00 035701 ER4 AC+1,35701 ;RESULT IN AC+1 IS INCORRECT + 2188 032000 321 03 0 00 031771 JUMPL AC+2,E35700 ;LOOP ON ERROR SWITCH^ + 2189 + 2190 ;SHIFT CONNECTIONS TEST + 2191 ;TEST AR1 SHRT INP-ONE'S - ASHC AC,-2 + 2192 ;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + 2193 SR2 (360,400000,0,400000,0,700000,0,400000,0,ASHC,-2)^ + 2194 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2195 ;DATA SPECIFIED IN [XWD 400000,0] AND [XWD 400000,0] -2 BIT POSITIONS AND + 2196 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 700000,0] AND + 2197 ;[XWD 400000,0] + 2198 + 2199 032001 200 01 0 00 036610 E36000: MOVE AC,[XWD 400000,0] ;INITIALIZE AC + 2200 032002 200 02 0 00 036610 MOVE AC+1,[XWD 400000,0] ;INITIALIZE AC+1 + 2201 032003 244 01 0 00 777776 ASHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2202 032004 312 01 0 00 036626 CAME AC,[XWD 700000,0] ;IS RESULT IN AC CORRECT? + 2203 032005 003 01 0 00 036001 ER3 AC,36001 ;RESULT IN AC IS INCORRECT + 2204 032006 312 02 0 00 036610 CAME AC+1,[XWD 400000,0] ;IS RESULT IN AC+1 CORRECT? + 2205 032007 004 02 0 00 036001 ER4 AC+1,36001 ;RESULT IN AC+1 IS INCORRECT + 2206 032010 321 03 0 00 032001 JUMPL AC+2,E36000 ;LOOP ON ERROR SWITCH^ + 2207 + 2208 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 12-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0068 + + 2209 ;TEST AR1 SHRT INP-ZERO'S - ASHC AC,-2 + 2210 ;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + 2211 SR2 (361,377777,-1,377777,-1,077777,-1,377777,-1,ASHC,-2)^ + 2212 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2213 ;DATA SPECIFIED IN [XWD 377777,-1] AND [XWD 377777,-1] -2 BIT POSITIONS AND + 2214 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 077777,-1] AND + 2215 ;[XWD 377777,-1] + 2216 + 2217 032011 200 01 0 00 036613 E36100: MOVE AC,[XWD 377777,-1] ;INITIALIZE AC + 2218 032012 200 02 0 00 036613 MOVE AC+1,[XWD 377777,-1] ;INITIALIZE AC+1 + 2219 032013 244 01 0 00 777776 ASHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2220 032014 312 01 0 00 036627 CAME AC,[XWD 077777,-1] ;IS RESULT IN AC CORRECT? + 2221 032015 003 01 0 00 036101 ER3 AC,36101 ;RESULT IN AC IS INCORRECT + 2222 032016 312 02 0 00 036613 CAME AC+1,[XWD 377777,-1] ;IS RESULT IN AC+1 CORRECT? + 2223 032017 004 02 0 00 036101 ER4 AC+1,36101 ;RESULT IN AC+1 IS INCORRECT + 2224 032020 321 03 0 00 032011 JUMPL AC+2,E36100 ;LOOP ON ERROR SWITCH^ + 2225 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 12-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0069 + + 2226 ;SHIFT CONNECTIONS TEST + 2227 ;TEST AR34 SHRT INP-ONE'S - ASHC AC,-2 + 2228 ;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + 2229 SR2 (362,0,10,0,0,0,2,0,0,ASHC,-2)^ + 2230 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2231 ;DATA SPECIFIED IN [XWD 0,10] AND [XWD 0,0] -2 BIT POSITIONS AND + 2232 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,2] AND + 2233 ;[XWD 0,0] + 2234 + 2235 032021 200 01 0 00 036621 E36200: MOVE AC,[XWD 0,10] ;INITIALIZE AC + 2236 032022 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 2237 032023 244 01 0 00 777776 ASHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2238 032024 312 01 0 00 036602 CAME AC,[XWD 0,2] ;IS RESULT IN AC CORRECT? + 2239 032025 003 01 0 00 036201 ER3 AC,36201 ;RESULT IN AC IS INCORRECT + 2240 032026 312 02 0 00 036600 CAME AC+1,[XWD 0,0] ;IS RESULT IN AC+1 CORRECT? + 2241 032027 004 02 0 00 036201 ER4 AC+1,36201 ;RESULT IN AC+1 IS INCORRECT + 2242 032030 321 03 0 00 032021 JUMPL AC+2,E36200 ;LOOP ON ERROR SWITCH^ + 2243 + 2244 ;SHIFT CONNECTIONS TEST + 2245 ;TEST AR34 SHRT INP-ZERO'S - ASHC AC,-2 + 2246 ;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + 2247 SR2 (363,-1,-11,-1,-1,-1,-3,-1,-1,ASHC,-2)^ + 2248 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2249 ;DATA SPECIFIED IN [XWD -1,-11] AND [XWD -1,-1] -2 BIT POSITIONS AND + 2250 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-3] AND + 2251 ;[XWD -1,-1] + 2252 + 2253 032031 200 01 0 00 036622 E36300: MOVE AC,[XWD -1,-11] ;INITIALIZE AC + 2254 032032 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 2255 032033 244 01 0 00 777776 ASHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2256 032034 312 01 0 00 036614 CAME AC,[XWD -1,-3] ;IS RESULT IN AC CORRECT? + 2257 032035 003 01 0 00 036301 ER3 AC,36301 ;RESULT IN AC IS INCORRECT + 2258 032036 312 02 0 00 036576 CAME AC+1,[XWD -1,-1] ;IS RESULT IN AC+1 CORRECT? + 2259 032037 004 02 0 00 036301 ER4 AC+1,36301 ;RESULT IN AC+1 IS INCORRECT + 2260 032040 321 03 0 00 032031 JUMPL AC+2,E36300 ;LOOP ON ERROR SWITCH^ + 2261 + 2262 ;SHIFT CONNECTIONS TEST + 2263 ;TEST AR35 SHRT INP-ONE'S - ASHC AC,-2 + 2264 ;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + 2265 SR2 (364,0,4,0,0,0,1,0,0,ASHC,-2)^ + 2266 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2267 ;DATA SPECIFIED IN [XWD 0,4] AND [XWD 0,0] -2 BIT POSITIONS AND + 2268 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,1] AND + 2269 ;[XWD 0,0] + 2270 + 2271 032041 200 01 0 00 036616 E36400: MOVE AC,[XWD 0,4] ;INITIALIZE AC + 2272 032042 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 2273 032043 244 01 0 00 777776 ASHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2274 032044 312 01 0 00 036601 CAME AC,[XWD 0,1] ;IS RESULT IN AC CORRECT? + 2275 032045 003 01 0 00 036401 ER3 AC,36401 ;RESULT IN AC IS INCORRECT + 2276 032046 312 02 0 00 036600 CAME AC+1,[XWD 0,0] ;IS RESULT IN AC+1 CORRECT? + 2277 032047 004 02 0 00 036401 ER4 AC+1,36401 ;RESULT IN AC+1 IS INCORRECT + 2278 032050 321 03 0 00 032041 JUMPL AC+2,E36400 ;LOOP ON ERROR SWITCH^ + 2279 + 2280 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 12-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0070 + + 2281 ;TEST AR35 SHRT INP-ZERO'S - ASHC AC,-2 + 2282 ;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + 2283 SR2 (365,-1,-5,-1,-1,-1,-2,-1,-1,ASHC,-2)^ + 2284 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2285 ;DATA SPECIFIED IN [XWD -1,-5] AND [XWD -1,-1] -2 BIT POSITIONS AND + 2286 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-2] AND + 2287 ;[XWD -1,-1] + 2288 + 2289 032051 200 01 0 00 036617 E36500: MOVE AC,[XWD -1,-5] ;INITIALIZE AC + 2290 032052 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 2291 032053 244 01 0 00 777776 ASHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2292 032054 312 01 0 00 036577 CAME AC,[XWD -1,-2] ;IS RESULT IN AC CORRECT? + 2293 032055 003 01 0 00 036501 ER3 AC,36501 ;RESULT IN AC IS INCORRECT + 2294 032056 312 02 0 00 036576 CAME AC+1,[XWD -1,-1] ;IS RESULT IN AC+1 CORRECT? + 2295 032057 004 02 0 00 036501 ER4 AC+1,36501 ;RESULT IN AC+1 IS INCORRECT + 2296 032060 321 03 0 00 032051 JUMPL AC+2,E36500 ;LOOP ON ERROR SWITCH^ + 2297 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 13 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0071 + + 2298 ;SHIFT CONNECTIONS TEST + 2299 ;TEST MQ0 SHRT INP-ONE'S - ASHC AC,-2 + 2300 ;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + 2301 SR2 (366,400000,0,0,0,700000,0,400000,0,ASHC,-2)^ + 2302 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2303 ;DATA SPECIFIED IN [XWD 400000,0] AND [XWD 0,0] -2 BIT POSITIONS AND + 2304 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 700000,0] AND + 2305 ;[XWD 400000,0] + 2306 + 2307 032061 200 01 0 00 036610 E36600: MOVE AC,[XWD 400000,0] ;INITIALIZE AC + 2308 032062 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 2309 032063 244 01 0 00 777776 ASHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2310 032064 312 01 0 00 036626 CAME AC,[XWD 700000,0] ;IS RESULT IN AC CORRECT? + 2311 032065 003 01 0 00 036601 ER3 AC,36601 ;RESULT IN AC IS INCORRECT + 2312 032066 312 02 0 00 036610 CAME AC+1,[XWD 400000,0] ;IS RESULT IN AC+1 CORRECT? + 2313 032067 004 02 0 00 036601 ER4 AC+1,36601 ;RESULT IN AC+1 IS INCORRECT + 2314 032070 321 03 0 00 032061 JUMPL AC+2,E36600 ;LOOP ON ERROR SWITCH^ + 2315 + 2316 ;SHIFT CONNECTIONS TEST + 2317 ;TEST MQ0 SHRT INP-ZERO'S - ASHC AC,-2 + 2318 ;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + 2319 SR2 (367,377777,-1,-1,-1,077777,-1,377777,-1,ASHC,-2)^ + 2320 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2321 ;DATA SPECIFIED IN [XWD 377777,-1] AND [XWD -1,-1] -2 BIT POSITIONS AND + 2322 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 077777,-1] AND + 2323 ;[XWD 377777,-1] + 2324 + 2325 032071 200 01 0 00 036613 E36700: MOVE AC,[XWD 377777,-1] ;INITIALIZE AC + 2326 032072 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 2327 032073 244 01 0 00 777776 ASHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2328 032074 312 01 0 00 036627 CAME AC,[XWD 077777,-1] ;IS RESULT IN AC CORRECT? + 2329 032075 003 01 0 00 036701 ER3 AC,36701 ;RESULT IN AC IS INCORRECT + 2330 032076 312 02 0 00 036613 CAME AC+1,[XWD 377777,-1] ;IS RESULT IN AC+1 CORRECT? + 2331 032077 004 02 0 00 036701 ER4 AC+1,36701 ;RESULT IN AC+1 IS INCORRECT + 2332 032100 321 03 0 00 032071 JUMPL AC+2,E36700 ;LOOP ON ERROR SWITCH^ + 2333 + 2334 ;SHIFT CONNECTIONS TEST + 2335 ;TEST MQ1 SHRT INP-ONE'S - ASHC AC,-2 + 2336 ;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + 2337 SR2 (370,0,2,0,0,0,0,200000,0,ASHC,-2)^ + 2338 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2339 ;DATA SPECIFIED IN [XWD 0,2] AND [XWD 0,0] -2 BIT POSITIONS AND + 2340 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 2341 ;[XWD 200000,0] + 2342 + 2343 032101 200 01 0 00 036602 E37000: MOVE AC,[XWD 0,2] ;INITIALIZE AC + 2344 032102 200 02 0 00 036600 MOVE AC+1,[XWD 0,0] ;INITIALIZE AC+1 + 2345 032103 244 01 0 00 777776 ASHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2346 032104 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 2347 032105 003 01 0 00 037001 ER3 AC,37001 ;RESULT IN AC IS INCORRECT + 2348 032106 312 02 0 00 036605 CAME AC+1,[XWD 200000,0] ;IS RESULT IN AC+1 CORRECT? + 2349 032107 004 02 0 00 037001 ER4 AC+1,37001 ;RESULT IN AC+1 IS INCORRECT + 2350 032110 321 03 0 00 032101 JUMPL AC+2,E37000 ;LOOP ON ERROR SWITCH^ + 2351 + 2352 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 13-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0072 + + 2353 ;TEST MQ1 SHRT INP-ZERO'S - ASHC AC,-2 + 2354 ;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + 2355 SR2 (371,-1,-3,-1,-1,-1,-1,577777,-1,ASHC,-2)^ + 2356 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2357 ;DATA SPECIFIED IN [XWD -1,-3] AND [XWD -1,-1] -2 BIT POSITIONS AND + 2358 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-1] AND + 2359 ;[XWD 577777,-1] + 2360 + 2361 032111 200 01 0 00 036614 E37100: MOVE AC,[XWD -1,-3] ;INITIALIZE AC + 2362 032112 200 02 0 00 036576 MOVE AC+1,[XWD -1,-1] ;INITIALIZE AC+1 + 2363 032113 244 01 0 00 777776 ASHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2364 032114 312 01 0 00 036576 CAME AC,[XWD -1,-1] ;IS RESULT IN AC CORRECT? + 2365 032115 003 01 0 00 037101 ER3 AC,37101 ;RESULT IN AC IS INCORRECT + 2366 032116 312 02 0 00 036611 CAME AC+1,[XWD 577777,-1] ;IS RESULT IN AC+1 CORRECT? + 2367 032117 004 02 0 00 037101 ER4 AC+1,37101 ;RESULT IN AC+1 IS INCORRECT + 2368 032120 321 03 0 00 032111 JUMPL AC+2,E37100 ;LOOP ON ERROR SWITCH^ + 2369 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 13-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0073 + + 2370 ;SHIFT CONNECTIONS TEST + 2371 ;TEST MQ34 SHRT INP-ONE'S - ASHC AC,-2 + 2372 ;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + 2373 SR2 (372,0,0,0,10,0,0,0,2,ASHC,-2)^ + 2374 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2375 ;DATA SPECIFIED IN [XWD 0,0] AND [XWD 0,10] -2 BIT POSITIONS AND + 2376 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 2377 ;[XWD 0,2] + 2378 + 2379 032121 200 01 0 00 036600 E37200: MOVE AC,[XWD 0,0] ;INITIALIZE AC + 2380 032122 200 02 0 00 036621 MOVE AC+1,[XWD 0,10] ;INITIALIZE AC+1 + 2381 032123 244 01 0 00 777776 ASHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2382 032124 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 2383 032125 003 01 0 00 037201 ER3 AC,37201 ;RESULT IN AC IS INCORRECT + 2384 032126 312 02 0 00 036602 CAME AC+1,[XWD 0,2] ;IS RESULT IN AC+1 CORRECT? + 2385 032127 004 02 0 00 037201 ER4 AC+1,37201 ;RESULT IN AC+1 IS INCORRECT + 2386 032130 321 03 0 00 032121 JUMPL AC+2,E37200 ;LOOP ON ERROR SWITCH^ + 2387 + 2388 ;SHIFT CONNECTIONS TEST + 2389 ;TEST MQ34 SHRT INP-ZERO'S - ASHC AC,-2 + 2390 ;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + 2391 SR2 (373,-1,-1,-1,-11,-1,-1,-1,-3,ASHC,-2)^ + 2392 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2393 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD -1,-11] -2 BIT POSITIONS AND + 2394 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-1] AND + 2395 ;[XWD -1,-3] + 2396 + 2397 032131 200 01 0 00 036576 E37300: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 2398 032132 200 02 0 00 036622 MOVE AC+1,[XWD -1,-11] ;INITIALIZE AC+1 + 2399 032133 244 01 0 00 777776 ASHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2400 032134 312 01 0 00 036576 CAME AC,[XWD -1,-1] ;IS RESULT IN AC CORRECT? + 2401 032135 003 01 0 00 037301 ER3 AC,37301 ;RESULT IN AC IS INCORRECT + 2402 032136 312 02 0 00 036614 CAME AC+1,[XWD -1,-3] ;IS RESULT IN AC+1 CORRECT? + 2403 032137 004 02 0 00 037301 ER4 AC+1,37301 ;RESULT IN AC+1 IS INCORRECT + 2404 032140 321 03 0 00 032131 JUMPL AC+2,E37300 ;LOOP ON ERROR SWITCH^ + 2405 + 2406 ;SHIFT CONNECTIONS TEST + 2407 ;TEST MQ35 SHRT INP-ONE'S - ASHC AC,-2 + 2408 ;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + 2409 SR2 (374,0,0,0,4,0,0,0,1,ASHC,-2)^ + 2410 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2411 ;DATA SPECIFIED IN [XWD 0,0] AND [XWD 0,4] -2 BIT POSITIONS AND + 2412 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 0,0] AND + 2413 ;[XWD 0,1] + 2414 + 2415 032141 200 01 0 00 036600 E37400: MOVE AC,[XWD 0,0] ;INITIALIZE AC + 2416 032142 200 02 0 00 036616 MOVE AC+1,[XWD 0,4] ;INITIALIZE AC+1 + 2417 032143 244 01 0 00 777776 ASHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2418 032144 312 01 0 00 036600 CAME AC,[XWD 0,0] ;IS RESULT IN AC CORRECT? + 2419 032145 003 01 0 00 037401 ER3 AC,37401 ;RESULT IN AC IS INCORRECT + 2420 032146 312 02 0 00 036601 CAME AC+1,[XWD 0,1] ;IS RESULT IN AC+1 CORRECT? + 2421 032147 004 02 0 00 037401 ER4 AC+1,37401 ;RESULT IN AC+1 IS INCORRECT + 2422 032150 321 03 0 00 032141 JUMPL AC+2,E37400 ;LOOP ON ERROR SWITCH^ + 2423 + 2424 ;SHIFT CONNECTIONS TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 13-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) SEQ 0074 + + 2425 ;TEST MQ35 SHRT INP-ZERO'S - ASHC AC,-2 + 2426 ;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + 2427 SR2 (375,-1,-1,-1,-5,-1,-1,-1,-2,ASHC,-2)^ + 2428 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2429 ;DATA SPECIFIED IN [XWD -1,-1] AND [XWD -1,-5] -2 BIT POSITIONS AND + 2430 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD -1,-1] AND + 2431 ;[XWD -1,-2] + 2432 + 2433 032151 200 01 0 00 036576 E37500: MOVE AC,[XWD -1,-1] ;INITIALIZE AC + 2434 032152 200 02 0 00 036617 MOVE AC+1,[XWD -1,-5] ;INITIALIZE AC+1 + 2435 032153 244 01 0 00 777776 ASHC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2436 032154 312 01 0 00 036576 CAME AC,[XWD -1,-1] ;IS RESULT IN AC CORRECT? + 2437 032155 003 01 0 00 037501 ER3 AC,37501 ;RESULT IN AC IS INCORRECT + 2438 032156 312 02 0 00 036577 CAME AC+1,[XWD -1,-2] ;IS RESULT IN AC+1 CORRECT? + 2439 032157 004 02 0 00 037501 ER4 AC+1,37501 ;RESULT IN AC+1 IS INCORRECT + 2440 032160 321 03 0 00 032151 JUMPL AC+2,E37500 ;LOOP ON ERROR SWITCH^ +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 14 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - BIT POSITION RELIABILITY TEST SEQ 0075 + + 2441 SUBTTL DIAGNOSTIC SECTION - BIT POSITION RELIABILITY TEST + 2442 + 2443 ;BIT POSITION RELIABILITY TEST + 2444 ;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + 2445 SR1 (445,252525,252525,525252,525252,ROT,1)^ + 2446 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 252525,252525] 1 BIT + 2447 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 525252,525252] + 2448 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 2449 + 2450 032161 200 01 0 00 036630 E44500: MOVE AC,[XWD 252525,252525] ;INITIALIZE AC + 2451 032162 200 02 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 2452 032163 241 01 0 00 000001 ROT AC,1 ;*SHIFT/ROTATE 1 BIT POSITIONS + 2453 032164 312 01 0 00 036632 CAME AC,[XWD 525252,525252] ;IS RESULT IN AC CORRECT? + 2454 032165 003 01 0 00 044501 ER3 AC,44501 ;RESULT IN AC IS INCORRECT + 2455 032166 312 02 0 00 036631 CAME AC+1,[XWD 741703,607417] + 2456 032167 004 02 0 00 044501 ER4 AC+1,44501 ;C(AC+1) WAS MODIFIED INCORRECTLY + 2457 032170 321 03 0 00 032161 JUMPL AC+2,E44500 ;LOOP ON ERROR SWITCH^ + 2458 + 2459 ;BIT POSITION RELIABILITY TEST + 2460 ;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + 2461 SR1 (446,525252,525252,252525,252525,ROT,1)^ + 2462 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 525252,525252] 1 BIT + 2463 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 252525,252525] + 2464 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 2465 + 2466 032171 200 01 0 00 036632 E44600: MOVE AC,[XWD 525252,525252] ;INITIALIZE AC + 2467 032172 200 02 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 2468 032173 241 01 0 00 000001 ROT AC,1 ;*SHIFT/ROTATE 1 BIT POSITIONS + 2469 032174 312 01 0 00 036630 CAME AC,[XWD 252525,252525] ;IS RESULT IN AC CORRECT? + 2470 032175 003 01 0 00 044601 ER3 AC,44601 ;RESULT IN AC IS INCORRECT + 2471 032176 312 02 0 00 036631 CAME AC+1,[XWD 741703,607417] + 2472 032177 004 02 0 00 044601 ER4 AC+1,44601 ;C(AC+1) WAS MODIFIED INCORRECTLY + 2473 032200 321 03 0 00 032171 JUMPL AC+2,E44600 ;LOOP ON ERROR SWITCH^ + 2474 + 2475 ;BIT POSITION RELIABILITY TEST + 2476 ;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + 2477 SR1 (447,252525,252525,525252,525252,ROT,-1)^ + 2478 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 252525,252525] -1 BIT + 2479 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 525252,525252] + 2480 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 2481 + 2482 032201 200 01 0 00 036630 E44700: MOVE AC,[XWD 252525,252525] ;INITIALIZE AC + 2483 032202 200 02 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 2484 032203 241 01 0 00 777777 ROT AC,-1 ;*SHIFT/ROTATE -1 BIT POSITIONS + 2485 032204 312 01 0 00 036632 CAME AC,[XWD 525252,525252] ;IS RESULT IN AC CORRECT? + 2486 032205 003 01 0 00 044701 ER3 AC,44701 ;RESULT IN AC IS INCORRECT + 2487 032206 312 02 0 00 036631 CAME AC+1,[XWD 741703,607417] + 2488 032207 004 02 0 00 044701 ER4 AC+1,44701 ;C(AC+1) WAS MODIFIED INCORRECTLY + 2489 032210 321 03 0 00 032201 JUMPL AC+2,E44700 ;LOOP ON ERROR SWITCH^ + 2490 + 2491 ;BIT POSITION RELIABILITY TEST + 2492 ;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + 2493 SR1 (450,525252,525252,252525,252525,ROT,-1)^ + 2494 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 525252,525252] -1 BIT + 2495 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 252525,252525] +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 14-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - BIT POSITION RELIABILITY TEST SEQ 0076 + + 2496 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 2497 + 2498 032211 200 01 0 00 036632 E45000: MOVE AC,[XWD 525252,525252] ;INITIALIZE AC + 2499 032212 200 02 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 2500 032213 241 01 0 00 777777 ROT AC,-1 ;*SHIFT/ROTATE -1 BIT POSITIONS + 2501 032214 312 01 0 00 036630 CAME AC,[XWD 252525,252525] ;IS RESULT IN AC CORRECT? + 2502 032215 003 01 0 00 045001 ER3 AC,45001 ;RESULT IN AC IS INCORRECT + 2503 032216 312 02 0 00 036631 CAME AC+1,[XWD 741703,607417] + 2504 032217 004 02 0 00 045001 ER4 AC+1,45001 ;C(AC+1) WAS MODIFIED INCORRECTLY + 2505 032220 321 03 0 00 032211 JUMPL AC+2,E45000 ;LOOP ON ERROR SWITCH^ + 2506 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 14-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - BIT POSITION RELIABILITY TEST SEQ 0077 + + 2507 ;BIT POSITION RELIABILITY TEST + 2508 ;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + 2509 SR1 (451,146314,631463,631463,146314,ROT,-2)^ + 2510 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 146314,631463] -2 BIT + 2511 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 631463,146314] + 2512 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 2513 + 2514 032221 200 01 0 00 036633 E45100: MOVE AC,[XWD 146314,631463] ;INITIALIZE AC + 2515 032222 200 02 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 2516 032223 241 01 0 00 777776 ROT AC,-2 ;*SHIFT/ROTATE -2 BIT POSITIONS + 2517 032224 312 01 0 00 036634 CAME AC,[XWD 631463,146314] ;IS RESULT IN AC CORRECT? + 2518 032225 003 01 0 00 045101 ER3 AC,45101 ;RESULT IN AC IS INCORRECT + 2519 032226 312 02 0 00 036631 CAME AC+1,[XWD 741703,607417] + 2520 032227 004 02 0 00 045101 ER4 AC+1,45101 ;C(AC+1) WAS MODIFIED INCORRECTLY + 2521 032230 321 03 0 00 032221 JUMPL AC+2,E45100 ;LOOP ON ERROR SWITCH^ + 2522 + 2523 ;BIT POSITION RELIABILITY TEST + 2524 ;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + 2525 SR1 (452,631463,146314,146314,631463,ROT,-2)^ + 2526 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 631463,146314] -2 BIT + 2527 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 146314,631463] + 2528 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 2529 + 2530 032231 200 01 0 00 036634 E45200: MOVE AC,[XWD 631463,146314] ;INITIALIZE AC + 2531 032232 200 02 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 2532 032233 241 01 0 00 777776 ROT AC,-2 ;*SHIFT/ROTATE -2 BIT POSITIONS + 2533 032234 312 01 0 00 036633 CAME AC,[XWD 146314,631463] ;IS RESULT IN AC CORRECT? + 2534 032235 003 01 0 00 045201 ER3 AC,45201 ;RESULT IN AC IS INCORRECT + 2535 032236 312 02 0 00 036631 CAME AC+1,[XWD 741703,607417] + 2536 032237 004 02 0 00 045201 ER4 AC+1,45201 ;C(AC+1) WAS MODIFIED INCORRECTLY + 2537 032240 321 03 0 00 032231 JUMPL AC+2,E45200 ;LOOP ON ERROR SWITCH^ + 2538 + 2539 ;BIT POSITION RELIABILITY TEST + 2540 ;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + 2541 SR2 (453,252525,252525,252525,252525,525252,525252,525252,525252,ROTC,1)^ + 2542 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2543 ;DATA SPECIFIED IN [XWD 252525,252525] AND [XWD 252525,252525] 1 BIT POSITIONS AND + 2544 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 525252,525252] AND + 2545 ;[XWD 525252,525252] + 2546 + 2547 032241 200 01 0 00 036630 E45300: MOVE AC,[XWD 252525,252525] ;INITIALIZE AC + 2548 032242 200 02 0 00 036630 MOVE AC+1,[XWD 252525,252525] ;INITIALIZE AC+1 + 2549 032243 245 01 0 00 000001 ROTC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 2550 032244 312 01 0 00 036632 CAME AC,[XWD 525252,525252] ;IS RESULT IN AC CORRECT? + 2551 032245 003 01 0 00 045301 ER3 AC,45301 ;RESULT IN AC IS INCORRECT + 2552 032246 312 02 0 00 036632 CAME AC+1,[XWD 525252,525252] ;IS RESULT IN AC+1 CORRECT? + 2553 032247 004 02 0 00 045301 ER4 AC+1,45301 ;RESULT IN AC+1 IS INCORRECT + 2554 032250 321 03 0 00 032241 JUMPL AC+2,E45300 ;LOOP ON ERROR SWITCH^ + 2555 + 2556 ;BIT POSITION RELIABILITY TEST + 2557 ;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + 2558 SR2 (454,525252,525252,525252,525252,252525,252525,252525,252525,ROTC,1)^ + 2559 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2560 ;DATA SPECIFIED IN [XWD 525252,525252] AND [XWD 525252,525252] 1 BIT POSITIONS AND + 2561 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 252525,252525] AND +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 14-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - BIT POSITION RELIABILITY TEST SEQ 0078 + + 2562 ;[XWD 252525,252525] + 2563 + 2564 032251 200 01 0 00 036632 E45400: MOVE AC,[XWD 525252,525252] ;INITIALIZE AC + 2565 032252 200 02 0 00 036632 MOVE AC+1,[XWD 525252,525252] ;INITIALIZE AC+1 + 2566 032253 245 01 0 00 000001 ROTC AC,1 ;*SHIFT/ROTATE COMBINED 1 PLACES + 2567 032254 312 01 0 00 036630 CAME AC,[XWD 252525,252525] ;IS RESULT IN AC CORRECT? + 2568 032255 003 01 0 00 045401 ER3 AC,45401 ;RESULT IN AC IS INCORRECT + 2569 032256 312 02 0 00 036630 CAME AC+1,[XWD 252525,252525] ;IS RESULT IN AC+1 CORRECT? + 2570 032257 004 02 0 00 045401 ER4 AC+1,45401 ;RESULT IN AC+1 IS INCORRECT + 2571 032260 321 03 0 00 032251 JUMPL AC+2,E45400 ;LOOP ON ERROR SWITCH^ + 2572 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 14-4 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - BIT POSITION RELIABILITY TEST SEQ 0079 + + 2573 ;BIT POSITION RELIABILITY TEST + 2574 ;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + 2575 SR2 (455,252525,252525,252525,252525,525252,525252,525252,525252,ROTC,-1)^ + 2576 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2577 ;DATA SPECIFIED IN [XWD 252525,252525] AND [XWD 252525,252525] -1 BIT POSITIONS AND + 2578 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 525252,525252] AND + 2579 ;[XWD 525252,525252] + 2580 + 2581 032261 200 01 0 00 036630 E45500: MOVE AC,[XWD 252525,252525] ;INITIALIZE AC + 2582 032262 200 02 0 00 036630 MOVE AC+1,[XWD 252525,252525] ;INITIALIZE AC+1 + 2583 032263 245 01 0 00 777777 ROTC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 2584 032264 312 01 0 00 036632 CAME AC,[XWD 525252,525252] ;IS RESULT IN AC CORRECT? + 2585 032265 003 01 0 00 045501 ER3 AC,45501 ;RESULT IN AC IS INCORRECT + 2586 032266 312 02 0 00 036632 CAME AC+1,[XWD 525252,525252] ;IS RESULT IN AC+1 CORRECT? + 2587 032267 004 02 0 00 045501 ER4 AC+1,45501 ;RESULT IN AC+1 IS INCORRECT + 2588 032270 321 03 0 00 032261 JUMPL AC+2,E45500 ;LOOP ON ERROR SWITCH^ + 2589 + 2590 ;BIT POSITION RELIABILITY TEST + 2591 ;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + 2592 SR2 (456,525252,525252,525252,525252,252525,252525,252525,252525,ROTC,-1)^ + 2593 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2594 ;DATA SPECIFIED IN [XWD 525252,525252] AND [XWD 525252,525252] -1 BIT POSITIONS AND + 2595 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 252525,252525] AND + 2596 ;[XWD 252525,252525] + 2597 + 2598 032271 200 01 0 00 036632 E45600: MOVE AC,[XWD 525252,525252] ;INITIALIZE AC + 2599 032272 200 02 0 00 036632 MOVE AC+1,[XWD 525252,525252] ;INITIALIZE AC+1 + 2600 032273 245 01 0 00 777777 ROTC AC,-1 ;*SHIFT/ROTATE COMBINED -1 PLACES + 2601 032274 312 01 0 00 036630 CAME AC,[XWD 252525,252525] ;IS RESULT IN AC CORRECT? + 2602 032275 003 01 0 00 045601 ER3 AC,45601 ;RESULT IN AC IS INCORRECT + 2603 032276 312 02 0 00 036630 CAME AC+1,[XWD 252525,252525] ;IS RESULT IN AC+1 CORRECT? + 2604 032277 004 02 0 00 045601 ER4 AC+1,45601 ;RESULT IN AC+1 IS INCORRECT + 2605 032300 321 03 0 00 032271 JUMPL AC+2,E45600 ;LOOP ON ERROR SWITCH^ + 2606 + 2607 ;BIT POSITION RELIABILITY TEST + 2608 ;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + 2609 SR2 (457,146314,631463,146314,631463,631463,146314,631463,146314,ROTC,-2)^ + 2610 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 2611 ;DATA SPECIFIED IN [XWD 146314,631463] AND [XWD 146314,631463] -2 BIT POSITIONS AND + 2612 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 631463,146314] AND + 2613 ;[XWD 631463,146314] + 2614 + 2615 032301 200 01 0 00 036633 E45700: MOVE AC,[XWD 146314,631463] ;INITIALIZE AC + 2616 032302 200 02 0 00 036633 MOVE AC+1,[XWD 146314,631463] ;INITIALIZE AC+1 + 2617 032303 245 01 0 00 777776 ROTC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2618 032304 312 01 0 00 036634 CAME AC,[XWD 631463,146314] ;IS RESULT IN AC CORRECT? + 2619 032305 003 01 0 00 045701 ER3 AC,45701 ;RESULT IN AC IS INCORRECT + 2620 032306 312 02 0 00 036634 CAME AC+1,[XWD 631463,146314] ;IS RESULT IN AC+1 CORRECT? + 2621 032307 004 02 0 00 045701 ER4 AC+1,45701 ;RESULT IN AC+1 IS INCORRECT + 2622 032310 321 03 0 00 032301 JUMPL AC+2,E45700 ;LOOP ON ERROR SWITCH^ + 2623 + 2624 ;BIT POSITION RELIABILITY TEST + 2625 ;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + 2626 SR2 (460,631463,146314,631463,146314,146314,631463,146314,631463,ROTC,-2)^ + 2627 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 14-5 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - BIT POSITION RELIABILITY TEST SEQ 0080 + + 2628 ;DATA SPECIFIED IN [XWD 631463,146314] AND [XWD 631463,146314] -2 BIT POSITIONS AND + 2629 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 146314,631463] AND + 2630 ;[XWD 146314,631463] + 2631 + 2632 032311 200 01 0 00 036634 E46000: MOVE AC,[XWD 631463,146314] ;INITIALIZE AC + 2633 032312 200 02 0 00 036634 MOVE AC+1,[XWD 631463,146314] ;INITIALIZE AC+1 + 2634 032313 245 01 0 00 777776 ROTC AC,-2 ;*SHIFT/ROTATE COMBINED -2 PLACES + 2635 032314 312 01 0 00 036633 CAME AC,[XWD 146314,631463] ;IS RESULT IN AC CORRECT? + 2636 032315 003 01 0 00 046001 ER3 AC,46001 ;RESULT IN AC IS INCORRECT + 2637 032316 312 02 0 00 036633 CAME AC+1,[XWD 146314,631463] ;IS RESULT IN AC+1 CORRECT? + 2638 032317 004 02 0 00 046001 ER4 AC+1,46001 ;RESULT IN AC+1 IS INCORRECT + 2639 032320 321 03 0 00 032311 JUMPL AC+2,E46000 ;LOOP ON ERROR SWITCH^ +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 15 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC GATING TEST SEQ 0081 + + 2640 SUBTTL DIAGNOSTIC SECTION - SC GATING TEST + 2641 + 2642 000005 AC=5 + 2643 SAVEAC (1,1)^ + 2644 032321 201 07 0 00 032321 MOVEI AC+2,. ;SETUP TESTPC + 2645 032322 202 07 0 00 030051 MOVEM AC+2,TESTPC + 2646 032323 201 07 0 00 000007 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 2647 032324 202 07 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 2648 + 2649 037600 SN=37600 + 2650 000017 ZZ=17 + 2651 + 2652 ;SHIFT LEFT + 2653 E37600: REPEAT ^D3,< + 2654 ;TEST SC HIGH ORDER BITS + 2655 ;TEST THE ABILITY TO SET THE FOUR MOST + 2656 ;SIGNIFICANT BITS + 2657 ;AC IS LOGICALLY SHIFTED LEFT + 2658 ;AND TESTED + 2659 ;FAILURE TO SET BIT 0 RESULTS IN NO SHIFT + 2660 ;AN ERROR WILL OCCUR IF AC EQUALS ZERO + 2661 ;FOLLOWING A SHIFT + 2662 ;FAILURE TO SET SC BIT 1,2 OR + 2663 ;3 WILL RESULT IN EXCESSIVE SHIFTING + 2664 + 2665 SN=SN+1 + 2666 ZZ=ZZ+1 + 2667 MOVEI AC,1 ;SET BIT 35 + 2668 LSH AC,ZZ ;*SHIFT LEFT (N) NUMBER OF TIMES + 2669 CAIN AC,1 ;TEST FOR SHIFT + 2670 ER3 AC,SN ;SC BIT 0 FAILED TO SET + 2671 SKIPN AC ;SHIFT EXCEEDED OCTAL 44 + 2672 ER3 AC,SN ;SC BIT (N) FAILED TO SET + 2673 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH + 2674 > + 2675 + 2676 ;TEST SC HIGH ORDER BITS + 2677 ;TEST THE ABILITY TO SET THE FOUR MOST + 2678 ;SIGNIFICANT BITS + 2679 ;AC IS LOGICALLY SHIFTED LEFT + 2680 ;AND TESTED + 2681 ;FAILURE TO SET BIT 0 RESULTS IN NO SHIFT + 2682 ;AN ERROR WILL OCCUR IF AC EQUALS ZERO + 2683 ;FOLLOWING A SHIFT + 2684 ;FAILURE TO SET SC BIT 1,2 OR + 2685 ;3 WILL RESULT IN EXCESSIVE SHIFTING + 2686 + 2687 037601 SN=SN+1 + 2688 000020 ZZ=ZZ+1 + 2689 032325 201 05 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 2690 032326 242 05 0 00 000020 LSH AC,ZZ ;*SHIFT LEFT (N) NUMBER OF TIMES + 2691 032327 306 05 0 00 000001 CAIN AC,1 ;TEST FOR SHIFT + 2692 032330 003 05 0 00 037601 ER3 AC,SN ;SC BIT 0 FAILED TO SET + 2693 032331 336 00 0 00 000005 SKIPN AC ;SHIFT EXCEEDED OCTAL 44 + 2694 032332 003 05 0 00 037601 ER3 AC,SN ;SC BIT (N) FAILED TO SET +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 15-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC GATING TEST SEQ 0082 + + 2695 032333 321 07 0 00 032325 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH + 2696 + 2697 + 2698 ;TEST SC HIGH ORDER BITS + 2699 ;TEST THE ABILITY TO SET THE FOUR MOST + 2700 ;SIGNIFICANT BITS + 2701 ;AC IS LOGICALLY SHIFTED LEFT + 2702 ;AND TESTED + 2703 ;FAILURE TO SET BIT 0 RESULTS IN NO SHIFT + 2704 ;AN ERROR WILL OCCUR IF AC EQUALS ZERO + 2705 ;FOLLOWING A SHIFT + 2706 ;FAILURE TO SET SC BIT 1,2 OR + 2707 ;3 WILL RESULT IN EXCESSIVE SHIFTING + 2708 + 2709 037602 SN=SN+1 + 2710 000021 ZZ=ZZ+1 + 2711 032334 201 05 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 2712 032335 242 05 0 00 000021 LSH AC,ZZ ;*SHIFT LEFT (N) NUMBER OF TIMES + 2713 032336 306 05 0 00 000001 CAIN AC,1 ;TEST FOR SHIFT + 2714 032337 003 05 0 00 037602 ER3 AC,SN ;SC BIT 0 FAILED TO SET + 2715 032340 336 00 0 00 000005 SKIPN AC ;SHIFT EXCEEDED OCTAL 44 + 2716 032341 003 05 0 00 037602 ER3 AC,SN ;SC BIT (N) FAILED TO SET + 2717 032342 321 07 0 00 032334 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH + 2718 + 2719 + 2720 ;TEST SC HIGH ORDER BITS + 2721 ;TEST THE ABILITY TO SET THE FOUR MOST + 2722 ;SIGNIFICANT BITS + 2723 ;AC IS LOGICALLY SHIFTED LEFT + 2724 ;AND TESTED + 2725 ;FAILURE TO SET BIT 0 RESULTS IN NO SHIFT + 2726 ;AN ERROR WILL OCCUR IF AC EQUALS ZERO + 2727 ;FOLLOWING A SHIFT + 2728 ;FAILURE TO SET SC BIT 1,2 OR + 2729 ;3 WILL RESULT IN EXCESSIVE SHIFTING + 2730 + 2731 037603 SN=SN+1 + 2732 000022 ZZ=ZZ+1 + 2733 032343 201 05 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 2734 032344 242 05 0 00 000022 LSH AC,ZZ ;*SHIFT LEFT (N) NUMBER OF TIMES + 2735 032345 306 05 0 00 000001 CAIN AC,1 ;TEST FOR SHIFT + 2736 032346 003 05 0 00 037603 ER3 AC,SN ;SC BIT 0 FAILED TO SET + 2737 032347 336 00 0 00 000005 SKIPN AC ;SHIFT EXCEEDED OCTAL 44 + 2738 032350 003 05 0 00 037603 ER3 AC,SN ;SC BIT (N) FAILED TO SET + 2739 032351 321 07 0 00 032343 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH + 2740 + 2741 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 16 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC AR CONTROL AND GATING TEST SEQ 0083 + + 2742 SUBTTL DIAGNOSTIC SECTION - SC AR CONTROL AND GATING TEST + 2743 + 2744 ;TEST SC AR EN + 2745 ;TEST THE ABILITY OF SC AR EN TO + 2746 ;AFFECT A TRANSFER BETWEEN SC AND AR + 2747 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 2748 ;WILL AFFECT TEST + 2749 ;AC IS ROTATED LEFT/RIGHT AND TESTED FOR + 2750 ;EVIDENCE OF ROTATE + 2751 + 2752 000007 AC=7 + 2753 SAVEAC (1,1)^ + 2754 032352 201 11 0 00 032352 MOVEI AC+2,. ;SETUP TESTPC + 2755 032353 202 11 0 00 030051 MOVEM AC+2,TESTPC + 2756 032354 201 11 0 00 000011 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 2757 032355 202 11 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 2758 + 2759 032356 201 07 0 00 000001 E37700: MOVEI AC,1 ;SET BIT 35 + 2760 032357 241 07 0 00 777773 ROT AC,-5 ;*ROTATE RIGHT + 2761 032360 241 07 0 00 000007 ROT AC,7 ;*ROTATE LEFT + 2762 032361 306 07 0 00 000001 CAIN AC,1 ;TEST FOR PRESENCE + 2763 032362 003 07 0 00 037701 ER3 AC,37701 ;OF PULSE + 2764 032363 321 11 0 00 032356 JUMPL AC+2,E37700 ;LOOP ON ERROR SWITCH + 2765 + 2766 ;TEST PULSE WITH SC BITS 5-8 + 2767 032364 201 07 0 00 000001 E40000: MOVEI AC,1 ;SET BIT 35 + 2768 032365 241 07 0 00 000017 ROT AC,17 ;*ROTATE LEFT + 2769 032366 306 07 0 00 000001 CAIN AC,1 ;TEST FOR ROTATE LEFT + 2770 032367 003 07 0 00 040001 ER3 AC,40001 ;SC AR EN FAILED + 2771 032370 321 11 0 00 032364 JUMPL AC+2,E40000 ;LOOP ON ERROR SWITCH + 2772 + 2773 ;TEST PULSE WITH SC BITS 4-8 + 2774 032371 201 07 0 00 000001 E40100: MOVEI AC,1 ;SET BIT 35 + 2775 032372 241 07 0 00 000037 ROT AC,37 ;*ROTATE LEFT + 2776 032373 306 07 0 00 000001 CAIN AC,1 ;TEST FOR ROTATE LEFT + 2777 032374 003 07 0 00 040101 ER3 AC,40101 ;TEST FOR ROTATE LEFT + 2778 032375 321 11 0 00 032371 JUMPL AC+2,E40100 ;LOOP ON ERROR SWITCH +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 17 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC AR CONTROL AND GATING TEST SEQ 0084 + + 2779 000006 AC=6 + 2780 SAVEAC (1,1)^ + 2781 032376 201 10 0 00 032376 MOVEI AC+2,. ;SETUP TESTPC + 2782 032377 202 10 0 00 030051 MOVEM AC+2,TESTPC + 2783 032400 201 10 0 00 000010 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 2784 032401 202 10 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 2785 + 2786 040200 SN=40200 + 2787 000000 ZZ=0 + 2788 + 2789 E40200: REPEAT ^D8, < + 2790 ;TEST SC-AR CONNECTION-ONE'S + 2791 ;TEST THE ABILITY OF SC AR EN + 2792 ;TO TRANSFER ONE'S TO SC + 2793 ;SC BITS EIGHT THROUGH ONE ARE SET IN TURN + 2794 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 2795 ;WILL AFFECT TEST + 2796 ;FAILURE OF A SHIFT COUNTER BIT TO SET + 2797 ;RESULTS IN NO ROTATE + 2798 + 2799 SN=SN+1 + 2800 ZZ=ZZ+ZZ + 2801 IFE ZZ, + 2802 MOVEI AC,1 ;SET BIT 35 + 2803 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 2804 CAIN AC,1 ;TEST FOR ROTATE + 2805 ER3 AC,SN ;SC BIT (N) FAILED TO SET + 2806 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 2807 > + 2808 + 2809 ;TEST SC-AR CONNECTION-ONE'S + 2810 ;TEST THE ABILITY OF SC AR EN + 2811 ;TO TRANSFER ONE'S TO SC + 2812 ;SC BITS EIGHT THROUGH ONE ARE SET IN TURN + 2813 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 2814 ;WILL AFFECT TEST + 2815 ;FAILURE OF A SHIFT COUNTER BIT TO SET + 2816 ;RESULTS IN NO ROTATE + 2817 + 2818 040201 SN=SN+1 + 2819 000000 ZZ=ZZ+ZZ + 2820 000001 IFE ZZ, + 2821 032402 201 06 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 2822 032403 241 06 0 00 000001 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 2823 032404 306 06 0 00 000001 CAIN AC,1 ;TEST FOR ROTATE + 2824 032405 003 06 0 00 040201 ER3 AC,SN ;SC BIT (N) FAILED TO SET + 2825 032406 321 10 0 00 032402 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 2826 + 2827 + 2828 ;TEST SC-AR CONNECTION-ONE'S + 2829 ;TEST THE ABILITY OF SC AR EN + 2830 ;TO TRANSFER ONE'S TO SC + 2831 ;SC BITS EIGHT THROUGH ONE ARE SET IN TURN + 2832 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 2833 ;WILL AFFECT TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 17-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC AR CONTROL AND GATING TEST SEQ 0085 + + 2834 ;FAILURE OF A SHIFT COUNTER BIT TO SET + 2835 ;RESULTS IN NO ROTATE + 2836 + 2837 040202 SN=SN+1 + 2838 000002 ZZ=ZZ+ZZ + 2839 IFE ZZ, + 2840 032407 201 06 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 2841 032410 241 06 0 00 000002 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 2842 032411 306 06 0 00 000001 CAIN AC,1 ;TEST FOR ROTATE + 2843 032412 003 06 0 00 040202 ER3 AC,SN ;SC BIT (N) FAILED TO SET + 2844 032413 321 10 0 00 032407 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 2845 + 2846 + 2847 ;TEST SC-AR CONNECTION-ONE'S + 2848 ;TEST THE ABILITY OF SC AR EN + 2849 ;TO TRANSFER ONE'S TO SC + 2850 ;SC BITS EIGHT THROUGH ONE ARE SET IN TURN + 2851 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 2852 ;WILL AFFECT TEST + 2853 ;FAILURE OF A SHIFT COUNTER BIT TO SET + 2854 ;RESULTS IN NO ROTATE + 2855 + 2856 040203 SN=SN+1 + 2857 000004 ZZ=ZZ+ZZ + 2858 IFE ZZ, + 2859 032414 201 06 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 2860 032415 241 06 0 00 000004 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 2861 032416 306 06 0 00 000001 CAIN AC,1 ;TEST FOR ROTATE + 2862 032417 003 06 0 00 040203 ER3 AC,SN ;SC BIT (N) FAILED TO SET + 2863 032420 321 10 0 00 032414 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 2864 + 2865 + 2866 ;TEST SC-AR CONNECTION-ONE'S + 2867 ;TEST THE ABILITY OF SC AR EN + 2868 ;TO TRANSFER ONE'S TO SC + 2869 ;SC BITS EIGHT THROUGH ONE ARE SET IN TURN + 2870 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 2871 ;WILL AFFECT TEST + 2872 ;FAILURE OF A SHIFT COUNTER BIT TO SET + 2873 ;RESULTS IN NO ROTATE + 2874 + 2875 040204 SN=SN+1 + 2876 000010 ZZ=ZZ+ZZ + 2877 IFE ZZ, + 2878 032421 201 06 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 2879 032422 241 06 0 00 000010 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 2880 032423 306 06 0 00 000001 CAIN AC,1 ;TEST FOR ROTATE + 2881 032424 003 06 0 00 040204 ER3 AC,SN ;SC BIT (N) FAILED TO SET + 2882 032425 321 10 0 00 032421 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 2883 + 2884 + 2885 ;TEST SC-AR CONNECTION-ONE'S + 2886 ;TEST THE ABILITY OF SC AR EN + 2887 ;TO TRANSFER ONE'S TO SC + 2888 ;SC BITS EIGHT THROUGH ONE ARE SET IN TURN +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 17-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC AR CONTROL AND GATING TEST SEQ 0086 + + 2889 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 2890 ;WILL AFFECT TEST + 2891 ;FAILURE OF A SHIFT COUNTER BIT TO SET + 2892 ;RESULTS IN NO ROTATE + 2893 + 2894 040205 SN=SN+1 + 2895 000020 ZZ=ZZ+ZZ + 2896 IFE ZZ, + 2897 032426 201 06 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 2898 032427 241 06 0 00 000020 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 2899 032430 306 06 0 00 000001 CAIN AC,1 ;TEST FOR ROTATE + 2900 032431 003 06 0 00 040205 ER3 AC,SN ;SC BIT (N) FAILED TO SET + 2901 032432 321 10 0 00 032426 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 2902 + 2903 + 2904 ;TEST SC-AR CONNECTION-ONE'S + 2905 ;TEST THE ABILITY OF SC AR EN + 2906 ;TO TRANSFER ONE'S TO SC + 2907 ;SC BITS EIGHT THROUGH ONE ARE SET IN TURN + 2908 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 2909 ;WILL AFFECT TEST + 2910 ;FAILURE OF A SHIFT COUNTER BIT TO SET + 2911 ;RESULTS IN NO ROTATE + 2912 + 2913 040206 SN=SN+1 + 2914 000040 ZZ=ZZ+ZZ + 2915 IFE ZZ, + 2916 032433 201 06 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 2917 032434 241 06 0 00 000040 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 2918 032435 306 06 0 00 000001 CAIN AC,1 ;TEST FOR ROTATE + 2919 032436 003 06 0 00 040206 ER3 AC,SN ;SC BIT (N) FAILED TO SET + 2920 032437 321 10 0 00 032433 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 2921 + 2922 + 2923 ;TEST SC-AR CONNECTION-ONE'S + 2924 ;TEST THE ABILITY OF SC AR EN + 2925 ;TO TRANSFER ONE'S TO SC + 2926 ;SC BITS EIGHT THROUGH ONE ARE SET IN TURN + 2927 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 2928 ;WILL AFFECT TEST + 2929 ;FAILURE OF A SHIFT COUNTER BIT TO SET + 2930 ;RESULTS IN NO ROTATE + 2931 + 2932 040207 SN=SN+1 + 2933 000100 ZZ=ZZ+ZZ + 2934 IFE ZZ, + 2935 032440 201 06 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 2936 032441 241 06 0 00 000100 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 2937 032442 306 06 0 00 000001 CAIN AC,1 ;TEST FOR ROTATE + 2938 032443 003 06 0 00 040207 ER3 AC,SN ;SC BIT (N) FAILED TO SET + 2939 032444 321 10 0 00 032440 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 2940 + 2941 + 2942 ;TEST SC-AR CONNECTION-ONE'S + 2943 ;TEST THE ABILITY OF SC AR EN +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 17-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC AR CONTROL AND GATING TEST SEQ 0087 + + 2944 ;TO TRANSFER ONE'S TO SC + 2945 ;SC BITS EIGHT THROUGH ONE ARE SET IN TURN + 2946 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 2947 ;WILL AFFECT TEST + 2948 ;FAILURE OF A SHIFT COUNTER BIT TO SET + 2949 ;RESULTS IN NO ROTATE + 2950 + 2951 040210 SN=SN+1 + 2952 000200 ZZ=ZZ+ZZ + 2953 IFE ZZ, + 2954 032445 201 06 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 2955 032446 241 06 0 00 000200 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 2956 032447 306 06 0 00 000001 CAIN AC,1 ;TEST FOR ROTATE + 2957 032450 003 06 0 00 040210 ER3 AC,SN ;SC BIT (N) FAILED TO SET + 2958 032451 321 10 0 00 032445 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 2959 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 18 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC AR CONTROL AND GATING TEST SEQ 0088 + + 2960 000005 AC=5 + 2961 SAVEAC (1,1)^ + 2962 032452 201 07 0 00 032452 MOVEI AC+2,. ;SETUP TESTPC + 2963 032453 202 07 0 00 030051 MOVEM AC+2,TESTPC + 2964 032454 201 07 0 00 000007 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 2965 032455 202 07 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 2966 + 2967 040300 SN=40300 + 2968 000000 XX=0 + 2969 777777 777777 ZZ=-1 + 2970 + 2971 E40300: REPEAT ^D6, < + 2972 ;TEST SC AR CONNETION-ZERO'S + 2973 ;TEST THE ABILITY OF A SC BIT TO REMAIN + 2974 ;A ZERO WHEN TRANSFERRING BR TO SC + 2975 ;TEST DETECTS A SC F/F PERMENTLY SET TO A ONE + 2976 ;TEST BY ROTATING RIGHT TWO,LEFT ONE + 2977 ;MALFUNTION OF SCAD OR SC COUNT GATES + 2978 ;WILL AFFECT TEST + 2979 + 2980 SN=SN+1 + 2981 XX=XX+XX + 2982 ZZ=ZZ+ZZ + 2983 IFE XX, + 2984 MOVEI AC,1 ;SET BIT 35 + 2985 ROT AC,ZZ ;*ROTATE RIGHT (N) NUMBER OF TIMES + 2986 ROT AC,XX ;*ROTATE LEFT (N) NUMBER OF TIMES + 2987 CAIN AC,1 ;TEST FOR ROTATE + 2988 ER3 AC,SN ;SC BIT (N) FAILED TO CLEAR + 2989 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 2990 > + 2991 + 2992 ;TEST SC AR CONNETION-ZERO'S + 2993 ;TEST THE ABILITY OF A SC BIT TO REMAIN + 2994 ;A ZERO WHEN TRANSFERRING BR TO SC + 2995 ;TEST DETECTS A SC F/F PERMENTLY SET TO A ONE + 2996 ;TEST BY ROTATING RIGHT TWO,LEFT ONE + 2997 ;MALFUNTION OF SCAD OR SC COUNT GATES + 2998 ;WILL AFFECT TEST + 2999 + 3000 040301 SN=SN+1 + 3001 000000 XX=XX+XX + 3002 777777 777776 ZZ=ZZ+ZZ + 3003 000001 IFE XX, + 3004 032456 201 05 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3005 032457 241 05 0 00 777776 ROT AC,ZZ ;*ROTATE RIGHT (N) NUMBER OF TIMES + 3006 032460 241 05 0 00 000001 ROT AC,XX ;*ROTATE LEFT (N) NUMBER OF TIMES + 3007 032461 306 05 0 00 000001 CAIN AC,1 ;TEST FOR ROTATE + 3008 032462 003 05 0 00 040301 ER3 AC,SN ;SC BIT (N) FAILED TO CLEAR + 3009 032463 321 07 0 00 032456 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 3010 + 3011 + 3012 ;TEST SC AR CONNETION-ZERO'S + 3013 ;TEST THE ABILITY OF A SC BIT TO REMAIN + 3014 ;A ZERO WHEN TRANSFERRING BR TO SC +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 18-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC AR CONTROL AND GATING TEST SEQ 0089 + + 3015 ;TEST DETECTS A SC F/F PERMENTLY SET TO A ONE + 3016 ;TEST BY ROTATING RIGHT TWO,LEFT ONE + 3017 ;MALFUNTION OF SCAD OR SC COUNT GATES + 3018 ;WILL AFFECT TEST + 3019 + 3020 040302 SN=SN+1 + 3021 000002 XX=XX+XX + 3022 777777 777774 ZZ=ZZ+ZZ + 3023 IFE XX, + 3024 032464 201 05 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3025 032465 241 05 0 00 777774 ROT AC,ZZ ;*ROTATE RIGHT (N) NUMBER OF TIMES + 3026 032466 241 05 0 00 000002 ROT AC,XX ;*ROTATE LEFT (N) NUMBER OF TIMES + 3027 032467 306 05 0 00 000001 CAIN AC,1 ;TEST FOR ROTATE + 3028 032470 003 05 0 00 040302 ER3 AC,SN ;SC BIT (N) FAILED TO CLEAR + 3029 032471 321 07 0 00 032464 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 3030 + 3031 + 3032 ;TEST SC AR CONNETION-ZERO'S + 3033 ;TEST THE ABILITY OF A SC BIT TO REMAIN + 3034 ;A ZERO WHEN TRANSFERRING BR TO SC + 3035 ;TEST DETECTS A SC F/F PERMENTLY SET TO A ONE + 3036 ;TEST BY ROTATING RIGHT TWO,LEFT ONE + 3037 ;MALFUNTION OF SCAD OR SC COUNT GATES + 3038 ;WILL AFFECT TEST + 3039 + 3040 040303 SN=SN+1 + 3041 000004 XX=XX+XX + 3042 777777 777770 ZZ=ZZ+ZZ + 3043 IFE XX, + 3044 032472 201 05 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3045 032473 241 05 0 00 777770 ROT AC,ZZ ;*ROTATE RIGHT (N) NUMBER OF TIMES + 3046 032474 241 05 0 00 000004 ROT AC,XX ;*ROTATE LEFT (N) NUMBER OF TIMES + 3047 032475 306 05 0 00 000001 CAIN AC,1 ;TEST FOR ROTATE + 3048 032476 003 05 0 00 040303 ER3 AC,SN ;SC BIT (N) FAILED TO CLEAR + 3049 032477 321 07 0 00 032472 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 3050 + 3051 + 3052 ;TEST SC AR CONNETION-ZERO'S + 3053 ;TEST THE ABILITY OF A SC BIT TO REMAIN + 3054 ;A ZERO WHEN TRANSFERRING BR TO SC + 3055 ;TEST DETECTS A SC F/F PERMENTLY SET TO A ONE + 3056 ;TEST BY ROTATING RIGHT TWO,LEFT ONE + 3057 ;MALFUNTION OF SCAD OR SC COUNT GATES + 3058 ;WILL AFFECT TEST + 3059 + 3060 040304 SN=SN+1 + 3061 000010 XX=XX+XX + 3062 777777 777760 ZZ=ZZ+ZZ + 3063 IFE XX, + 3064 032500 201 05 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3065 032501 241 05 0 00 777760 ROT AC,ZZ ;*ROTATE RIGHT (N) NUMBER OF TIMES + 3066 032502 241 05 0 00 000010 ROT AC,XX ;*ROTATE LEFT (N) NUMBER OF TIMES + 3067 032503 306 05 0 00 000001 CAIN AC,1 ;TEST FOR ROTATE + 3068 032504 003 05 0 00 040304 ER3 AC,SN ;SC BIT (N) FAILED TO CLEAR + 3069 032505 321 07 0 00 032500 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 18-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC AR CONTROL AND GATING TEST SEQ 0090 + + 3070 + 3071 + 3072 ;TEST SC AR CONNETION-ZERO'S + 3073 ;TEST THE ABILITY OF A SC BIT TO REMAIN + 3074 ;A ZERO WHEN TRANSFERRING BR TO SC + 3075 ;TEST DETECTS A SC F/F PERMENTLY SET TO A ONE + 3076 ;TEST BY ROTATING RIGHT TWO,LEFT ONE + 3077 ;MALFUNTION OF SCAD OR SC COUNT GATES + 3078 ;WILL AFFECT TEST + 3079 + 3080 040305 SN=SN+1 + 3081 000020 XX=XX+XX + 3082 777777 777740 ZZ=ZZ+ZZ + 3083 IFE XX, + 3084 032506 201 05 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3085 032507 241 05 0 00 777740 ROT AC,ZZ ;*ROTATE RIGHT (N) NUMBER OF TIMES + 3086 032510 241 05 0 00 000020 ROT AC,XX ;*ROTATE LEFT (N) NUMBER OF TIMES + 3087 032511 306 05 0 00 000001 CAIN AC,1 ;TEST FOR ROTATE + 3088 032512 003 05 0 00 040305 ER3 AC,SN ;SC BIT (N) FAILED TO CLEAR + 3089 032513 321 07 0 00 032506 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 3090 + 3091 + 3092 ;TEST SC AR CONNETION-ZERO'S + 3093 ;TEST THE ABILITY OF A SC BIT TO REMAIN + 3094 ;A ZERO WHEN TRANSFERRING BR TO SC + 3095 ;TEST DETECTS A SC F/F PERMENTLY SET TO A ONE + 3096 ;TEST BY ROTATING RIGHT TWO,LEFT ONE + 3097 ;MALFUNTION OF SCAD OR SC COUNT GATES + 3098 ;WILL AFFECT TEST + 3099 + 3100 040306 SN=SN+1 + 3101 000040 XX=XX+XX + 3102 777777 777700 ZZ=ZZ+ZZ + 3103 IFE XX, + 3104 032514 201 05 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3105 032515 241 05 0 00 777700 ROT AC,ZZ ;*ROTATE RIGHT (N) NUMBER OF TIMES + 3106 032516 241 05 0 00 000040 ROT AC,XX ;*ROTATE LEFT (N) NUMBER OF TIMES + 3107 032517 306 05 0 00 000001 CAIN AC,1 ;TEST FOR ROTATE + 3108 032520 003 05 0 00 040306 ER3 AC,SN ;SC BIT (N) FAILED TO CLEAR + 3109 032521 321 07 0 00 032514 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 3110 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 19 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0091 + + 3111 SUBTTL DIAGNOSTIC SECTION - SC-SCAD GATING TEST + 3112 + 3113 ;TEST DIRECTION + 3114 ;TEST THE ABILITY TO ROTATE IN THE + 3115 ;SPECIFIED DIRECTION + 3116 ;FAILURE OF AC TO ROTATE OR ROTATING IN THE + 3117 ;WRONG DIRECTION WILL CAUSE AN ERROR + 3118 ;MALFUNCTION OF SCAD OR SC COUNT GATES WILL + 3119 ;CAUSE AN ERROR + 3120 + 3121 000004 AC=4 + 3122 SAVEAC (1,1)^ + 3123 032522 201 06 0 00 032522 MOVEI AC+2,. ;SETUP TESTPC + 3124 032523 202 06 0 00 030051 MOVEM AC+2,TESTPC + 3125 032524 201 06 0 00 000006 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 3126 032525 202 06 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 3127 + 3128 ;TEST LEFT + 3129 032526 201 04 0 00 400000 E40400: MOVEI AC,400000 ;SET AC BIT 18 + 3130 032527 205 03 0 00 777777 MOVSI AC-1,-1 ;SET LEFT,CLEAR RIGHT + 3131 032530 241 04 0 00 000003 ROT AC,3 ;*ROTATE LEFT + 3132 032531 616 04 0 00 000003 TDNN AC,AC-1 ;TEST DIRECTION + 3133 032532 003 04 0 00 040401 ER3 AC,40401 ;FAILED OR WRONG DIRECTION + 3134 032533 321 06 0 00 032526 JUMPL AC+2,E40400 ;LOOP ON ERROR SWITCH + 3135 + 3136 ;TEST RIGHT + 3137 032534 205 04 0 00 000001 E40500: MOVSI AC,1 ;SET AC BIT 17 + 3138 032535 201 03 0 00 777777 MOVEI AC-1,-1 ;CLEAR LEFT,SET RIGHT + 3139 032536 241 04 0 00 777775 ROT AC,-3 ;*ROTATE RIGHT + 3140 032537 616 04 0 00 000003 TDNN AC,AC-1 ;TEST DIRECTION + 3141 032540 003 04 0 00 040501 ER3 AC,40501 ;FAILED OR WRONG DIRECTION + 3142 032541 321 06 0 00 032534 JUMPL AC+2,E40500 ;LOOP ON ERROR SWITCH +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 20 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0092 + + 3143 000003 AC=3 + 3144 SAVEAC (1,1)^ + 3145 032542 201 05 0 00 032542 MOVEI AC+2,. ;SETUP TESTPC + 3146 032543 202 05 0 00 030051 MOVEM AC+2,TESTPC + 3147 032544 201 05 0 00 000005 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 3148 032545 202 05 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 3149 + 3150 040600 SN=40600 + 3151 000000 ZZ=0 + 3152 + 3153 ;TEST FOR NO ROTATE + 3154 E40600: REPEAT ^D8,< + 3155 ;SCAD-SC NEGATE SET UP TEST + 3156 ;TEST A BIT FAILING TO CLEAR ON COMPLEMENT + 3157 ;TEST SC+1 ENABLE + 3158 ;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE + 3159 ;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS + 3160 ;IN ROT LEFT ONE + 3161 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 3162 ;WILL AFFECT TEST + 3163 + 3164 SN=SN+1 + 3165 ZZ=ZZ+ZZ + 3166 IFE ZZ, + 3167 MOVEI AC,1 ;SET BIT 35 + 3168 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 3169 CAIN AC,1 ;SC BIT (N) FAILED TO CLEAR + 3170 ER3 AC,SN ;ON NEGATE + 3171 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3172 > + 3173 + 3174 ;SCAD-SC NEGATE SET UP TEST + 3175 ;TEST A BIT FAILING TO CLEAR ON COMPLEMENT + 3176 ;TEST SC+1 ENABLE + 3177 ;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE + 3178 ;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS + 3179 ;IN ROT LEFT ONE + 3180 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 3181 ;WILL AFFECT TEST + 3182 + 3183 040601 SN=SN+1 + 3184 000000 ZZ=ZZ+ZZ + 3185 000001 IFE ZZ, + 3186 032546 201 03 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3187 032547 241 03 0 00 000001 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 3188 032550 306 03 0 00 000001 CAIN AC,1 ;SC BIT (N) FAILED TO CLEAR + 3189 032551 003 03 0 00 040601 ER3 AC,SN ;ON NEGATE + 3190 032552 321 05 0 00 032546 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3191 + 3192 + 3193 ;SCAD-SC NEGATE SET UP TEST + 3194 ;TEST A BIT FAILING TO CLEAR ON COMPLEMENT + 3195 ;TEST SC+1 ENABLE + 3196 ;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE + 3197 ;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 20-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0093 + + 3198 ;IN ROT LEFT ONE + 3199 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 3200 ;WILL AFFECT TEST + 3201 + 3202 040602 SN=SN+1 + 3203 000002 ZZ=ZZ+ZZ + 3204 IFE ZZ, + 3205 032553 201 03 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3206 032554 241 03 0 00 000002 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 3207 032555 306 03 0 00 000001 CAIN AC,1 ;SC BIT (N) FAILED TO CLEAR + 3208 032556 003 03 0 00 040602 ER3 AC,SN ;ON NEGATE + 3209 032557 321 05 0 00 032553 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3210 + 3211 + 3212 ;SCAD-SC NEGATE SET UP TEST + 3213 ;TEST A BIT FAILING TO CLEAR ON COMPLEMENT + 3214 ;TEST SC+1 ENABLE + 3215 ;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE + 3216 ;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS + 3217 ;IN ROT LEFT ONE + 3218 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 3219 ;WILL AFFECT TEST + 3220 + 3221 040603 SN=SN+1 + 3222 000004 ZZ=ZZ+ZZ + 3223 IFE ZZ, + 3224 032560 201 03 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3225 032561 241 03 0 00 000004 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 3226 032562 306 03 0 00 000001 CAIN AC,1 ;SC BIT (N) FAILED TO CLEAR + 3227 032563 003 03 0 00 040603 ER3 AC,SN ;ON NEGATE + 3228 032564 321 05 0 00 032560 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3229 + 3230 + 3231 ;SCAD-SC NEGATE SET UP TEST + 3232 ;TEST A BIT FAILING TO CLEAR ON COMPLEMENT + 3233 ;TEST SC+1 ENABLE + 3234 ;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE + 3235 ;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS + 3236 ;IN ROT LEFT ONE + 3237 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 3238 ;WILL AFFECT TEST + 3239 + 3240 040604 SN=SN+1 + 3241 000010 ZZ=ZZ+ZZ + 3242 IFE ZZ, + 3243 032565 201 03 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3244 032566 241 03 0 00 000010 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 3245 032567 306 03 0 00 000001 CAIN AC,1 ;SC BIT (N) FAILED TO CLEAR + 3246 032570 003 03 0 00 040604 ER3 AC,SN ;ON NEGATE + 3247 032571 321 05 0 00 032565 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3248 + 3249 + 3250 ;SCAD-SC NEGATE SET UP TEST + 3251 ;TEST A BIT FAILING TO CLEAR ON COMPLEMENT + 3252 ;TEST SC+1 ENABLE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 20-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0094 + + 3253 ;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE + 3254 ;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS + 3255 ;IN ROT LEFT ONE + 3256 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 3257 ;WILL AFFECT TEST + 3258 + 3259 040605 SN=SN+1 + 3260 000020 ZZ=ZZ+ZZ + 3261 IFE ZZ, + 3262 032572 201 03 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3263 032573 241 03 0 00 000020 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 3264 032574 306 03 0 00 000001 CAIN AC,1 ;SC BIT (N) FAILED TO CLEAR + 3265 032575 003 03 0 00 040605 ER3 AC,SN ;ON NEGATE + 3266 032576 321 05 0 00 032572 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3267 + 3268 + 3269 ;SCAD-SC NEGATE SET UP TEST + 3270 ;TEST A BIT FAILING TO CLEAR ON COMPLEMENT + 3271 ;TEST SC+1 ENABLE + 3272 ;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE + 3273 ;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS + 3274 ;IN ROT LEFT ONE + 3275 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 3276 ;WILL AFFECT TEST + 3277 + 3278 040606 SN=SN+1 + 3279 000040 ZZ=ZZ+ZZ + 3280 IFE ZZ, + 3281 032577 201 03 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3282 032600 241 03 0 00 000040 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 3283 032601 306 03 0 00 000001 CAIN AC,1 ;SC BIT (N) FAILED TO CLEAR + 3284 032602 003 03 0 00 040606 ER3 AC,SN ;ON NEGATE + 3285 032603 321 05 0 00 032577 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3286 + 3287 + 3288 ;SCAD-SC NEGATE SET UP TEST + 3289 ;TEST A BIT FAILING TO CLEAR ON COMPLEMENT + 3290 ;TEST SC+1 ENABLE + 3291 ;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE + 3292 ;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS + 3293 ;IN ROT LEFT ONE + 3294 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 3295 ;WILL AFFECT TEST + 3296 + 3297 040607 SN=SN+1 + 3298 000100 ZZ=ZZ+ZZ + 3299 IFE ZZ, + 3300 032604 201 03 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3301 032605 241 03 0 00 000100 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 3302 032606 306 03 0 00 000001 CAIN AC,1 ;SC BIT (N) FAILED TO CLEAR + 3303 032607 003 03 0 00 040607 ER3 AC,SN ;ON NEGATE + 3304 032610 321 05 0 00 032604 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3305 + 3306 + 3307 ;SCAD-SC NEGATE SET UP TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 20-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0095 + + 3308 ;TEST A BIT FAILING TO CLEAR ON COMPLEMENT + 3309 ;TEST SC+1 ENABLE + 3310 ;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE + 3311 ;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS + 3312 ;IN ROT LEFT ONE + 3313 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 3314 ;WILL AFFECT TEST + 3315 + 3316 040610 SN=SN+1 + 3317 000200 ZZ=ZZ+ZZ + 3318 IFE ZZ, + 3319 032611 201 03 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3320 032612 241 03 0 00 000200 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 3321 032613 306 03 0 00 000001 CAIN AC,1 ;SC BIT (N) FAILED TO CLEAR + 3322 032614 003 03 0 00 040610 ER3 AC,SN ;ON NEGATE + 3323 032615 321 05 0 00 032611 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3324 + 3325 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 20-4 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0096 + + 3326 040700 SN=40700 + 3327 000001 ZZ=1 + 3328 + 3329 ;TEST FOR ROTATE LEFT ONE + 3330 E40700: REPEAT ^D7,< + 3331 ;SCAD-SC NEGATE SET UP TEST + 3332 ;TEST A BIT FAILING TO CLEAR ON COMPLEMENT + 3333 ;TEST SC+1 ENABLE + 3334 ;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE + 3335 ;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS + 3336 ;IN ROT LEFT ONE + 3337 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 3338 ;WILL AFFECT TEST + 3339 + 3340 SN=SN+1 + 3341 ZZ=ZZ+ZZ + 3342 MOVEI AC,1 ;SET BIT 35 + 3343 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 3344 CAIN AC,2 ;SC BIT (N) FAILED TO CLEAR + 3345 ER3 AC,SN ;AND SC+1 FAILED + 3346 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3347 > + 3348 + 3349 ;SCAD-SC NEGATE SET UP TEST + 3350 ;TEST A BIT FAILING TO CLEAR ON COMPLEMENT + 3351 ;TEST SC+1 ENABLE + 3352 ;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE + 3353 ;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS + 3354 ;IN ROT LEFT ONE + 3355 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 3356 ;WILL AFFECT TEST + 3357 + 3358 040701 SN=SN+1 + 3359 000002 ZZ=ZZ+ZZ + 3360 032616 201 03 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3361 032617 241 03 0 00 000002 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 3362 032620 306 03 0 00 000002 CAIN AC,2 ;SC BIT (N) FAILED TO CLEAR + 3363 032621 003 03 0 00 040701 ER3 AC,SN ;AND SC+1 FAILED + 3364 032622 321 05 0 00 032616 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3365 + 3366 + 3367 ;SCAD-SC NEGATE SET UP TEST + 3368 ;TEST A BIT FAILING TO CLEAR ON COMPLEMENT + 3369 ;TEST SC+1 ENABLE + 3370 ;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE + 3371 ;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS + 3372 ;IN ROT LEFT ONE + 3373 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 3374 ;WILL AFFECT TEST + 3375 + 3376 040702 SN=SN+1 + 3377 000004 ZZ=ZZ+ZZ + 3378 032623 201 03 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3379 032624 241 03 0 00 000004 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 3380 032625 306 03 0 00 000002 CAIN AC,2 ;SC BIT (N) FAILED TO CLEAR +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 20-5 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0097 + + 3381 032626 003 03 0 00 040702 ER3 AC,SN ;AND SC+1 FAILED + 3382 032627 321 05 0 00 032623 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3383 + 3384 + 3385 ;SCAD-SC NEGATE SET UP TEST + 3386 ;TEST A BIT FAILING TO CLEAR ON COMPLEMENT + 3387 ;TEST SC+1 ENABLE + 3388 ;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE + 3389 ;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS + 3390 ;IN ROT LEFT ONE + 3391 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 3392 ;WILL AFFECT TEST + 3393 + 3394 040703 SN=SN+1 + 3395 000010 ZZ=ZZ+ZZ + 3396 032630 201 03 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3397 032631 241 03 0 00 000010 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 3398 032632 306 03 0 00 000002 CAIN AC,2 ;SC BIT (N) FAILED TO CLEAR + 3399 032633 003 03 0 00 040703 ER3 AC,SN ;AND SC+1 FAILED + 3400 032634 321 05 0 00 032630 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3401 + 3402 + 3403 ;SCAD-SC NEGATE SET UP TEST + 3404 ;TEST A BIT FAILING TO CLEAR ON COMPLEMENT + 3405 ;TEST SC+1 ENABLE + 3406 ;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE + 3407 ;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS + 3408 ;IN ROT LEFT ONE + 3409 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 3410 ;WILL AFFECT TEST + 3411 + 3412 040704 SN=SN+1 + 3413 000020 ZZ=ZZ+ZZ + 3414 032635 201 03 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3415 032636 241 03 0 00 000020 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 3416 032637 306 03 0 00 000002 CAIN AC,2 ;SC BIT (N) FAILED TO CLEAR + 3417 032640 003 03 0 00 040704 ER3 AC,SN ;AND SC+1 FAILED + 3418 032641 321 05 0 00 032635 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3419 + 3420 + 3421 ;SCAD-SC NEGATE SET UP TEST + 3422 ;TEST A BIT FAILING TO CLEAR ON COMPLEMENT + 3423 ;TEST SC+1 ENABLE + 3424 ;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE + 3425 ;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS + 3426 ;IN ROT LEFT ONE + 3427 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 3428 ;WILL AFFECT TEST + 3429 + 3430 040705 SN=SN+1 + 3431 000040 ZZ=ZZ+ZZ + 3432 032642 201 03 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3433 032643 241 03 0 00 000040 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 3434 032644 306 03 0 00 000002 CAIN AC,2 ;SC BIT (N) FAILED TO CLEAR + 3435 032645 003 03 0 00 040705 ER3 AC,SN ;AND SC+1 FAILED +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 20-6 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0098 + + 3436 032646 321 05 0 00 032642 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3437 + 3438 + 3439 ;SCAD-SC NEGATE SET UP TEST + 3440 ;TEST A BIT FAILING TO CLEAR ON COMPLEMENT + 3441 ;TEST SC+1 ENABLE + 3442 ;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE + 3443 ;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS + 3444 ;IN ROT LEFT ONE + 3445 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 3446 ;WILL AFFECT TEST + 3447 + 3448 040706 SN=SN+1 + 3449 000100 ZZ=ZZ+ZZ + 3450 032647 201 03 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3451 032650 241 03 0 00 000100 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 3452 032651 306 03 0 00 000002 CAIN AC,2 ;SC BIT (N) FAILED TO CLEAR + 3453 032652 003 03 0 00 040706 ER3 AC,SN ;AND SC+1 FAILED + 3454 032653 321 05 0 00 032647 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3455 + 3456 + 3457 ;SCAD-SC NEGATE SET UP TEST + 3458 ;TEST A BIT FAILING TO CLEAR ON COMPLEMENT + 3459 ;TEST SC+1 ENABLE + 3460 ;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE + 3461 ;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS + 3462 ;IN ROT LEFT ONE + 3463 ;MALFUNCTION OF SCAD OR SC COUNT GATES + 3464 ;WILL AFFECT TEST + 3465 + 3466 040707 SN=SN+1 + 3467 000200 ZZ=ZZ+ZZ + 3468 032654 201 03 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3469 032655 241 03 0 00 000200 ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + 3470 032656 306 03 0 00 000002 CAIN AC,2 ;SC BIT (N) FAILED TO CLEAR + 3471 032657 003 03 0 00 040707 ER3 AC,SN ;AND SC+1 FAILED + 3472 032660 321 05 0 00 032654 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3473 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 21 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0099 + + 3474 000002 AC=2 + 3475 SAVEAC (1,1)^ + 3476 032661 201 04 0 00 032661 MOVEI AC+2,. ;SETUP TESTPC + 3477 032662 202 04 0 00 030051 MOVEM AC+2,TESTPC + 3478 032663 201 04 0 00 000004 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 3479 032664 202 04 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 3480 + 3481 041000 SN=41000 + 3482 000001 XX=1 + 3483 000000 ZZ=0 + 3484 + 3485 ;ROTATE FROM 3 TO 17 TIMES + 3486 E41000: REPEAT ^D5,< + 3487 ;SCAD SC COUNT TEST + 3488 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3489 ;COUNT THE SHIFT COUNTER + 3490 ;TEST SC-SCAD CONNECTION + 3491 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3492 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3493 ;THE CORRECT NUMBER OF BITS + 3494 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3495 ;LOGIC + 3496 + 3497 SN=SN+1 + 3498 XX=XX*10 + 3499 ZZ=ZZ+3 + 3500 MOVEI AC,1 ;SET BIT 35 + 3501 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3502 CAIE AC,XX ;TEST AC + 3503 ER3 AC,SN ;INCORRECT ROTATE + 3504 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3505 > + 3506 + 3507 ;SCAD SC COUNT TEST + 3508 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3509 ;COUNT THE SHIFT COUNTER + 3510 ;TEST SC-SCAD CONNECTION + 3511 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3512 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3513 ;THE CORRECT NUMBER OF BITS + 3514 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3515 ;LOGIC + 3516 + 3517 041001 SN=SN+1 + 3518 000010 XX=XX*10 + 3519 000003 ZZ=ZZ+3 + 3520 032665 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3521 032666 241 02 0 00 000003 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3522 032667 302 02 0 00 000010 CAIE AC,XX ;TEST AC + 3523 032670 003 02 0 00 041001 ER3 AC,SN ;INCORRECT ROTATE + 3524 032671 321 04 0 00 032665 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3525 + 3526 + 3527 ;SCAD SC COUNT TEST + 3528 ;TEST THE ABILITY OF SCAD TO PROPERLY +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 21-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0100 + + 3529 ;COUNT THE SHIFT COUNTER + 3530 ;TEST SC-SCAD CONNECTION + 3531 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3532 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3533 ;THE CORRECT NUMBER OF BITS + 3534 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3535 ;LOGIC + 3536 + 3537 041002 SN=SN+1 + 3538 000100 XX=XX*10 + 3539 000006 ZZ=ZZ+3 + 3540 032672 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3541 032673 241 02 0 00 000006 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3542 032674 302 02 0 00 000100 CAIE AC,XX ;TEST AC + 3543 032675 003 02 0 00 041002 ER3 AC,SN ;INCORRECT ROTATE + 3544 032676 321 04 0 00 032672 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3545 + 3546 + 3547 ;SCAD SC COUNT TEST + 3548 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3549 ;COUNT THE SHIFT COUNTER + 3550 ;TEST SC-SCAD CONNECTION + 3551 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3552 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3553 ;THE CORRECT NUMBER OF BITS + 3554 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3555 ;LOGIC + 3556 + 3557 041003 SN=SN+1 + 3558 001000 XX=XX*10 + 3559 000011 ZZ=ZZ+3 + 3560 032677 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3561 032700 241 02 0 00 000011 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3562 032701 302 02 0 00 001000 CAIE AC,XX ;TEST AC + 3563 032702 003 02 0 00 041003 ER3 AC,SN ;INCORRECT ROTATE + 3564 032703 321 04 0 00 032677 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3565 + 3566 + 3567 ;SCAD SC COUNT TEST + 3568 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3569 ;COUNT THE SHIFT COUNTER + 3570 ;TEST SC-SCAD CONNECTION + 3571 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3572 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3573 ;THE CORRECT NUMBER OF BITS + 3574 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3575 ;LOGIC + 3576 + 3577 041004 SN=SN+1 + 3578 010000 XX=XX*10 + 3579 000014 ZZ=ZZ+3 + 3580 032704 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3581 032705 241 02 0 00 000014 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3582 032706 302 02 0 00 010000 CAIE AC,XX ;TEST AC + 3583 032707 003 02 0 00 041004 ER3 AC,SN ;INCORRECT ROTATE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 21-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0101 + + 3584 032710 321 04 0 00 032704 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3585 + 3586 + 3587 ;SCAD SC COUNT TEST + 3588 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3589 ;COUNT THE SHIFT COUNTER + 3590 ;TEST SC-SCAD CONNECTION + 3591 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3592 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3593 ;THE CORRECT NUMBER OF BITS + 3594 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3595 ;LOGIC + 3596 + 3597 041005 SN=SN+1 + 3598 100000 XX=XX*10 + 3599 000017 ZZ=ZZ+3 + 3600 032711 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3601 032712 241 02 0 00 000017 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3602 032713 302 02 0 00 100000 CAIE AC,XX ;TEST AC + 3603 032714 003 02 0 00 041005 ER3 AC,SN ;INCORRECT ROTATE + 3604 032715 321 04 0 00 032711 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3605 + 3606 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 21-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0102 + + 3607 041100 SN=41100 + 3608 000000 XX=0 + 3609 + 3610 ;ROTATE FROM 22 TO 41 TIMES + 3611 E41100: REPEAT ^D6,< + 3612 ;SCAD SC COUNT TEST + 3613 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3614 ;COUNT THE SHIFT COUNTER + 3615 ;TEST SC-SCAD CONNECTION + 3616 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3617 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3618 ;THE CORRECT NUMBER OF BITS + 3619 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3620 ;LOGIC + 3621 + 3622 SN=SN+1 + 3623 XX=XX*10 + 3624 ZZ=ZZ+3 + 3625 IFE XX, + 3626 MOVEI AC,1 ;SET BIT 35 + 3627 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3628 MOVSS AC ;SWAP CONTENTS OF AC + 3629 CAIE AC,XX ;TEST AC + 3630 ER3 AC,SN ;INCORRECT ROTATE + 3631 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 3632 > + 3633 + 3634 ;SCAD SC COUNT TEST + 3635 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3636 ;COUNT THE SHIFT COUNTER + 3637 ;TEST SC-SCAD CONNECTION + 3638 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3639 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3640 ;THE CORRECT NUMBER OF BITS + 3641 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3642 ;LOGIC + 3643 + 3644 041101 SN=SN+1 + 3645 000000 XX=XX*10 + 3646 000022 ZZ=ZZ+3 + 3647 000001 IFE XX, + 3648 032716 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3649 032717 241 02 0 00 000022 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3650 032720 207 00 0 00 000002 MOVSS AC ;SWAP CONTENTS OF AC + 3651 032721 302 02 0 00 000001 CAIE AC,XX ;TEST AC + 3652 032722 003 02 0 00 041101 ER3 AC,SN ;INCORRECT ROTATE + 3653 032723 321 04 0 00 032716 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 3654 + 3655 + 3656 ;SCAD SC COUNT TEST + 3657 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3658 ;COUNT THE SHIFT COUNTER + 3659 ;TEST SC-SCAD CONNECTION + 3660 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3661 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 21-4 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0103 + + 3662 ;THE CORRECT NUMBER OF BITS + 3663 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3664 ;LOGIC + 3665 + 3666 041102 SN=SN+1 + 3667 000010 XX=XX*10 + 3668 000025 ZZ=ZZ+3 + 3669 IFE XX, + 3670 032724 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3671 032725 241 02 0 00 000025 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3672 032726 207 00 0 00 000002 MOVSS AC ;SWAP CONTENTS OF AC + 3673 032727 302 02 0 00 000010 CAIE AC,XX ;TEST AC + 3674 032730 003 02 0 00 041102 ER3 AC,SN ;INCORRECT ROTATE + 3675 032731 321 04 0 00 032724 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 3676 + 3677 + 3678 ;SCAD SC COUNT TEST + 3679 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3680 ;COUNT THE SHIFT COUNTER + 3681 ;TEST SC-SCAD CONNECTION + 3682 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3683 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3684 ;THE CORRECT NUMBER OF BITS + 3685 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3686 ;LOGIC + 3687 + 3688 041103 SN=SN+1 + 3689 000100 XX=XX*10 + 3690 000030 ZZ=ZZ+3 + 3691 IFE XX, + 3692 032732 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3693 032733 241 02 0 00 000030 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3694 032734 207 00 0 00 000002 MOVSS AC ;SWAP CONTENTS OF AC + 3695 032735 302 02 0 00 000100 CAIE AC,XX ;TEST AC + 3696 032736 003 02 0 00 041103 ER3 AC,SN ;INCORRECT ROTATE + 3697 032737 321 04 0 00 032732 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 3698 + 3699 + 3700 ;SCAD SC COUNT TEST + 3701 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3702 ;COUNT THE SHIFT COUNTER + 3703 ;TEST SC-SCAD CONNECTION + 3704 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3705 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3706 ;THE CORRECT NUMBER OF BITS + 3707 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3708 ;LOGIC + 3709 + 3710 041104 SN=SN+1 + 3711 001000 XX=XX*10 + 3712 000033 ZZ=ZZ+3 + 3713 IFE XX, + 3714 032740 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3715 032741 241 02 0 00 000033 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3716 032742 207 00 0 00 000002 MOVSS AC ;SWAP CONTENTS OF AC +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 21-5 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0104 + + 3717 032743 302 02 0 00 001000 CAIE AC,XX ;TEST AC + 3718 032744 003 02 0 00 041104 ER3 AC,SN ;INCORRECT ROTATE + 3719 032745 321 04 0 00 032740 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 3720 + 3721 + 3722 ;SCAD SC COUNT TEST + 3723 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3724 ;COUNT THE SHIFT COUNTER + 3725 ;TEST SC-SCAD CONNECTION + 3726 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3727 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3728 ;THE CORRECT NUMBER OF BITS + 3729 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3730 ;LOGIC + 3731 + 3732 041105 SN=SN+1 + 3733 010000 XX=XX*10 + 3734 000036 ZZ=ZZ+3 + 3735 IFE XX, + 3736 032746 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3737 032747 241 02 0 00 000036 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3738 032750 207 00 0 00 000002 MOVSS AC ;SWAP CONTENTS OF AC + 3739 032751 302 02 0 00 010000 CAIE AC,XX ;TEST AC + 3740 032752 003 02 0 00 041105 ER3 AC,SN ;INCORRECT ROTATE + 3741 032753 321 04 0 00 032746 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 3742 + 3743 + 3744 ;SCAD SC COUNT TEST + 3745 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3746 ;COUNT THE SHIFT COUNTER + 3747 ;TEST SC-SCAD CONNECTION + 3748 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3749 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3750 ;THE CORRECT NUMBER OF BITS + 3751 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3752 ;LOGIC + 3753 + 3754 041106 SN=SN+1 + 3755 100000 XX=XX*10 + 3756 000041 ZZ=ZZ+3 + 3757 IFE XX, + 3758 032754 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3759 032755 241 02 0 00 000041 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3760 032756 207 00 0 00 000002 MOVSS AC ;SWAP CONTENTS OF AC + 3761 032757 302 02 0 00 100000 CAIE AC,XX ;TEST AC + 3762 032760 003 02 0 00 041106 ER3 AC,SN ;INCORRECT ROTATE + 3763 032761 321 04 0 00 032754 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 3764 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 22 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0105 + + 3765 041200 SN=41200 + 3766 000000 XX=0 + 3767 + 3768 ;ROTATE FROM 44 TO 36 TIMES + 3769 E41200: REPEAT ^D6,< + 3770 ;SCAD SC COUNT TEST + 3771 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3772 ;COUNT THE SHIFT COUNTER + 3773 ;TEST SC-SCAD CONNECTION + 3774 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3775 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3776 ;THE CORRECT NUMBER OF BITS + 3777 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3778 ;LOGIC + 3779 + 3780 SN=SN+1 + 3781 XX=XX*10 + 3782 ZZ=ZZ+3 + 3783 IFE XX, + 3784 MOVEI AC,1 ;SET BIT 35 + 3785 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3786 CAIE AC,XX ;TEST AC + 3787 ER3 AC,SN ;INCORRECT ROTATE + 3788 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3789 > + 3790 + 3791 ;SCAD SC COUNT TEST + 3792 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3793 ;COUNT THE SHIFT COUNTER + 3794 ;TEST SC-SCAD CONNECTION + 3795 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3796 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3797 ;THE CORRECT NUMBER OF BITS + 3798 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3799 ;LOGIC + 3800 + 3801 041201 SN=SN+1 + 3802 000000 XX=XX*10 + 3803 000044 ZZ=ZZ+3 + 3804 000001 IFE XX, + 3805 032762 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3806 032763 241 02 0 00 000044 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3807 032764 302 02 0 00 000001 CAIE AC,XX ;TEST AC + 3808 032765 003 02 0 00 041201 ER3 AC,SN ;INCORRECT ROTATE + 3809 032766 321 04 0 00 032762 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3810 + 3811 + 3812 ;SCAD SC COUNT TEST + 3813 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3814 ;COUNT THE SHIFT COUNTER + 3815 ;TEST SC-SCAD CONNECTION + 3816 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3817 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3818 ;THE CORRECT NUMBER OF BITS + 3819 ;ROTATING TO THE LEFT EXERCISES MAXIMUM +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 22-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0106 + + 3820 ;LOGIC + 3821 + 3822 041202 SN=SN+1 + 3823 000010 XX=XX*10 + 3824 000047 ZZ=ZZ+3 + 3825 IFE XX, + 3826 032767 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3827 032770 241 02 0 00 000047 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3828 032771 302 02 0 00 000010 CAIE AC,XX ;TEST AC + 3829 032772 003 02 0 00 041202 ER3 AC,SN ;INCORRECT ROTATE + 3830 032773 321 04 0 00 032767 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3831 + 3832 + 3833 ;SCAD SC COUNT TEST + 3834 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3835 ;COUNT THE SHIFT COUNTER + 3836 ;TEST SC-SCAD CONNECTION + 3837 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3838 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3839 ;THE CORRECT NUMBER OF BITS + 3840 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3841 ;LOGIC + 3842 + 3843 041203 SN=SN+1 + 3844 000100 XX=XX*10 + 3845 000052 ZZ=ZZ+3 + 3846 IFE XX, + 3847 032774 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3848 032775 241 02 0 00 000052 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3849 032776 302 02 0 00 000100 CAIE AC,XX ;TEST AC + 3850 032777 003 02 0 00 041203 ER3 AC,SN ;INCORRECT ROTATE + 3851 033000 321 04 0 00 032774 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3852 + 3853 + 3854 ;SCAD SC COUNT TEST + 3855 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3856 ;COUNT THE SHIFT COUNTER + 3857 ;TEST SC-SCAD CONNECTION + 3858 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3859 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3860 ;THE CORRECT NUMBER OF BITS + 3861 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3862 ;LOGIC + 3863 + 3864 041204 SN=SN+1 + 3865 001000 XX=XX*10 + 3866 000055 ZZ=ZZ+3 + 3867 IFE XX, + 3868 033001 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3869 033002 241 02 0 00 000055 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3870 033003 302 02 0 00 001000 CAIE AC,XX ;TEST AC + 3871 033004 003 02 0 00 041204 ER3 AC,SN ;INCORRECT ROTATE + 3872 033005 321 04 0 00 033001 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3873 + 3874 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 22-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0107 + + 3875 ;SCAD SC COUNT TEST + 3876 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3877 ;COUNT THE SHIFT COUNTER + 3878 ;TEST SC-SCAD CONNECTION + 3879 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3880 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3881 ;THE CORRECT NUMBER OF BITS + 3882 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3883 ;LOGIC + 3884 + 3885 041205 SN=SN+1 + 3886 010000 XX=XX*10 + 3887 000060 ZZ=ZZ+3 + 3888 IFE XX, + 3889 033006 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3890 033007 241 02 0 00 000060 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3891 033010 302 02 0 00 010000 CAIE AC,XX ;TEST AC + 3892 033011 003 02 0 00 041205 ER3 AC,SN ;INCORRECT ROTATE + 3893 033012 321 04 0 00 033006 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3894 + 3895 + 3896 ;SCAD SC COUNT TEST + 3897 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3898 ;COUNT THE SHIFT COUNTER + 3899 ;TEST SC-SCAD CONNECTION + 3900 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3901 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3902 ;THE CORRECT NUMBER OF BITS + 3903 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3904 ;LOGIC + 3905 + 3906 041206 SN=SN+1 + 3907 100000 XX=XX*10 + 3908 000063 ZZ=ZZ+3 + 3909 IFE XX, + 3910 033013 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3911 033014 241 02 0 00 000063 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3912 033015 302 02 0 00 100000 CAIE AC,XX ;TEST AC + 3913 033016 003 02 0 00 041206 ER3 AC,SN ;INCORRECT ROTATE + 3914 033017 321 04 0 00 033013 JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH + 3915 + 3916 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 22-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0108 + + 3917 041300 SN=41300 + 3918 000000 XX=0 + 3919 + 3920 ;ROTATE FROM 66 TO 105 TIMES + 3921 E41300: REPEAT ^D6,< + 3922 ;SCAD SC COUNT TEST + 3923 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3924 ;COUNT THE SHIFT COUNTER + 3925 ;TEST SC-SCAD CONNECTION + 3926 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3927 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3928 ;THE CORRECT NUMBER OF BITS + 3929 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3930 ;LOGIC + 3931 + 3932 SN=SN+1 + 3933 XX=XX*10 + 3934 ZZ=ZZ+3 + 3935 IFE XX, + 3936 MOVEI AC,1 ;SET BIT 35 + 3937 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3938 MOVSS AC ;SWAP CONTENTS OF AC + 3939 CAIE AC,XX ;TEST AC + 3940 ER3 AC,SN ;INCORRECT ROTATE + 3941 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 3942 > + 3943 + 3944 ;SCAD SC COUNT TEST + 3945 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3946 ;COUNT THE SHIFT COUNTER + 3947 ;TEST SC-SCAD CONNECTION + 3948 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3949 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3950 ;THE CORRECT NUMBER OF BITS + 3951 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3952 ;LOGIC + 3953 + 3954 041301 SN=SN+1 + 3955 000000 XX=XX*10 + 3956 000066 ZZ=ZZ+3 + 3957 000001 IFE XX, + 3958 033020 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3959 033021 241 02 0 00 000066 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3960 033022 207 00 0 00 000002 MOVSS AC ;SWAP CONTENTS OF AC + 3961 033023 302 02 0 00 000001 CAIE AC,XX ;TEST AC + 3962 033024 003 02 0 00 041301 ER3 AC,SN ;INCORRECT ROTATE + 3963 033025 321 04 0 00 033020 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 3964 + 3965 + 3966 ;SCAD SC COUNT TEST + 3967 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3968 ;COUNT THE SHIFT COUNTER + 3969 ;TEST SC-SCAD CONNECTION + 3970 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3971 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 22-4 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0109 + + 3972 ;THE CORRECT NUMBER OF BITS + 3973 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3974 ;LOGIC + 3975 + 3976 041302 SN=SN+1 + 3977 000010 XX=XX*10 + 3978 000071 ZZ=ZZ+3 + 3979 IFE XX, + 3980 033026 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 3981 033027 241 02 0 00 000071 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 3982 033030 207 00 0 00 000002 MOVSS AC ;SWAP CONTENTS OF AC + 3983 033031 302 02 0 00 000010 CAIE AC,XX ;TEST AC + 3984 033032 003 02 0 00 041302 ER3 AC,SN ;INCORRECT ROTATE + 3985 033033 321 04 0 00 033026 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 3986 + 3987 + 3988 ;SCAD SC COUNT TEST + 3989 ;TEST THE ABILITY OF SCAD TO PROPERLY + 3990 ;COUNT THE SHIFT COUNTER + 3991 ;TEST SC-SCAD CONNECTION + 3992 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 3993 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 3994 ;THE CORRECT NUMBER OF BITS + 3995 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 3996 ;LOGIC + 3997 + 3998 041303 SN=SN+1 + 3999 000100 XX=XX*10 + 4000 000074 ZZ=ZZ+3 + 4001 IFE XX, + 4002 033034 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 4003 033035 241 02 0 00 000074 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 4004 033036 207 00 0 00 000002 MOVSS AC ;SWAP CONTENTS OF AC + 4005 033037 302 02 0 00 000100 CAIE AC,XX ;TEST AC + 4006 033040 003 02 0 00 041303 ER3 AC,SN ;INCORRECT ROTATE + 4007 033041 321 04 0 00 033034 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 4008 + 4009 + 4010 ;SCAD SC COUNT TEST + 4011 ;TEST THE ABILITY OF SCAD TO PROPERLY + 4012 ;COUNT THE SHIFT COUNTER + 4013 ;TEST SC-SCAD CONNECTION + 4014 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 4015 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 4016 ;THE CORRECT NUMBER OF BITS + 4017 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 4018 ;LOGIC + 4019 + 4020 041304 SN=SN+1 + 4021 001000 XX=XX*10 + 4022 000077 ZZ=ZZ+3 + 4023 IFE XX, + 4024 033042 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 4025 033043 241 02 0 00 000077 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 4026 033044 207 00 0 00 000002 MOVSS AC ;SWAP CONTENTS OF AC +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 22-5 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SC-SCAD GATING TEST SEQ 0110 + + 4027 033045 302 02 0 00 001000 CAIE AC,XX ;TEST AC + 4028 033046 003 02 0 00 041304 ER3 AC,SN ;INCORRECT ROTATE + 4029 033047 321 04 0 00 033042 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 4030 + 4031 + 4032 ;SCAD SC COUNT TEST + 4033 ;TEST THE ABILITY OF SCAD TO PROPERLY + 4034 ;COUNT THE SHIFT COUNTER + 4035 ;TEST SC-SCAD CONNECTION + 4036 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 4037 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 4038 ;THE CORRECT NUMBER OF BITS + 4039 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 4040 ;LOGIC + 4041 + 4042 041305 SN=SN+1 + 4043 010000 XX=XX*10 + 4044 000102 ZZ=ZZ+3 + 4045 IFE XX, + 4046 033050 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 4047 033051 241 02 0 00 000102 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 4048 033052 207 00 0 00 000002 MOVSS AC ;SWAP CONTENTS OF AC + 4049 033053 302 02 0 00 010000 CAIE AC,XX ;TEST AC + 4050 033054 003 02 0 00 041305 ER3 AC,SN ;INCORRECT ROTATE + 4051 033055 321 04 0 00 033050 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 4052 + 4053 + 4054 ;SCAD SC COUNT TEST + 4055 ;TEST THE ABILITY OF SCAD TO PROPERLY + 4056 ;COUNT THE SHIFT COUNTER + 4057 ;TEST SC-SCAD CONNECTION + 4058 ;AC IS ROTATED FROM 3 THROUGH 105 TIMES + 4059 ;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE + 4060 ;THE CORRECT NUMBER OF BITS + 4061 ;ROTATING TO THE LEFT EXERCISES MAXIMUM + 4062 ;LOGIC + 4063 + 4064 041306 SN=SN+1 + 4065 100000 XX=XX*10 + 4066 000105 ZZ=ZZ+3 + 4067 IFE XX, + 4068 033056 201 02 0 00 000001 MOVEI AC,1 ;SET BIT 35 + 4069 033057 241 02 0 00 000105 ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 4070 033060 207 00 0 00 000002 MOVSS AC ;SWAP CONTENTS OF AC + 4071 033061 302 02 0 00 100000 CAIE AC,XX ;TEST AC + 4072 033062 003 02 0 00 041306 ER3 AC,SN ;INCORRECT ROTATE + 4073 033063 321 04 0 00 033056 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 4074 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 23 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SHIFT COUNTER RELIABILITY TEST SEQ 0111 + + 4075 SUBTTL DIAGNOSTIC SECTION - SHIFT COUNTER RELIABILITY TEST + 4076 + 4077 ;SHIFT COUNTER TEST + 4078 ;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + 4079 SR1 (461,230703,603700,230703,603700,ROT,0)^ + 4080 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 0 BIT + 4081 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 4082 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4083 + 4084 033064 200 02 0 00 036635 E46100: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4085 033065 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4086 033066 241 02 0 00 000000 ROT AC,0 ;*SHIFT/ROTATE 0 BIT POSITIONS + 4087 033067 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 4088 033070 003 02 0 00 046101 ER3 AC,46101 ;RESULT IN AC IS INCORRECT + 4089 033071 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4090 033072 004 03 0 00 046101 ER4 AC+1,46101 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4091 033073 321 04 0 00 033064 JUMPL AC+2,E46100 ;LOOP ON ERROR SWITCH^ + 4092 + 4093 ;SHIFT COUNTER TEST + 4094 ;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + 4095 SR1 (462,230703,603700,700230,703603,ROT,77)^ + 4096 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 77 BIT + 4097 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 700230,703603] + 4098 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4099 + 4100 033074 200 02 0 00 036635 E46200: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4101 033075 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4102 033076 241 02 0 00 000077 ROT AC,77 ;*SHIFT/ROTATE 77 BIT POSITIONS + 4103 033077 312 02 0 00 036636 CAME AC,[XWD 700230,703603] ;IS RESULT IN AC CORRECT? + 4104 033100 003 02 0 00 046201 ER3 AC,46201 ;RESULT IN AC IS INCORRECT + 4105 033101 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4106 033102 004 03 0 00 046201 ER4 AC+1,46201 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4107 033103 321 04 0 00 033074 JUMPL AC+2,E46200 ;LOOP ON ERROR SWITCH^ + 4108 + 4109 ;SHIFT COUNTER TEST + 4110 ;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + 4111 SR1 (463,230703,603700,740114,341701,ROT,76)^ + 4112 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 76 BIT + 4113 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 740114,341701] + 4114 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4115 + 4116 033104 200 02 0 00 036635 E46300: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4117 033105 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4118 033106 241 02 0 00 000076 ROT AC,76 ;*SHIFT/ROTATE 76 BIT POSITIONS + 4119 033107 312 02 0 00 036637 CAME AC,[XWD 740114,341701] ;IS RESULT IN AC CORRECT? + 4120 033110 003 02 0 00 046301 ER3 AC,46301 ;RESULT IN AC IS INCORRECT + 4121 033111 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4122 033112 004 03 0 00 046301 ER4 AC+1,46301 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4123 033113 321 04 0 00 033104 JUMPL AC+2,E46300 ;LOOP ON ERROR SWITCH^ + 4124 + 4125 ;SHIFT COUNTER TEST + 4126 ;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + 4127 SR1 (464,230703,603700,370023,070360,ROT,74)^ + 4128 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 74 BIT + 4129 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 370023,070360] +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 23-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SHIFT COUNTER RELIABILITY TEST SEQ 0112 + + 4130 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4131 + 4132 033114 200 02 0 00 036635 E46400: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4133 033115 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4134 033116 241 02 0 00 000074 ROT AC,74 ;*SHIFT/ROTATE 74 BIT POSITIONS + 4135 033117 312 02 0 00 036640 CAME AC,[XWD 370023,070360] ;IS RESULT IN AC CORRECT? + 4136 033120 003 02 0 00 046401 ER3 AC,46401 ;RESULT IN AC IS INCORRECT + 4137 033121 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4138 033122 004 03 0 00 046401 ER4 AC+1,46401 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4139 033123 321 04 0 00 033114 JUMPL AC+2,E46400 ;LOOP ON ERROR SWITCH^ + 4140 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 23-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SHIFT COUNTER RELIABILITY TEST SEQ 0113 + + 4141 ;SHIFT COUNTER TEST + 4142 ;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + 4143 SR1 (465,230703,603700,017401,143417,ROT,70)^ + 4144 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 70 BIT + 4145 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 017401,143417] + 4146 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4147 + 4148 033124 200 02 0 00 036635 E46500: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4149 033125 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4150 033126 241 02 0 00 000070 ROT AC,70 ;*SHIFT/ROTATE 70 BIT POSITIONS + 4151 033127 312 02 0 00 036641 CAME AC,[XWD 017401,143417] ;IS RESULT IN AC CORRECT? + 4152 033130 003 02 0 00 046501 ER3 AC,46501 ;RESULT IN AC IS INCORRECT + 4153 033131 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4154 033132 004 03 0 00 046501 ER4 AC+1,46501 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4155 033133 321 04 0 00 033124 JUMPL AC+2,E46500 ;LOOP ON ERROR SWITCH^ + 4156 + 4157 ;SHIFT COUNTER TEST + 4158 ;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + 4159 SR1 (466,230703,603700,036037,002307,ROT,60)^ + 4160 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 60 BIT + 4161 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 036037,002307] + 4162 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4163 + 4164 033134 200 02 0 00 036635 E46600: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4165 033135 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4166 033136 241 02 0 00 000060 ROT AC,60 ;*SHIFT/ROTATE 60 BIT POSITIONS + 4167 033137 312 02 0 00 036642 CAME AC,[XWD 036037,002307] ;IS RESULT IN AC CORRECT? + 4168 033140 003 02 0 00 046601 ER3 AC,46601 ;RESULT IN AC IS INCORRECT + 4169 033141 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4170 033142 004 03 0 00 046601 ER4 AC+1,46601 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4171 033143 321 04 0 00 033134 JUMPL AC+2,E46600 ;LOOP ON ERROR SWITCH^ + 4172 + 4173 ;SHIFT COUNTER TEST + 4174 ;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + 4175 SR1 (467,230703,603700,011434,170174,ROT,40)^ + 4176 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 40 BIT + 4177 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 011434,170174] + 4178 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4179 + 4180 033144 200 02 0 00 036635 E46700: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4181 033145 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4182 033146 241 02 0 00 000040 ROT AC,40 ;*SHIFT/ROTATE 40 BIT POSITIONS + 4183 033147 312 02 0 00 036643 CAME AC,[XWD 011434,170174] ;IS RESULT IN AC CORRECT? + 4184 033150 003 02 0 00 046701 ER3 AC,46701 ;RESULT IN AC IS INCORRECT + 4185 033151 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4186 033152 004 03 0 00 046701 ER4 AC+1,46701 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4187 033153 321 04 0 00 033144 JUMPL AC+2,E46700 ;LOOP ON ERROR SWITCH^ + 4188 + 4189 ;SHIFT COUNTER TEST + 4190 ;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + 4191 SR1 (470,230703,603700,600461,607407,ROT,100)^ + 4192 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 100 BIT + 4193 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 600461,607407] + 4194 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4195 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 23-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SHIFT COUNTER RELIABILITY TEST SEQ 0114 + + 4196 033154 200 02 0 00 036635 E47000: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4197 033155 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4198 033156 241 02 0 00 000100 ROT AC,100 ;*SHIFT/ROTATE 100 BIT POSITIONS + 4199 033157 312 02 0 00 036644 CAME AC,[XWD 600461,607407] ;IS RESULT IN AC CORRECT? + 4200 033160 003 02 0 00 047001 ER3 AC,47001 ;RESULT IN AC IS INCORRECT + 4201 033161 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4202 033162 004 03 0 00 047001 ER4 AC+1,47001 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4203 033163 321 04 0 00 033154 JUMPL AC+2,E47000 ;LOOP ON ERROR SWITCH^ + 4204 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 23-4 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SHIFT COUNTER RELIABILITY TEST SEQ 0115 + + 4205 ;SHIFT COUNTER TEST + 4206 ;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + 4207 SR1 (471,230703,603700,461607,407600,ROT,1)^ + 4208 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 1 BIT + 4209 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 461607,407600] + 4210 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4211 + 4212 033164 200 02 0 00 036635 E47100: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4213 033165 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4214 033166 241 02 0 00 000001 ROT AC,1 ;*SHIFT/ROTATE 1 BIT POSITIONS + 4215 033167 312 02 0 00 036645 CAME AC,[XWD 461607,407600] ;IS RESULT IN AC CORRECT? + 4216 033170 003 02 0 00 047101 ER3 AC,47101 ;RESULT IN AC IS INCORRECT + 4217 033171 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4218 033172 004 03 0 00 047101 ER4 AC+1,47101 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4219 033173 321 04 0 00 033164 JUMPL AC+2,E47100 ;LOOP ON ERROR SWITCH^ + 4220 + 4221 ;SHIFT COUNTER TEST + 4222 ;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + 4223 SR1 (472,230703,603700,143417,017401,ROT,2)^ + 4224 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 2 BIT + 4225 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 143417,017401] + 4226 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4227 + 4228 033174 200 02 0 00 036635 E47200: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4229 033175 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4230 033176 241 02 0 00 000002 ROT AC,2 ;*SHIFT/ROTATE 2 BIT POSITIONS + 4231 033177 312 02 0 00 036646 CAME AC,[XWD 143417,017401] ;IS RESULT IN AC CORRECT? + 4232 033200 003 02 0 00 047201 ER3 AC,47201 ;RESULT IN AC IS INCORRECT + 4233 033201 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4234 033202 004 03 0 00 047201 ER4 AC+1,47201 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4235 033203 321 04 0 00 033174 JUMPL AC+2,E47200 ;LOOP ON ERROR SWITCH^ + 4236 + 4237 ;SHIFT COUNTER TEST + 4238 ;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + 4239 SR1 (473,230703,603700,307036,037002,ROT,3)^ + 4240 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 3 BIT + 4241 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 307036,037002] + 4242 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4243 + 4244 033204 200 02 0 00 036635 E47300: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4245 033205 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4246 033206 241 02 0 00 000003 ROT AC,3 ;*SHIFT/ROTATE 3 BIT POSITIONS + 4247 033207 312 02 0 00 036647 CAME AC,[XWD 307036,037002] ;IS RESULT IN AC CORRECT? + 4248 033210 003 02 0 00 047301 ER3 AC,47301 ;RESULT IN AC IS INCORRECT + 4249 033211 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4250 033212 004 03 0 00 047301 ER4 AC+1,47301 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4251 033213 321 04 0 00 033204 JUMPL AC+2,E47300 ;LOOP ON ERROR SWITCH^ + 4252 + 4253 ;SHIFT COUNTER TEST + 4254 ;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + 4255 SR1 (474,230703,603700,434170,174011,ROT,5)^ + 4256 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 5 BIT + 4257 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 434170,174011] + 4258 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4259 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 23-5 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SHIFT COUNTER RELIABILITY TEST SEQ 0116 + + 4260 033214 200 02 0 00 036635 E47400: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4261 033215 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4262 033216 241 02 0 00 000005 ROT AC,5 ;*SHIFT/ROTATE 5 BIT POSITIONS + 4263 033217 312 02 0 00 036650 CAME AC,[XWD 434170,174011] ;IS RESULT IN AC CORRECT? + 4264 033220 003 02 0 00 047401 ER3 AC,47401 ;RESULT IN AC IS INCORRECT + 4265 033221 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4266 033222 004 03 0 00 047401 ER4 AC+1,47401 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4267 033223 321 04 0 00 033214 JUMPL AC+2,E47400 ;LOOP ON ERROR SWITCH^ +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 24 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SHIFT COUNTER RELIABILITY TEST SEQ 0117 + + 4268 ;SHIFT COUNTER TEST + 4269 ;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + 4270 SR1 (475,230703,603700,703603,700230,ROT,11)^ + 4271 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 11 BIT + 4272 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 703603,700230] + 4273 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4274 + 4275 033224 200 02 0 00 036635 E47500: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4276 033225 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4277 033226 241 02 0 00 000011 ROT AC,11 ;*SHIFT/ROTATE 11 BIT POSITIONS + 4278 033227 312 02 0 00 036651 CAME AC,[XWD 703603,700230] ;IS RESULT IN AC CORRECT? + 4279 033230 003 02 0 00 047501 ER3 AC,47501 ;RESULT IN AC IS INCORRECT + 4280 033231 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4281 033232 004 03 0 00 047501 ER4 AC+1,47501 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4282 033233 321 04 0 00 033224 JUMPL AC+2,E47500 ;LOOP ON ERROR SWITCH^ + 4283 + 4284 ;SHIFT COUNTER TEST + 4285 ;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + 4286 SR1 (476,230703,603700,701740,114341,ROT,21)^ + 4287 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 21 BIT + 4288 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 701740,114341] + 4289 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4290 + 4291 033234 200 02 0 00 036635 E47600: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4292 033235 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4293 033236 241 02 0 00 000021 ROT AC,21 ;*SHIFT/ROTATE 21 BIT POSITIONS + 4294 033237 312 02 0 00 036652 CAME AC,[XWD 701740,114341] ;IS RESULT IN AC CORRECT? + 4295 033240 003 02 0 00 047601 ER3 AC,47601 ;RESULT IN AC IS INCORRECT + 4296 033241 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4297 033242 004 03 0 00 047601 ER4 AC+1,47601 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4298 033243 321 04 0 00 033234 JUMPL AC+2,E47600 ;LOOP ON ERROR SWITCH^ + 4299 + 4300 ;SHIFT COUNTER TEST + 4301 ;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + 4302 SR1 (477,230703,603700,023070,360370,ROT,41)^ + 4303 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 41 BIT + 4304 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 023070,360370] + 4305 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4306 + 4307 033244 200 02 0 00 036635 E47700: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4308 033245 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4309 033246 241 02 0 00 000041 ROT AC,41 ;*SHIFT/ROTATE 41 BIT POSITIONS + 4310 033247 312 02 0 00 036653 CAME AC,[XWD 023070,360370] ;IS RESULT IN AC CORRECT? + 4311 033250 003 02 0 00 047701 ER3 AC,47701 ;RESULT IN AC IS INCORRECT + 4312 033251 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4313 033252 004 03 0 00 047701 ER4 AC+1,47701 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4314 033253 321 04 0 00 033244 JUMPL AC+2,E47700 ;LOOP ON ERROR SWITCH^ + 4315 + 4316 ;SHIFT COUNTER TEST + 4317 ;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + 4318 SR1 (500,230703,603700,401143,417017,ROT,101)^ + 4319 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 101 BIT + 4320 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 401143,417017] + 4321 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4322 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 24-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SHIFT COUNTER RELIABILITY TEST SEQ 0118 + + 4323 033254 200 02 0 00 036635 E50000: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4324 033255 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4325 033256 241 02 0 00 000101 ROT AC,101 ;*SHIFT/ROTATE 101 BIT POSITIONS + 4326 033257 312 02 0 00 036654 CAME AC,[XWD 401143,417017] ;IS RESULT IN AC CORRECT? + 4327 033260 003 02 0 00 050001 ER3 AC,50001 ;RESULT IN AC IS INCORRECT + 4328 033261 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4329 033262 004 03 0 00 050001 ER4 AC+1,50001 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4330 033263 321 04 0 00 033254 JUMPL AC+2,E50000 ;LOOP ON ERROR SWITCH^ +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 25 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0119 + + 4331 SUBTTL DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST + 4332 + 4333 000476 ADR=501-3 + 4334 777777 777340 N=-374-44 + 4335 + 4336 REPEAT ^D15, < + 4337 ADR=ADR+3 + 4338 N=N+44 + 4339 + 4340 ;SHIFT COUNTER TEST + 4341 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 4342 SR1 (\ADR,230703,603700,114341,701740,ROT,N-1) + 4343 + 4344 ;SHIFT COUNTER TEST + 4345 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 4346 SR1 (\,230703,603700,230703,603700,ROT,N) + 4347 + 4348 ;SHIFT COUNTER TEST + 4349 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 4350 SR1 (\,230703,603700,461607,407600,ROT,N+1) + 4351 PAGE> + 4352 + 4353 000501 ADR=ADR+3 + 4354 777777 777404 N=N+44 + 4355 + 4356 ;SHIFT COUNTER TEST + 4357 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 4358 SR1 (\ADR,230703,603700,114341,701740,ROT,N-1)^ + 4359 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N-1 BIT + 4360 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 114341,701740] + 4361 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4362 + 4363 033264 200 02 0 00 036635 E50100: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4364 033265 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4365 033266 241 02 0 00 777403 ROT AC,N-1 ;*SHIFT/ROTATE N-1 BIT POSITIONS + 4366 033267 312 02 0 00 036655 CAME AC,[XWD 114341,701740] ;IS RESULT IN AC CORRECT? + 4367 033270 003 02 0 00 050101 ER3 AC,50101 ;RESULT IN AC IS INCORRECT + 4368 033271 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4369 033272 004 03 0 00 050101 ER4 AC+1,50101 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4370 033273 321 04 0 00 033264 JUMPL AC+2,E50100 ;LOOP ON ERROR SWITCH^ + 4371 + 4372 ;SHIFT COUNTER TEST + 4373 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 4374 SR1 (\,230703,603700,230703,603700,ROT,N)^ + 4375 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N BIT + 4376 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 4377 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4378 + 4379 033274 200 02 0 00 036635 E50200: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4380 033275 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4381 033276 241 02 0 00 777404 ROT AC,N ;*SHIFT/ROTATE N BIT POSITIONS + 4382 033277 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 4383 033300 003 02 0 00 050201 ER3 AC,50201 ;RESULT IN AC IS INCORRECT + 4384 033301 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4385 033302 004 03 0 00 050201 ER4 AC+1,50201 ;C(AC+1) WAS MODIFIED INCORRECTLY +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 25-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0120 + + 4386 033303 321 04 0 00 033274 JUMPL AC+2,E50200 ;LOOP ON ERROR SWITCH^ + 4387 + 4388 ;SHIFT COUNTER TEST + 4389 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 4390 SR1 (\,230703,603700,461607,407600,ROT,N+1)^ + 4391 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N+1 BIT + 4392 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 461607,407600] + 4393 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4394 + 4395 033304 200 02 0 00 036635 E50300: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4396 033305 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4397 033306 241 02 0 00 777405 ROT AC,N+1 ;*SHIFT/ROTATE N+1 BIT POSITIONS + 4398 033307 312 02 0 00 036645 CAME AC,[XWD 461607,407600] ;IS RESULT IN AC CORRECT? + 4399 033310 003 02 0 00 050301 ER3 AC,50301 ;RESULT IN AC IS INCORRECT + 4400 033311 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4401 033312 004 03 0 00 050301 ER4 AC+1,50301 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4402 033313 321 04 0 00 033304 JUMPL AC+2,E50300 ;LOOP ON ERROR SWITCH^ + 4403 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 25-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0121 + + 4404 + 4405 000504 ADR=ADR+3 + 4406 777777 777450 N=N+44 + 4407 + 4408 ;SHIFT COUNTER TEST + 4409 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 4410 SR1 (\ADR,230703,603700,114341,701740,ROT,N-1)^ + 4411 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N-1 BIT + 4412 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 114341,701740] + 4413 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4414 + 4415 033314 200 02 0 00 036635 E50400: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4416 033315 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4417 033316 241 02 0 00 777447 ROT AC,N-1 ;*SHIFT/ROTATE N-1 BIT POSITIONS + 4418 033317 312 02 0 00 036655 CAME AC,[XWD 114341,701740] ;IS RESULT IN AC CORRECT? + 4419 033320 003 02 0 00 050401 ER3 AC,50401 ;RESULT IN AC IS INCORRECT + 4420 033321 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4421 033322 004 03 0 00 050401 ER4 AC+1,50401 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4422 033323 321 04 0 00 033314 JUMPL AC+2,E50400 ;LOOP ON ERROR SWITCH^ + 4423 + 4424 ;SHIFT COUNTER TEST + 4425 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 4426 SR1 (\,230703,603700,230703,603700,ROT,N)^ + 4427 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N BIT + 4428 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 4429 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4430 + 4431 033324 200 02 0 00 036635 E50500: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4432 033325 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4433 033326 241 02 0 00 777450 ROT AC,N ;*SHIFT/ROTATE N BIT POSITIONS + 4434 033327 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 4435 033330 003 02 0 00 050501 ER3 AC,50501 ;RESULT IN AC IS INCORRECT + 4436 033331 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4437 033332 004 03 0 00 050501 ER4 AC+1,50501 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4438 033333 321 04 0 00 033324 JUMPL AC+2,E50500 ;LOOP ON ERROR SWITCH^ + 4439 + 4440 ;SHIFT COUNTER TEST + 4441 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 4442 SR1 (\,230703,603700,461607,407600,ROT,N+1)^ + 4443 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N+1 BIT + 4444 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 461607,407600] + 4445 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4446 + 4447 033334 200 02 0 00 036635 E50600: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4448 033335 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4449 033336 241 02 0 00 777451 ROT AC,N+1 ;*SHIFT/ROTATE N+1 BIT POSITIONS + 4450 033337 312 02 0 00 036645 CAME AC,[XWD 461607,407600] ;IS RESULT IN AC CORRECT? + 4451 033340 003 02 0 00 050601 ER3 AC,50601 ;RESULT IN AC IS INCORRECT + 4452 033341 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4453 033342 004 03 0 00 050601 ER4 AC+1,50601 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4454 033343 321 04 0 00 033334 JUMPL AC+2,E50600 ;LOOP ON ERROR SWITCH^ + 4455 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 25-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0122 + + 4456 + 4457 000507 ADR=ADR+3 + 4458 777777 777514 N=N+44 + 4459 + 4460 ;SHIFT COUNTER TEST + 4461 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 4462 SR1 (\ADR,230703,603700,114341,701740,ROT,N-1)^ + 4463 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N-1 BIT + 4464 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 114341,701740] + 4465 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4466 + 4467 033344 200 02 0 00 036635 E50700: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4468 033345 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4469 033346 241 02 0 00 777513 ROT AC,N-1 ;*SHIFT/ROTATE N-1 BIT POSITIONS + 4470 033347 312 02 0 00 036655 CAME AC,[XWD 114341,701740] ;IS RESULT IN AC CORRECT? + 4471 033350 003 02 0 00 050701 ER3 AC,50701 ;RESULT IN AC IS INCORRECT + 4472 033351 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4473 033352 004 03 0 00 050701 ER4 AC+1,50701 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4474 033353 321 04 0 00 033344 JUMPL AC+2,E50700 ;LOOP ON ERROR SWITCH^ + 4475 + 4476 ;SHIFT COUNTER TEST + 4477 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 4478 SR1 (\,230703,603700,230703,603700,ROT,N)^ + 4479 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N BIT + 4480 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 4481 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4482 + 4483 033354 200 02 0 00 036635 E51000: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4484 033355 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4485 033356 241 02 0 00 777514 ROT AC,N ;*SHIFT/ROTATE N BIT POSITIONS + 4486 033357 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 4487 033360 003 02 0 00 051001 ER3 AC,51001 ;RESULT IN AC IS INCORRECT + 4488 033361 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4489 033362 004 03 0 00 051001 ER4 AC+1,51001 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4490 033363 321 04 0 00 033354 JUMPL AC+2,E51000 ;LOOP ON ERROR SWITCH^ + 4491 + 4492 ;SHIFT COUNTER TEST + 4493 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 4494 SR1 (\,230703,603700,461607,407600,ROT,N+1)^ + 4495 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N+1 BIT + 4496 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 461607,407600] + 4497 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4498 + 4499 033364 200 02 0 00 036635 E51100: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4500 033365 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4501 033366 241 02 0 00 777515 ROT AC,N+1 ;*SHIFT/ROTATE N+1 BIT POSITIONS + 4502 033367 312 02 0 00 036645 CAME AC,[XWD 461607,407600] ;IS RESULT IN AC CORRECT? + 4503 033370 003 02 0 00 051101 ER3 AC,51101 ;RESULT IN AC IS INCORRECT + 4504 033371 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4505 033372 004 03 0 00 051101 ER4 AC+1,51101 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4506 033373 321 04 0 00 033364 JUMPL AC+2,E51100 ;LOOP ON ERROR SWITCH^ + 4507 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 25-4 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0123 + + 4508 + 4509 000512 ADR=ADR+3 + 4510 777777 777560 N=N+44 + 4511 + 4512 ;SHIFT COUNTER TEST + 4513 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 4514 SR1 (\ADR,230703,603700,114341,701740,ROT,N-1)^ + 4515 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N-1 BIT + 4516 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 114341,701740] + 4517 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4518 + 4519 033374 200 02 0 00 036635 E51200: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4520 033375 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4521 033376 241 02 0 00 777557 ROT AC,N-1 ;*SHIFT/ROTATE N-1 BIT POSITIONS + 4522 033377 312 02 0 00 036655 CAME AC,[XWD 114341,701740] ;IS RESULT IN AC CORRECT? + 4523 033400 003 02 0 00 051201 ER3 AC,51201 ;RESULT IN AC IS INCORRECT + 4524 033401 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4525 033402 004 03 0 00 051201 ER4 AC+1,51201 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4526 033403 321 04 0 00 033374 JUMPL AC+2,E51200 ;LOOP ON ERROR SWITCH^ + 4527 + 4528 ;SHIFT COUNTER TEST + 4529 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 4530 SR1 (\,230703,603700,230703,603700,ROT,N)^ + 4531 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N BIT + 4532 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 4533 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4534 + 4535 033404 200 02 0 00 036635 E51300: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4536 033405 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4537 033406 241 02 0 00 777560 ROT AC,N ;*SHIFT/ROTATE N BIT POSITIONS + 4538 033407 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 4539 033410 003 02 0 00 051301 ER3 AC,51301 ;RESULT IN AC IS INCORRECT + 4540 033411 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4541 033412 004 03 0 00 051301 ER4 AC+1,51301 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4542 033413 321 04 0 00 033404 JUMPL AC+2,E51300 ;LOOP ON ERROR SWITCH^ + 4543 + 4544 ;SHIFT COUNTER TEST + 4545 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 4546 SR1 (\,230703,603700,461607,407600,ROT,N+1)^ + 4547 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N+1 BIT + 4548 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 461607,407600] + 4549 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4550 + 4551 033414 200 02 0 00 036635 E51400: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4552 033415 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4553 033416 241 02 0 00 777561 ROT AC,N+1 ;*SHIFT/ROTATE N+1 BIT POSITIONS + 4554 033417 312 02 0 00 036645 CAME AC,[XWD 461607,407600] ;IS RESULT IN AC CORRECT? + 4555 033420 003 02 0 00 051401 ER3 AC,51401 ;RESULT IN AC IS INCORRECT + 4556 033421 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4557 033422 004 03 0 00 051401 ER4 AC+1,51401 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4558 033423 321 04 0 00 033414 JUMPL AC+2,E51400 ;LOOP ON ERROR SWITCH^ + 4559 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 25-5 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0124 + + 4560 + 4561 000515 ADR=ADR+3 + 4562 777777 777624 N=N+44 + 4563 + 4564 ;SHIFT COUNTER TEST + 4565 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 4566 SR1 (\ADR,230703,603700,114341,701740,ROT,N-1)^ + 4567 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N-1 BIT + 4568 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 114341,701740] + 4569 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4570 + 4571 033424 200 02 0 00 036635 E51500: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4572 033425 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4573 033426 241 02 0 00 777623 ROT AC,N-1 ;*SHIFT/ROTATE N-1 BIT POSITIONS + 4574 033427 312 02 0 00 036655 CAME AC,[XWD 114341,701740] ;IS RESULT IN AC CORRECT? + 4575 033430 003 02 0 00 051501 ER3 AC,51501 ;RESULT IN AC IS INCORRECT + 4576 033431 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4577 033432 004 03 0 00 051501 ER4 AC+1,51501 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4578 033433 321 04 0 00 033424 JUMPL AC+2,E51500 ;LOOP ON ERROR SWITCH^ + 4579 + 4580 ;SHIFT COUNTER TEST + 4581 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 4582 SR1 (\,230703,603700,230703,603700,ROT,N)^ + 4583 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N BIT + 4584 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 4585 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4586 + 4587 033434 200 02 0 00 036635 E51600: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4588 033435 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4589 033436 241 02 0 00 777624 ROT AC,N ;*SHIFT/ROTATE N BIT POSITIONS + 4590 033437 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 4591 033440 003 02 0 00 051601 ER3 AC,51601 ;RESULT IN AC IS INCORRECT + 4592 033441 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4593 033442 004 03 0 00 051601 ER4 AC+1,51601 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4594 033443 321 04 0 00 033434 JUMPL AC+2,E51600 ;LOOP ON ERROR SWITCH^ + 4595 + 4596 ;SHIFT COUNTER TEST + 4597 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 4598 SR1 (\,230703,603700,461607,407600,ROT,N+1)^ + 4599 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N+1 BIT + 4600 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 461607,407600] + 4601 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4602 + 4603 033444 200 02 0 00 036635 E51700: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4604 033445 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4605 033446 241 02 0 00 777625 ROT AC,N+1 ;*SHIFT/ROTATE N+1 BIT POSITIONS + 4606 033447 312 02 0 00 036645 CAME AC,[XWD 461607,407600] ;IS RESULT IN AC CORRECT? + 4607 033450 003 02 0 00 051701 ER3 AC,51701 ;RESULT IN AC IS INCORRECT + 4608 033451 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4609 033452 004 03 0 00 051701 ER4 AC+1,51701 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4610 033453 321 04 0 00 033444 JUMPL AC+2,E51700 ;LOOP ON ERROR SWITCH^ + 4611 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 25-6 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0125 + + 4612 + 4613 000520 ADR=ADR+3 + 4614 777777 777670 N=N+44 + 4615 + 4616 ;SHIFT COUNTER TEST + 4617 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 4618 SR1 (\ADR,230703,603700,114341,701740,ROT,N-1)^ + 4619 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N-1 BIT + 4620 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 114341,701740] + 4621 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4622 + 4623 033454 200 02 0 00 036635 E52000: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4624 033455 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4625 033456 241 02 0 00 777667 ROT AC,N-1 ;*SHIFT/ROTATE N-1 BIT POSITIONS + 4626 033457 312 02 0 00 036655 CAME AC,[XWD 114341,701740] ;IS RESULT IN AC CORRECT? + 4627 033460 003 02 0 00 052001 ER3 AC,52001 ;RESULT IN AC IS INCORRECT + 4628 033461 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4629 033462 004 03 0 00 052001 ER4 AC+1,52001 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4630 033463 321 04 0 00 033454 JUMPL AC+2,E52000 ;LOOP ON ERROR SWITCH^ + 4631 + 4632 ;SHIFT COUNTER TEST + 4633 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 4634 SR1 (\,230703,603700,230703,603700,ROT,N)^ + 4635 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N BIT + 4636 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 4637 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4638 + 4639 033464 200 02 0 00 036635 E52100: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4640 033465 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4641 033466 241 02 0 00 777670 ROT AC,N ;*SHIFT/ROTATE N BIT POSITIONS + 4642 033467 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 4643 033470 003 02 0 00 052101 ER3 AC,52101 ;RESULT IN AC IS INCORRECT + 4644 033471 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4645 033472 004 03 0 00 052101 ER4 AC+1,52101 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4646 033473 321 04 0 00 033464 JUMPL AC+2,E52100 ;LOOP ON ERROR SWITCH^ + 4647 + 4648 ;SHIFT COUNTER TEST + 4649 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 4650 SR1 (\,230703,603700,461607,407600,ROT,N+1)^ + 4651 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N+1 BIT + 4652 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 461607,407600] + 4653 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4654 + 4655 033474 200 02 0 00 036635 E52200: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4656 033475 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4657 033476 241 02 0 00 777671 ROT AC,N+1 ;*SHIFT/ROTATE N+1 BIT POSITIONS + 4658 033477 312 02 0 00 036645 CAME AC,[XWD 461607,407600] ;IS RESULT IN AC CORRECT? + 4659 033500 003 02 0 00 052201 ER3 AC,52201 ;RESULT IN AC IS INCORRECT + 4660 033501 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4661 033502 004 03 0 00 052201 ER4 AC+1,52201 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4662 033503 321 04 0 00 033474 JUMPL AC+2,E52200 ;LOOP ON ERROR SWITCH^ + 4663 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 25-7 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0126 + + 4664 + 4665 000523 ADR=ADR+3 + 4666 777777 777734 N=N+44 + 4667 + 4668 ;SHIFT COUNTER TEST + 4669 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 4670 SR1 (\ADR,230703,603700,114341,701740,ROT,N-1)^ + 4671 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N-1 BIT + 4672 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 114341,701740] + 4673 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4674 + 4675 033504 200 02 0 00 036635 E52300: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4676 033505 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4677 033506 241 02 0 00 777733 ROT AC,N-1 ;*SHIFT/ROTATE N-1 BIT POSITIONS + 4678 033507 312 02 0 00 036655 CAME AC,[XWD 114341,701740] ;IS RESULT IN AC CORRECT? + 4679 033510 003 02 0 00 052301 ER3 AC,52301 ;RESULT IN AC IS INCORRECT + 4680 033511 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4681 033512 004 03 0 00 052301 ER4 AC+1,52301 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4682 033513 321 04 0 00 033504 JUMPL AC+2,E52300 ;LOOP ON ERROR SWITCH^ + 4683 + 4684 ;SHIFT COUNTER TEST + 4685 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 4686 SR1 (\,230703,603700,230703,603700,ROT,N)^ + 4687 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N BIT + 4688 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 4689 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4690 + 4691 033514 200 02 0 00 036635 E52400: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4692 033515 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4693 033516 241 02 0 00 777734 ROT AC,N ;*SHIFT/ROTATE N BIT POSITIONS + 4694 033517 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 4695 033520 003 02 0 00 052401 ER3 AC,52401 ;RESULT IN AC IS INCORRECT + 4696 033521 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4697 033522 004 03 0 00 052401 ER4 AC+1,52401 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4698 033523 321 04 0 00 033514 JUMPL AC+2,E52400 ;LOOP ON ERROR SWITCH^ + 4699 + 4700 ;SHIFT COUNTER TEST + 4701 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 4702 SR1 (\,230703,603700,461607,407600,ROT,N+1)^ + 4703 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N+1 BIT + 4704 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 461607,407600] + 4705 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4706 + 4707 033524 200 02 0 00 036635 E52500: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4708 033525 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4709 033526 241 02 0 00 777735 ROT AC,N+1 ;*SHIFT/ROTATE N+1 BIT POSITIONS + 4710 033527 312 02 0 00 036645 CAME AC,[XWD 461607,407600] ;IS RESULT IN AC CORRECT? + 4711 033530 003 02 0 00 052501 ER3 AC,52501 ;RESULT IN AC IS INCORRECT + 4712 033531 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4713 033532 004 03 0 00 052501 ER4 AC+1,52501 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4714 033533 321 04 0 00 033524 JUMPL AC+2,E52500 ;LOOP ON ERROR SWITCH^ + 4715 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 25-8 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0127 + + 4716 + 4717 000526 ADR=ADR+3 + 4718 000000 N=N+44 + 4719 + 4720 ;SHIFT COUNTER TEST + 4721 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 4722 SR1 (\ADR,230703,603700,114341,701740,ROT,N-1)^ + 4723 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N-1 BIT + 4724 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 114341,701740] + 4725 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4726 + 4727 033534 200 02 0 00 036635 E52600: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4728 033535 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4729 033536 241 02 0 00 777777 ROT AC,N-1 ;*SHIFT/ROTATE N-1 BIT POSITIONS + 4730 033537 312 02 0 00 036655 CAME AC,[XWD 114341,701740] ;IS RESULT IN AC CORRECT? + 4731 033540 003 02 0 00 052601 ER3 AC,52601 ;RESULT IN AC IS INCORRECT + 4732 033541 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4733 033542 004 03 0 00 052601 ER4 AC+1,52601 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4734 033543 321 04 0 00 033534 JUMPL AC+2,E52600 ;LOOP ON ERROR SWITCH^ + 4735 + 4736 ;SHIFT COUNTER TEST + 4737 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 4738 SR1 (\,230703,603700,230703,603700,ROT,N)^ + 4739 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N BIT + 4740 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 4741 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4742 + 4743 033544 200 02 0 00 036635 E52700: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4744 033545 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4745 033546 241 02 0 00 000000 ROT AC,N ;*SHIFT/ROTATE N BIT POSITIONS + 4746 033547 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 4747 033550 003 02 0 00 052701 ER3 AC,52701 ;RESULT IN AC IS INCORRECT + 4748 033551 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4749 033552 004 03 0 00 052701 ER4 AC+1,52701 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4750 033553 321 04 0 00 033544 JUMPL AC+2,E52700 ;LOOP ON ERROR SWITCH^ + 4751 + 4752 ;SHIFT COUNTER TEST + 4753 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 4754 SR1 (\,230703,603700,461607,407600,ROT,N+1)^ + 4755 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N+1 BIT + 4756 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 461607,407600] + 4757 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4758 + 4759 033554 200 02 0 00 036635 E53000: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4760 033555 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4761 033556 241 02 0 00 000001 ROT AC,N+1 ;*SHIFT/ROTATE N+1 BIT POSITIONS + 4762 033557 312 02 0 00 036645 CAME AC,[XWD 461607,407600] ;IS RESULT IN AC CORRECT? + 4763 033560 003 02 0 00 053001 ER3 AC,53001 ;RESULT IN AC IS INCORRECT + 4764 033561 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4765 033562 004 03 0 00 053001 ER4 AC+1,53001 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4766 033563 321 04 0 00 033554 JUMPL AC+2,E53000 ;LOOP ON ERROR SWITCH^ + 4767 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 25-9 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0128 + + 4768 + 4769 000531 ADR=ADR+3 + 4770 000044 N=N+44 + 4771 + 4772 ;SHIFT COUNTER TEST + 4773 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 4774 SR1 (\ADR,230703,603700,114341,701740,ROT,N-1)^ + 4775 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N-1 BIT + 4776 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 114341,701740] + 4777 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4778 + 4779 033564 200 02 0 00 036635 E53100: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4780 033565 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4781 033566 241 02 0 00 000043 ROT AC,N-1 ;*SHIFT/ROTATE N-1 BIT POSITIONS + 4782 033567 312 02 0 00 036655 CAME AC,[XWD 114341,701740] ;IS RESULT IN AC CORRECT? + 4783 033570 003 02 0 00 053101 ER3 AC,53101 ;RESULT IN AC IS INCORRECT + 4784 033571 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4785 033572 004 03 0 00 053101 ER4 AC+1,53101 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4786 033573 321 04 0 00 033564 JUMPL AC+2,E53100 ;LOOP ON ERROR SWITCH^ + 4787 + 4788 ;SHIFT COUNTER TEST + 4789 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 4790 SR1 (\,230703,603700,230703,603700,ROT,N)^ + 4791 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N BIT + 4792 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 4793 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4794 + 4795 033574 200 02 0 00 036635 E53200: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4796 033575 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4797 033576 241 02 0 00 000044 ROT AC,N ;*SHIFT/ROTATE N BIT POSITIONS + 4798 033577 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 4799 033600 003 02 0 00 053201 ER3 AC,53201 ;RESULT IN AC IS INCORRECT + 4800 033601 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4801 033602 004 03 0 00 053201 ER4 AC+1,53201 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4802 033603 321 04 0 00 033574 JUMPL AC+2,E53200 ;LOOP ON ERROR SWITCH^ + 4803 + 4804 ;SHIFT COUNTER TEST + 4805 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 4806 SR1 (\,230703,603700,461607,407600,ROT,N+1)^ + 4807 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N+1 BIT + 4808 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 461607,407600] + 4809 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4810 + 4811 033604 200 02 0 00 036635 E53300: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4812 033605 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4813 033606 241 02 0 00 000045 ROT AC,N+1 ;*SHIFT/ROTATE N+1 BIT POSITIONS + 4814 033607 312 02 0 00 036645 CAME AC,[XWD 461607,407600] ;IS RESULT IN AC CORRECT? + 4815 033610 003 02 0 00 053301 ER3 AC,53301 ;RESULT IN AC IS INCORRECT + 4816 033611 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4817 033612 004 03 0 00 053301 ER4 AC+1,53301 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4818 033613 321 04 0 00 033604 JUMPL AC+2,E53300 ;LOOP ON ERROR SWITCH^ + 4819 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 25-10 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0129 + + 4820 + 4821 000534 ADR=ADR+3 + 4822 000110 N=N+44 + 4823 + 4824 ;SHIFT COUNTER TEST + 4825 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 4826 SR1 (\ADR,230703,603700,114341,701740,ROT,N-1)^ + 4827 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N-1 BIT + 4828 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 114341,701740] + 4829 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4830 + 4831 033614 200 02 0 00 036635 E53400: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4832 033615 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4833 033616 241 02 0 00 000107 ROT AC,N-1 ;*SHIFT/ROTATE N-1 BIT POSITIONS + 4834 033617 312 02 0 00 036655 CAME AC,[XWD 114341,701740] ;IS RESULT IN AC CORRECT? + 4835 033620 003 02 0 00 053401 ER3 AC,53401 ;RESULT IN AC IS INCORRECT + 4836 033621 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4837 033622 004 03 0 00 053401 ER4 AC+1,53401 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4838 033623 321 04 0 00 033614 JUMPL AC+2,E53400 ;LOOP ON ERROR SWITCH^ + 4839 + 4840 ;SHIFT COUNTER TEST + 4841 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 4842 SR1 (\,230703,603700,230703,603700,ROT,N)^ + 4843 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N BIT + 4844 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 4845 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4846 + 4847 033624 200 02 0 00 036635 E53500: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4848 033625 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4849 033626 241 02 0 00 000110 ROT AC,N ;*SHIFT/ROTATE N BIT POSITIONS + 4850 033627 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 4851 033630 003 02 0 00 053501 ER3 AC,53501 ;RESULT IN AC IS INCORRECT + 4852 033631 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4853 033632 004 03 0 00 053501 ER4 AC+1,53501 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4854 033633 321 04 0 00 033624 JUMPL AC+2,E53500 ;LOOP ON ERROR SWITCH^ + 4855 + 4856 ;SHIFT COUNTER TEST + 4857 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 4858 SR1 (\,230703,603700,461607,407600,ROT,N+1)^ + 4859 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N+1 BIT + 4860 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 461607,407600] + 4861 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4862 + 4863 033634 200 02 0 00 036635 E53600: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4864 033635 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4865 033636 241 02 0 00 000111 ROT AC,N+1 ;*SHIFT/ROTATE N+1 BIT POSITIONS + 4866 033637 312 02 0 00 036645 CAME AC,[XWD 461607,407600] ;IS RESULT IN AC CORRECT? + 4867 033640 003 02 0 00 053601 ER3 AC,53601 ;RESULT IN AC IS INCORRECT + 4868 033641 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4869 033642 004 03 0 00 053601 ER4 AC+1,53601 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4870 033643 321 04 0 00 033634 JUMPL AC+2,E53600 ;LOOP ON ERROR SWITCH^ + 4871 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 25-11 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0130 + + 4872 + 4873 000537 ADR=ADR+3 + 4874 000154 N=N+44 + 4875 + 4876 ;SHIFT COUNTER TEST + 4877 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 4878 SR1 (\ADR,230703,603700,114341,701740,ROT,N-1)^ + 4879 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N-1 BIT + 4880 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 114341,701740] + 4881 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4882 + 4883 033644 200 02 0 00 036635 E53700: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4884 033645 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4885 033646 241 02 0 00 000153 ROT AC,N-1 ;*SHIFT/ROTATE N-1 BIT POSITIONS + 4886 033647 312 02 0 00 036655 CAME AC,[XWD 114341,701740] ;IS RESULT IN AC CORRECT? + 4887 033650 003 02 0 00 053701 ER3 AC,53701 ;RESULT IN AC IS INCORRECT + 4888 033651 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4889 033652 004 03 0 00 053701 ER4 AC+1,53701 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4890 033653 321 04 0 00 033644 JUMPL AC+2,E53700 ;LOOP ON ERROR SWITCH^ + 4891 + 4892 ;SHIFT COUNTER TEST + 4893 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 4894 SR1 (\,230703,603700,230703,603700,ROT,N)^ + 4895 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N BIT + 4896 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 4897 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4898 + 4899 033654 200 02 0 00 036635 E54000: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4900 033655 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4901 033656 241 02 0 00 000154 ROT AC,N ;*SHIFT/ROTATE N BIT POSITIONS + 4902 033657 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 4903 033660 003 02 0 00 054001 ER3 AC,54001 ;RESULT IN AC IS INCORRECT + 4904 033661 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4905 033662 004 03 0 00 054001 ER4 AC+1,54001 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4906 033663 321 04 0 00 033654 JUMPL AC+2,E54000 ;LOOP ON ERROR SWITCH^ + 4907 + 4908 ;SHIFT COUNTER TEST + 4909 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 4910 SR1 (\,230703,603700,461607,407600,ROT,N+1)^ + 4911 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N+1 BIT + 4912 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 461607,407600] + 4913 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4914 + 4915 033664 200 02 0 00 036635 E54100: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4916 033665 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4917 033666 241 02 0 00 000155 ROT AC,N+1 ;*SHIFT/ROTATE N+1 BIT POSITIONS + 4918 033667 312 02 0 00 036645 CAME AC,[XWD 461607,407600] ;IS RESULT IN AC CORRECT? + 4919 033670 003 02 0 00 054101 ER3 AC,54101 ;RESULT IN AC IS INCORRECT + 4920 033671 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4921 033672 004 03 0 00 054101 ER4 AC+1,54101 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4922 033673 321 04 0 00 033664 JUMPL AC+2,E54100 ;LOOP ON ERROR SWITCH^ + 4923 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 25-12 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0131 + + 4924 + 4925 000542 ADR=ADR+3 + 4926 000220 N=N+44 + 4927 + 4928 ;SHIFT COUNTER TEST + 4929 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 4930 SR1 (\ADR,230703,603700,114341,701740,ROT,N-1)^ + 4931 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N-1 BIT + 4932 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 114341,701740] + 4933 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4934 + 4935 033674 200 02 0 00 036635 E54200: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4936 033675 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4937 033676 241 02 0 00 000217 ROT AC,N-1 ;*SHIFT/ROTATE N-1 BIT POSITIONS + 4938 033677 312 02 0 00 036655 CAME AC,[XWD 114341,701740] ;IS RESULT IN AC CORRECT? + 4939 033700 003 02 0 00 054201 ER3 AC,54201 ;RESULT IN AC IS INCORRECT + 4940 033701 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4941 033702 004 03 0 00 054201 ER4 AC+1,54201 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4942 033703 321 04 0 00 033674 JUMPL AC+2,E54200 ;LOOP ON ERROR SWITCH^ + 4943 + 4944 ;SHIFT COUNTER TEST + 4945 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 4946 SR1 (\,230703,603700,230703,603700,ROT,N)^ + 4947 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N BIT + 4948 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 4949 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4950 + 4951 033704 200 02 0 00 036635 E54300: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4952 033705 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4953 033706 241 02 0 00 000220 ROT AC,N ;*SHIFT/ROTATE N BIT POSITIONS + 4954 033707 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 4955 033710 003 02 0 00 054301 ER3 AC,54301 ;RESULT IN AC IS INCORRECT + 4956 033711 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4957 033712 004 03 0 00 054301 ER4 AC+1,54301 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4958 033713 321 04 0 00 033704 JUMPL AC+2,E54300 ;LOOP ON ERROR SWITCH^ + 4959 + 4960 ;SHIFT COUNTER TEST + 4961 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 4962 SR1 (\,230703,603700,461607,407600,ROT,N+1)^ + 4963 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N+1 BIT + 4964 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 461607,407600] + 4965 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4966 + 4967 033714 200 02 0 00 036635 E54400: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4968 033715 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4969 033716 241 02 0 00 000221 ROT AC,N+1 ;*SHIFT/ROTATE N+1 BIT POSITIONS + 4970 033717 312 02 0 00 036645 CAME AC,[XWD 461607,407600] ;IS RESULT IN AC CORRECT? + 4971 033720 003 02 0 00 054401 ER3 AC,54401 ;RESULT IN AC IS INCORRECT + 4972 033721 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4973 033722 004 03 0 00 054401 ER4 AC+1,54401 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4974 033723 321 04 0 00 033714 JUMPL AC+2,E54400 ;LOOP ON ERROR SWITCH^ + 4975 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 25-13 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0132 + + 4976 + 4977 000545 ADR=ADR+3 + 4978 000264 N=N+44 + 4979 + 4980 ;SHIFT COUNTER TEST + 4981 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 4982 SR1 (\ADR,230703,603700,114341,701740,ROT,N-1)^ + 4983 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N-1 BIT + 4984 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 114341,701740] + 4985 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 4986 + 4987 033724 200 02 0 00 036635 E54500: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 4988 033725 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 4989 033726 241 02 0 00 000263 ROT AC,N-1 ;*SHIFT/ROTATE N-1 BIT POSITIONS + 4990 033727 312 02 0 00 036655 CAME AC,[XWD 114341,701740] ;IS RESULT IN AC CORRECT? + 4991 033730 003 02 0 00 054501 ER3 AC,54501 ;RESULT IN AC IS INCORRECT + 4992 033731 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 4993 033732 004 03 0 00 054501 ER4 AC+1,54501 ;C(AC+1) WAS MODIFIED INCORRECTLY + 4994 033733 321 04 0 00 033724 JUMPL AC+2,E54500 ;LOOP ON ERROR SWITCH^ + 4995 + 4996 ;SHIFT COUNTER TEST + 4997 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 4998 SR1 (\,230703,603700,230703,603700,ROT,N)^ + 4999 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N BIT + 5000 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 5001 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 5002 + 5003 033734 200 02 0 00 036635 E54600: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5004 033735 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 5005 033736 241 02 0 00 000264 ROT AC,N ;*SHIFT/ROTATE N BIT POSITIONS + 5006 033737 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 5007 033740 003 02 0 00 054601 ER3 AC,54601 ;RESULT IN AC IS INCORRECT + 5008 033741 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 5009 033742 004 03 0 00 054601 ER4 AC+1,54601 ;C(AC+1) WAS MODIFIED INCORRECTLY + 5010 033743 321 04 0 00 033734 JUMPL AC+2,E54600 ;LOOP ON ERROR SWITCH^ + 5011 + 5012 ;SHIFT COUNTER TEST + 5013 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5014 SR1 (\,230703,603700,461607,407600,ROT,N+1)^ + 5015 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N+1 BIT + 5016 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 461607,407600] + 5017 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 5018 + 5019 033744 200 02 0 00 036635 E54700: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5020 033745 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 5021 033746 241 02 0 00 000265 ROT AC,N+1 ;*SHIFT/ROTATE N+1 BIT POSITIONS + 5022 033747 312 02 0 00 036645 CAME AC,[XWD 461607,407600] ;IS RESULT IN AC CORRECT? + 5023 033750 003 02 0 00 054701 ER3 AC,54701 ;RESULT IN AC IS INCORRECT + 5024 033751 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 5025 033752 004 03 0 00 054701 ER4 AC+1,54701 ;C(AC+1) WAS MODIFIED INCORRECTLY + 5026 033753 321 04 0 00 033744 JUMPL AC+2,E54700 ;LOOP ON ERROR SWITCH^ + 5027 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 25-14 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0133 + + 5028 + 5029 000550 ADR=ADR+3 + 5030 000330 N=N+44 + 5031 + 5032 ;SHIFT COUNTER TEST + 5033 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5034 SR1 (\ADR,230703,603700,114341,701740,ROT,N-1)^ + 5035 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N-1 BIT + 5036 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 114341,701740] + 5037 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 5038 + 5039 033754 200 02 0 00 036635 E55000: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5040 033755 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 5041 033756 241 02 0 00 000327 ROT AC,N-1 ;*SHIFT/ROTATE N-1 BIT POSITIONS + 5042 033757 312 02 0 00 036655 CAME AC,[XWD 114341,701740] ;IS RESULT IN AC CORRECT? + 5043 033760 003 02 0 00 055001 ER3 AC,55001 ;RESULT IN AC IS INCORRECT + 5044 033761 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 5045 033762 004 03 0 00 055001 ER4 AC+1,55001 ;C(AC+1) WAS MODIFIED INCORRECTLY + 5046 033763 321 04 0 00 033754 JUMPL AC+2,E55000 ;LOOP ON ERROR SWITCH^ + 5047 + 5048 ;SHIFT COUNTER TEST + 5049 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5050 SR1 (\,230703,603700,230703,603700,ROT,N)^ + 5051 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N BIT + 5052 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 5053 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 5054 + 5055 033764 200 02 0 00 036635 E55100: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5056 033765 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 5057 033766 241 02 0 00 000330 ROT AC,N ;*SHIFT/ROTATE N BIT POSITIONS + 5058 033767 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 5059 033770 003 02 0 00 055101 ER3 AC,55101 ;RESULT IN AC IS INCORRECT + 5060 033771 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 5061 033772 004 03 0 00 055101 ER4 AC+1,55101 ;C(AC+1) WAS MODIFIED INCORRECTLY + 5062 033773 321 04 0 00 033764 JUMPL AC+2,E55100 ;LOOP ON ERROR SWITCH^ + 5063 + 5064 ;SHIFT COUNTER TEST + 5065 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5066 SR1 (\,230703,603700,461607,407600,ROT,N+1)^ + 5067 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N+1 BIT + 5068 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 461607,407600] + 5069 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 5070 + 5071 033774 200 02 0 00 036635 E55200: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5072 033775 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 5073 033776 241 02 0 00 000331 ROT AC,N+1 ;*SHIFT/ROTATE N+1 BIT POSITIONS + 5074 033777 312 02 0 00 036645 CAME AC,[XWD 461607,407600] ;IS RESULT IN AC CORRECT? + 5075 034000 003 02 0 00 055201 ER3 AC,55201 ;RESULT IN AC IS INCORRECT + 5076 034001 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 5077 034002 004 03 0 00 055201 ER4 AC+1,55201 ;C(AC+1) WAS MODIFIED INCORRECTLY + 5078 034003 321 04 0 00 033774 JUMPL AC+2,E55200 ;LOOP ON ERROR SWITCH^ + 5079 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 25-15 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0134 + + 5080 + 5081 000553 ADR=ADR+3 + 5082 000374 N=N+44 + 5083 + 5084 ;SHIFT COUNTER TEST + 5085 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5086 SR1 (\ADR,230703,603700,114341,701740,ROT,N-1)^ + 5087 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N-1 BIT + 5088 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 114341,701740] + 5089 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 5090 + 5091 034004 200 02 0 00 036635 E55300: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5092 034005 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 5093 034006 241 02 0 00 000373 ROT AC,N-1 ;*SHIFT/ROTATE N-1 BIT POSITIONS + 5094 034007 312 02 0 00 036655 CAME AC,[XWD 114341,701740] ;IS RESULT IN AC CORRECT? + 5095 034010 003 02 0 00 055301 ER3 AC,55301 ;RESULT IN AC IS INCORRECT + 5096 034011 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 5097 034012 004 03 0 00 055301 ER4 AC+1,55301 ;C(AC+1) WAS MODIFIED INCORRECTLY + 5098 034013 321 04 0 00 034004 JUMPL AC+2,E55300 ;LOOP ON ERROR SWITCH^ + 5099 + 5100 ;SHIFT COUNTER TEST + 5101 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5102 SR1 (\,230703,603700,230703,603700,ROT,N)^ + 5103 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N BIT + 5104 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 5105 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 5106 + 5107 034014 200 02 0 00 036635 E55400: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5108 034015 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 5109 034016 241 02 0 00 000374 ROT AC,N ;*SHIFT/ROTATE N BIT POSITIONS + 5110 034017 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 5111 034020 003 02 0 00 055401 ER3 AC,55401 ;RESULT IN AC IS INCORRECT + 5112 034021 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 5113 034022 004 03 0 00 055401 ER4 AC+1,55401 ;C(AC+1) WAS MODIFIED INCORRECTLY + 5114 034023 321 04 0 00 034014 JUMPL AC+2,E55400 ;LOOP ON ERROR SWITCH^ + 5115 + 5116 ;SHIFT COUNTER TEST + 5117 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5118 SR1 (\,230703,603700,461607,407600,ROT,N+1)^ + 5119 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] N+1 BIT + 5120 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 461607,407600] + 5121 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 5122 + 5123 034024 200 02 0 00 036635 E55500: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5124 034025 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 5125 034026 241 02 0 00 000375 ROT AC,N+1 ;*SHIFT/ROTATE N+1 BIT POSITIONS + 5126 034027 312 02 0 00 036645 CAME AC,[XWD 461607,407600] ;IS RESULT IN AC CORRECT? + 5127 034030 003 02 0 00 055501 ER3 AC,55501 ;RESULT IN AC IS INCORRECT + 5128 034031 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 5129 034032 004 03 0 00 055501 ER4 AC+1,55501 ;C(AC+1) WAS MODIFIED INCORRECTLY + 5130 034033 321 04 0 00 034024 JUMPL AC+2,E55500 ;LOOP ON ERROR SWITCH^ + 5131 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 26 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0135 + + 5132 777777 777340 N=-374-44 + 5133 + 5134 REPEAT ^D1, < + 5135 000556 ADR=ADR+3 + 5136 777777 777404 N=N+44 + 5137 + 5138 ;SHIFT COUNTER TEST + 5139 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5140 SR2 (\ADR,230703,603700,770037,600377,374017,700177,514341,701740,ROTC,N-1)^ + 5141 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5142 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N-1 BIT POSITIONS AND + 5143 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 374017,700177] AND + 5144 ;[XWD 514341,701740] + 5145 + 5146 034034 200 02 0 00 036635 E55600: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5147 034035 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5148 034036 245 02 0 00 777403 ROTC AC,N-1 ;*SHIFT/ROTATE COMBINED N-1 PLACES + 5149 034037 312 02 0 00 036657 CAME AC,[XWD 374017,700177] ;IS RESULT IN AC CORRECT? + 5150 034040 003 02 0 00 055601 ER3 AC,55601 ;RESULT IN AC IS INCORRECT + 5151 034041 312 03 0 00 036660 CAME AC+1,[XWD 514341,701740] ;IS RESULT IN AC+1 CORRECT? + 5152 034042 004 03 0 00 055601 ER4 AC+1,55601 ;RESULT IN AC+1 IS INCORRECT + 5153 034043 321 04 0 00 034034 JUMPL AC+2,E55600 ;LOOP ON ERROR SWITCH^ + 5154 + 5155 ;SHIFT COUNTER TEST + 5156 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5157 SR2 (\,230703,603700,770037,600377,770037,600377,230703,603700,ROTC,N)^ + 5158 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5159 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N BIT POSITIONS AND + 5160 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 770037,600377] AND + 5161 ;[XWD 230703,603700] + 5162 + 5163 034044 200 02 0 00 036635 E55700: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5164 034045 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5165 034046 245 02 0 00 777404 ROTC AC,N ;*SHIFT/ROTATE COMBINED N PLACES + 5166 034047 312 02 0 00 036656 CAME AC,[XWD 770037,600377] ;IS RESULT IN AC CORRECT? + 5167 034050 003 02 0 00 055701 ER3 AC,55701 ;RESULT IN AC IS INCORRECT + 5168 034051 312 03 0 00 036635 CAME AC+1,[XWD 230703,603700] ;IS RESULT IN AC+1 CORRECT? + 5169 034052 004 03 0 00 055701 ER4 AC+1,55701 ;RESULT IN AC+1 IS INCORRECT + 5170 034053 321 04 0 00 034044 JUMPL AC+2,E55700 ;LOOP ON ERROR SWITCH^ + 5171 + 5172 ;SHIFT COUNTER TEST + 5173 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5174 SR2 (\,230703,603700,770037,600377,760077,400776,461607,407601,ROTC,N+1) + 5175 ^ + 5176 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5177 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N+1 BIT POSITIONS AND + 5178 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 760077,400776] AND + 5179 ;[XWD 461607,407601] + 5180 + 5181 034054 200 02 0 00 036635 E56000: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5182 034055 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5183 034056 245 02 0 00 777405 ROTC AC,N+1 ;*SHIFT/ROTATE COMBINED N+1 PLACES + 5184 034057 312 02 0 00 036661 CAME AC,[XWD 760077,400776] ;IS RESULT IN AC CORRECT? + 5185 034060 003 02 0 00 056001 ER3 AC,56001 ;RESULT IN AC IS INCORRECT + 5186 034061 312 03 0 00 036662 CAME AC+1,[XWD 461607,407601] ;IS RESULT IN AC+1 CORRECT? +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 26-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0136 + + 5187 034062 004 03 0 00 056001 ER4 AC+1,56001 ;RESULT IN AC+1 IS INCORRECT + 5188 034063 321 04 0 00 034054 JUMPL AC+2,E56000 ;LOOP ON ERROR SWITCH^ + 5189 PAGE> +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 27 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0137 + + 5190 REPEAT ^D7, < + 5191 ADR=ADR+3 + 5192 N=N+44 + 5193 + 5194 ;SHIFT COUNTER TEST + 5195 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5196 SR2 (\ADR,230703,603700,770037,600377,514341,701740,374017,700177,ROTC,N-1) + 5197 + 5198 ;SHIFT COUNTER TEST + 5199 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5200 SR2 (\,230703,603700,770037,600377,230703,603700,770037,600377,ROTC,N) + 5201 + 5202 ;SHIFT COUNTER TEST + 5203 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5204 SR2 (\,230703,603700,770037,600377,461607,407601,760077,400776,ROTC,N+1) + 5205 + 5206 PAGE + 5207 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 28 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0138 + + 5208 ADR=ADR+3 + 5209 N=N+44 + 5210 + 5211 ;SHIFT COUNTER TEST + 5212 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5213 SR2 (\ADR,230703,603700,770037,600377,374017,700177,514341,701740,ROTC,N-1) + 5214 + 5215 ;SHIFT COUNTER TEST + 5216 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5217 SR2 (\,230703,603700,770037,600377,770037,600377,230703,603700,ROTC,N) + 5218 + 5219 ;SHIFT COUNTER TEST + 5220 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5221 SR2 (\,230703,603700,770037,600377,760077,400776,461607,407601,ROTC,N+1) + 5222 + 5223 PAGE> + 5224 + 5225 000561 ADR=ADR+3 + 5226 777777 777450 N=N+44 + 5227 + 5228 ;SHIFT COUNTER TEST + 5229 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5230 SR2 (\ADR,230703,603700,770037,600377,514341,701740,374017,700177,ROTC,N-1)^ + 5231 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5232 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N-1 BIT POSITIONS AND + 5233 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 514341,701740] AND + 5234 ;[XWD 374017,700177] + 5235 + 5236 034064 200 02 0 00 036635 E56100: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5237 034065 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5238 034066 245 02 0 00 777447 ROTC AC,N-1 ;*SHIFT/ROTATE COMBINED N-1 PLACES + 5239 034067 312 02 0 00 036660 CAME AC,[XWD 514341,701740] ;IS RESULT IN AC CORRECT? + 5240 034070 003 02 0 00 056101 ER3 AC,56101 ;RESULT IN AC IS INCORRECT + 5241 034071 312 03 0 00 036657 CAME AC+1,[XWD 374017,700177] ;IS RESULT IN AC+1 CORRECT? + 5242 034072 004 03 0 00 056101 ER4 AC+1,56101 ;RESULT IN AC+1 IS INCORRECT + 5243 034073 321 04 0 00 034064 JUMPL AC+2,E56100 ;LOOP ON ERROR SWITCH^ + 5244 + 5245 ;SHIFT COUNTER TEST + 5246 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5247 SR2 (\,230703,603700,770037,600377,230703,603700,770037,600377,ROTC,N)^ + 5248 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5249 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N BIT POSITIONS AND + 5250 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 230703,603700] AND + 5251 ;[XWD 770037,600377] + 5252 + 5253 034074 200 02 0 00 036635 E56200: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5254 034075 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5255 034076 245 02 0 00 777450 ROTC AC,N ;*SHIFT/ROTATE COMBINED N PLACES + 5256 034077 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 5257 034100 003 02 0 00 056201 ER3 AC,56201 ;RESULT IN AC IS INCORRECT + 5258 034101 312 03 0 00 036656 CAME AC+1,[XWD 770037,600377] ;IS RESULT IN AC+1 CORRECT? + 5259 034102 004 03 0 00 056201 ER4 AC+1,56201 ;RESULT IN AC+1 IS INCORRECT + 5260 034103 321 04 0 00 034074 JUMPL AC+2,E56200 ;LOOP ON ERROR SWITCH^ + 5261 + 5262 ;SHIFT COUNTER TEST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 28-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0139 + + 5263 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5264 SR2 (\,230703,603700,770037,600377,461607,407601,760077,400776,ROTC,N+1) + 5265 ^ + 5266 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5267 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N+1 BIT POSITIONS AND + 5268 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 461607,407601] AND + 5269 ;[XWD 760077,400776] + 5270 + 5271 034104 200 02 0 00 036635 E56300: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5272 034105 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5273 034106 245 02 0 00 777451 ROTC AC,N+1 ;*SHIFT/ROTATE COMBINED N+1 PLACES + 5274 034107 312 02 0 00 036662 CAME AC,[XWD 461607,407601] ;IS RESULT IN AC CORRECT? + 5275 034110 003 02 0 00 056301 ER3 AC,56301 ;RESULT IN AC IS INCORRECT + 5276 034111 312 03 0 00 036661 CAME AC+1,[XWD 760077,400776] ;IS RESULT IN AC+1 CORRECT? + 5277 034112 004 03 0 00 056301 ER4 AC+1,56301 ;RESULT IN AC+1 IS INCORRECT + 5278 034113 321 04 0 00 034104 JUMPL AC+2,E56300 ;LOOP ON ERROR SWITCH^ + 5279 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 29 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0140 + + 5280 000564 ADR=ADR+3 + 5281 777777 777514 N=N+44 + 5282 + 5283 ;SHIFT COUNTER TEST + 5284 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5285 SR2 (\ADR,230703,603700,770037,600377,374017,700177,514341,701740,ROTC,N-1)^ + 5286 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5287 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N-1 BIT POSITIONS AND + 5288 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 374017,700177] AND + 5289 ;[XWD 514341,701740] + 5290 + 5291 034114 200 02 0 00 036635 E56400: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5292 034115 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5293 034116 245 02 0 00 777513 ROTC AC,N-1 ;*SHIFT/ROTATE COMBINED N-1 PLACES + 5294 034117 312 02 0 00 036657 CAME AC,[XWD 374017,700177] ;IS RESULT IN AC CORRECT? + 5295 034120 003 02 0 00 056401 ER3 AC,56401 ;RESULT IN AC IS INCORRECT + 5296 034121 312 03 0 00 036660 CAME AC+1,[XWD 514341,701740] ;IS RESULT IN AC+1 CORRECT? + 5297 034122 004 03 0 00 056401 ER4 AC+1,56401 ;RESULT IN AC+1 IS INCORRECT + 5298 034123 321 04 0 00 034114 JUMPL AC+2,E56400 ;LOOP ON ERROR SWITCH^ + 5299 + 5300 ;SHIFT COUNTER TEST + 5301 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5302 SR2 (\,230703,603700,770037,600377,770037,600377,230703,603700,ROTC,N)^ + 5303 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5304 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N BIT POSITIONS AND + 5305 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 770037,600377] AND + 5306 ;[XWD 230703,603700] + 5307 + 5308 034124 200 02 0 00 036635 E56500: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5309 034125 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5310 034126 245 02 0 00 777514 ROTC AC,N ;*SHIFT/ROTATE COMBINED N PLACES + 5311 034127 312 02 0 00 036656 CAME AC,[XWD 770037,600377] ;IS RESULT IN AC CORRECT? + 5312 034130 003 02 0 00 056501 ER3 AC,56501 ;RESULT IN AC IS INCORRECT + 5313 034131 312 03 0 00 036635 CAME AC+1,[XWD 230703,603700] ;IS RESULT IN AC+1 CORRECT? + 5314 034132 004 03 0 00 056501 ER4 AC+1,56501 ;RESULT IN AC+1 IS INCORRECT + 5315 034133 321 04 0 00 034124 JUMPL AC+2,E56500 ;LOOP ON ERROR SWITCH^ + 5316 + 5317 ;SHIFT COUNTER TEST + 5318 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5319 SR2 (\,230703,603700,770037,600377,760077,400776,461607,407601,ROTC,N+1) + 5320 ^ + 5321 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5322 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N+1 BIT POSITIONS AND + 5323 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 760077,400776] AND + 5324 ;[XWD 461607,407601] + 5325 + 5326 034134 200 02 0 00 036635 E56600: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5327 034135 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5328 034136 245 02 0 00 777515 ROTC AC,N+1 ;*SHIFT/ROTATE COMBINED N+1 PLACES + 5329 034137 312 02 0 00 036661 CAME AC,[XWD 760077,400776] ;IS RESULT IN AC CORRECT? + 5330 034140 003 02 0 00 056601 ER3 AC,56601 ;RESULT IN AC IS INCORRECT + 5331 034141 312 03 0 00 036662 CAME AC+1,[XWD 461607,407601] ;IS RESULT IN AC+1 CORRECT? + 5332 034142 004 03 0 00 056601 ER4 AC+1,56601 ;RESULT IN AC+1 IS INCORRECT + 5333 034143 321 04 0 00 034134 JUMPL AC+2,E56600 ;LOOP ON ERROR SWITCH^ + 5334 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 29-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0141 + + 5335 + 5336 000567 ADR=ADR+3 + 5337 777777 777560 N=N+44 + 5338 + 5339 ;SHIFT COUNTER TEST + 5340 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5341 SR2 (\ADR,230703,603700,770037,600377,514341,701740,374017,700177,ROTC,N-1)^ + 5342 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5343 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N-1 BIT POSITIONS AND + 5344 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 514341,701740] AND + 5345 ;[XWD 374017,700177] + 5346 + 5347 034144 200 02 0 00 036635 E56700: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5348 034145 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5349 034146 245 02 0 00 777557 ROTC AC,N-1 ;*SHIFT/ROTATE COMBINED N-1 PLACES + 5350 034147 312 02 0 00 036660 CAME AC,[XWD 514341,701740] ;IS RESULT IN AC CORRECT? + 5351 034150 003 02 0 00 056701 ER3 AC,56701 ;RESULT IN AC IS INCORRECT + 5352 034151 312 03 0 00 036657 CAME AC+1,[XWD 374017,700177] ;IS RESULT IN AC+1 CORRECT? + 5353 034152 004 03 0 00 056701 ER4 AC+1,56701 ;RESULT IN AC+1 IS INCORRECT + 5354 034153 321 04 0 00 034144 JUMPL AC+2,E56700 ;LOOP ON ERROR SWITCH^ + 5355 + 5356 ;SHIFT COUNTER TEST + 5357 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5358 SR2 (\,230703,603700,770037,600377,230703,603700,770037,600377,ROTC,N)^ + 5359 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5360 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N BIT POSITIONS AND + 5361 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 230703,603700] AND + 5362 ;[XWD 770037,600377] + 5363 + 5364 034154 200 02 0 00 036635 E57000: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5365 034155 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5366 034156 245 02 0 00 777560 ROTC AC,N ;*SHIFT/ROTATE COMBINED N PLACES + 5367 034157 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 5368 034160 003 02 0 00 057001 ER3 AC,57001 ;RESULT IN AC IS INCORRECT + 5369 034161 312 03 0 00 036656 CAME AC+1,[XWD 770037,600377] ;IS RESULT IN AC+1 CORRECT? + 5370 034162 004 03 0 00 057001 ER4 AC+1,57001 ;RESULT IN AC+1 IS INCORRECT + 5371 034163 321 04 0 00 034154 JUMPL AC+2,E57000 ;LOOP ON ERROR SWITCH^ + 5372 + 5373 ;SHIFT COUNTER TEST + 5374 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5375 SR2 (\,230703,603700,770037,600377,461607,407601,760077,400776,ROTC,N+1) + 5376 ^ + 5377 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5378 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N+1 BIT POSITIONS AND + 5379 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 461607,407601] AND + 5380 ;[XWD 760077,400776] + 5381 + 5382 034164 200 02 0 00 036635 E57100: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5383 034165 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5384 034166 245 02 0 00 777561 ROTC AC,N+1 ;*SHIFT/ROTATE COMBINED N+1 PLACES + 5385 034167 312 02 0 00 036662 CAME AC,[XWD 461607,407601] ;IS RESULT IN AC CORRECT? + 5386 034170 003 02 0 00 057101 ER3 AC,57101 ;RESULT IN AC IS INCORRECT + 5387 034171 312 03 0 00 036661 CAME AC+1,[XWD 760077,400776] ;IS RESULT IN AC+1 CORRECT? + 5388 034172 004 03 0 00 057101 ER4 AC+1,57101 ;RESULT IN AC+1 IS INCORRECT + 5389 034173 321 04 0 00 034164 JUMPL AC+2,E57100 ;LOOP ON ERROR SWITCH^ +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 29-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0142 + + 5390 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 30 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0143 + + 5391 000572 ADR=ADR+3 + 5392 777777 777624 N=N+44 + 5393 + 5394 ;SHIFT COUNTER TEST + 5395 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5396 SR2 (\ADR,230703,603700,770037,600377,374017,700177,514341,701740,ROTC,N-1)^ + 5397 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5398 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N-1 BIT POSITIONS AND + 5399 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 374017,700177] AND + 5400 ;[XWD 514341,701740] + 5401 + 5402 034174 200 02 0 00 036635 E57200: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5403 034175 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5404 034176 245 02 0 00 777623 ROTC AC,N-1 ;*SHIFT/ROTATE COMBINED N-1 PLACES + 5405 034177 312 02 0 00 036657 CAME AC,[XWD 374017,700177] ;IS RESULT IN AC CORRECT? + 5406 034200 003 02 0 00 057201 ER3 AC,57201 ;RESULT IN AC IS INCORRECT + 5407 034201 312 03 0 00 036660 CAME AC+1,[XWD 514341,701740] ;IS RESULT IN AC+1 CORRECT? + 5408 034202 004 03 0 00 057201 ER4 AC+1,57201 ;RESULT IN AC+1 IS INCORRECT + 5409 034203 321 04 0 00 034174 JUMPL AC+2,E57200 ;LOOP ON ERROR SWITCH^ + 5410 + 5411 ;SHIFT COUNTER TEST + 5412 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5413 SR2 (\,230703,603700,770037,600377,770037,600377,230703,603700,ROTC,N)^ + 5414 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5415 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N BIT POSITIONS AND + 5416 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 770037,600377] AND + 5417 ;[XWD 230703,603700] + 5418 + 5419 034204 200 02 0 00 036635 E57300: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5420 034205 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5421 034206 245 02 0 00 777624 ROTC AC,N ;*SHIFT/ROTATE COMBINED N PLACES + 5422 034207 312 02 0 00 036656 CAME AC,[XWD 770037,600377] ;IS RESULT IN AC CORRECT? + 5423 034210 003 02 0 00 057301 ER3 AC,57301 ;RESULT IN AC IS INCORRECT + 5424 034211 312 03 0 00 036635 CAME AC+1,[XWD 230703,603700] ;IS RESULT IN AC+1 CORRECT? + 5425 034212 004 03 0 00 057301 ER4 AC+1,57301 ;RESULT IN AC+1 IS INCORRECT + 5426 034213 321 04 0 00 034204 JUMPL AC+2,E57300 ;LOOP ON ERROR SWITCH^ + 5427 + 5428 ;SHIFT COUNTER TEST + 5429 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5430 SR2 (\,230703,603700,770037,600377,760077,400776,461607,407601,ROTC,N+1) + 5431 ^ + 5432 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5433 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N+1 BIT POSITIONS AND + 5434 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 760077,400776] AND + 5435 ;[XWD 461607,407601] + 5436 + 5437 034214 200 02 0 00 036635 E57400: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5438 034215 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5439 034216 245 02 0 00 777625 ROTC AC,N+1 ;*SHIFT/ROTATE COMBINED N+1 PLACES + 5440 034217 312 02 0 00 036661 CAME AC,[XWD 760077,400776] ;IS RESULT IN AC CORRECT? + 5441 034220 003 02 0 00 057401 ER3 AC,57401 ;RESULT IN AC IS INCORRECT + 5442 034221 312 03 0 00 036662 CAME AC+1,[XWD 461607,407601] ;IS RESULT IN AC+1 CORRECT? + 5443 034222 004 03 0 00 057401 ER4 AC+1,57401 ;RESULT IN AC+1 IS INCORRECT + 5444 034223 321 04 0 00 034214 JUMPL AC+2,E57400 ;LOOP ON ERROR SWITCH^ + 5445 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 30-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0144 + + 5446 + 5447 000575 ADR=ADR+3 + 5448 777777 777670 N=N+44 + 5449 + 5450 ;SHIFT COUNTER TEST + 5451 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5452 SR2 (\ADR,230703,603700,770037,600377,514341,701740,374017,700177,ROTC,N-1)^ + 5453 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5454 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N-1 BIT POSITIONS AND + 5455 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 514341,701740] AND + 5456 ;[XWD 374017,700177] + 5457 + 5458 034224 200 02 0 00 036635 E57500: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5459 034225 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5460 034226 245 02 0 00 777667 ROTC AC,N-1 ;*SHIFT/ROTATE COMBINED N-1 PLACES + 5461 034227 312 02 0 00 036660 CAME AC,[XWD 514341,701740] ;IS RESULT IN AC CORRECT? + 5462 034230 003 02 0 00 057501 ER3 AC,57501 ;RESULT IN AC IS INCORRECT + 5463 034231 312 03 0 00 036657 CAME AC+1,[XWD 374017,700177] ;IS RESULT IN AC+1 CORRECT? + 5464 034232 004 03 0 00 057501 ER4 AC+1,57501 ;RESULT IN AC+1 IS INCORRECT + 5465 034233 321 04 0 00 034224 JUMPL AC+2,E57500 ;LOOP ON ERROR SWITCH^ + 5466 + 5467 ;SHIFT COUNTER TEST + 5468 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5469 SR2 (\,230703,603700,770037,600377,230703,603700,770037,600377,ROTC,N)^ + 5470 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5471 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N BIT POSITIONS AND + 5472 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 230703,603700] AND + 5473 ;[XWD 770037,600377] + 5474 + 5475 034234 200 02 0 00 036635 E57600: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5476 034235 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5477 034236 245 02 0 00 777670 ROTC AC,N ;*SHIFT/ROTATE COMBINED N PLACES + 5478 034237 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 5479 034240 003 02 0 00 057601 ER3 AC,57601 ;RESULT IN AC IS INCORRECT + 5480 034241 312 03 0 00 036656 CAME AC+1,[XWD 770037,600377] ;IS RESULT IN AC+1 CORRECT? + 5481 034242 004 03 0 00 057601 ER4 AC+1,57601 ;RESULT IN AC+1 IS INCORRECT + 5482 034243 321 04 0 00 034234 JUMPL AC+2,E57600 ;LOOP ON ERROR SWITCH^ + 5483 + 5484 ;SHIFT COUNTER TEST + 5485 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5486 SR2 (\,230703,603700,770037,600377,461607,407601,760077,400776,ROTC,N+1) + 5487 ^ + 5488 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5489 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N+1 BIT POSITIONS AND + 5490 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 461607,407601] AND + 5491 ;[XWD 760077,400776] + 5492 + 5493 034244 200 02 0 00 036635 E57700: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5494 034245 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5495 034246 245 02 0 00 777671 ROTC AC,N+1 ;*SHIFT/ROTATE COMBINED N+1 PLACES + 5496 034247 312 02 0 00 036662 CAME AC,[XWD 461607,407601] ;IS RESULT IN AC CORRECT? + 5497 034250 003 02 0 00 057701 ER3 AC,57701 ;RESULT IN AC IS INCORRECT + 5498 034251 312 03 0 00 036661 CAME AC+1,[XWD 760077,400776] ;IS RESULT IN AC+1 CORRECT? + 5499 034252 004 03 0 00 057701 ER4 AC+1,57701 ;RESULT IN AC+1 IS INCORRECT + 5500 034253 321 04 0 00 034244 JUMPL AC+2,E57700 ;LOOP ON ERROR SWITCH^ +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 30-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0145 + + 5501 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 31 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0146 + + 5502 000600 ADR=ADR+3 + 5503 777777 777734 N=N+44 + 5504 + 5505 ;SHIFT COUNTER TEST + 5506 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5507 SR2 (\ADR,230703,603700,770037,600377,374017,700177,514341,701740,ROTC,N-1)^ + 5508 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5509 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N-1 BIT POSITIONS AND + 5510 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 374017,700177] AND + 5511 ;[XWD 514341,701740] + 5512 + 5513 034254 200 02 0 00 036635 E60000: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5514 034255 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5515 034256 245 02 0 00 777733 ROTC AC,N-1 ;*SHIFT/ROTATE COMBINED N-1 PLACES + 5516 034257 312 02 0 00 036657 CAME AC,[XWD 374017,700177] ;IS RESULT IN AC CORRECT? + 5517 034260 003 02 0 00 060001 ER3 AC,60001 ;RESULT IN AC IS INCORRECT + 5518 034261 312 03 0 00 036660 CAME AC+1,[XWD 514341,701740] ;IS RESULT IN AC+1 CORRECT? + 5519 034262 004 03 0 00 060001 ER4 AC+1,60001 ;RESULT IN AC+1 IS INCORRECT + 5520 034263 321 04 0 00 034254 JUMPL AC+2,E60000 ;LOOP ON ERROR SWITCH^ + 5521 + 5522 ;SHIFT COUNTER TEST + 5523 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5524 SR2 (\,230703,603700,770037,600377,770037,600377,230703,603700,ROTC,N)^ + 5525 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5526 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N BIT POSITIONS AND + 5527 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 770037,600377] AND + 5528 ;[XWD 230703,603700] + 5529 + 5530 034264 200 02 0 00 036635 E60100: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5531 034265 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5532 034266 245 02 0 00 777734 ROTC AC,N ;*SHIFT/ROTATE COMBINED N PLACES + 5533 034267 312 02 0 00 036656 CAME AC,[XWD 770037,600377] ;IS RESULT IN AC CORRECT? + 5534 034270 003 02 0 00 060101 ER3 AC,60101 ;RESULT IN AC IS INCORRECT + 5535 034271 312 03 0 00 036635 CAME AC+1,[XWD 230703,603700] ;IS RESULT IN AC+1 CORRECT? + 5536 034272 004 03 0 00 060101 ER4 AC+1,60101 ;RESULT IN AC+1 IS INCORRECT + 5537 034273 321 04 0 00 034264 JUMPL AC+2,E60100 ;LOOP ON ERROR SWITCH^ + 5538 + 5539 ;SHIFT COUNTER TEST + 5540 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5541 SR2 (\,230703,603700,770037,600377,760077,400776,461607,407601,ROTC,N+1) + 5542 ^ + 5543 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5544 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N+1 BIT POSITIONS AND + 5545 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 760077,400776] AND + 5546 ;[XWD 461607,407601] + 5547 + 5548 034274 200 02 0 00 036635 E60200: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5549 034275 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5550 034276 245 02 0 00 777735 ROTC AC,N+1 ;*SHIFT/ROTATE COMBINED N+1 PLACES + 5551 034277 312 02 0 00 036661 CAME AC,[XWD 760077,400776] ;IS RESULT IN AC CORRECT? + 5552 034300 003 02 0 00 060201 ER3 AC,60201 ;RESULT IN AC IS INCORRECT + 5553 034301 312 03 0 00 036662 CAME AC+1,[XWD 461607,407601] ;IS RESULT IN AC+1 CORRECT? + 5554 034302 004 03 0 00 060201 ER4 AC+1,60201 ;RESULT IN AC+1 IS INCORRECT + 5555 034303 321 04 0 00 034274 JUMPL AC+2,E60200 ;LOOP ON ERROR SWITCH^ + 5556 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 31-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0147 + + 5557 + 5558 000603 ADR=ADR+3 + 5559 000000 N=N+44 + 5560 + 5561 ;SHIFT COUNTER TEST + 5562 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5563 SR2 (\ADR,230703,603700,770037,600377,514341,701740,374017,700177,ROTC,N-1)^ + 5564 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5565 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N-1 BIT POSITIONS AND + 5566 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 514341,701740] AND + 5567 ;[XWD 374017,700177] + 5568 + 5569 034304 200 02 0 00 036635 E60300: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5570 034305 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5571 034306 245 02 0 00 777777 ROTC AC,N-1 ;*SHIFT/ROTATE COMBINED N-1 PLACES + 5572 034307 312 02 0 00 036660 CAME AC,[XWD 514341,701740] ;IS RESULT IN AC CORRECT? + 5573 034310 003 02 0 00 060301 ER3 AC,60301 ;RESULT IN AC IS INCORRECT + 5574 034311 312 03 0 00 036657 CAME AC+1,[XWD 374017,700177] ;IS RESULT IN AC+1 CORRECT? + 5575 034312 004 03 0 00 060301 ER4 AC+1,60301 ;RESULT IN AC+1 IS INCORRECT + 5576 034313 321 04 0 00 034304 JUMPL AC+2,E60300 ;LOOP ON ERROR SWITCH^ + 5577 + 5578 ;SHIFT COUNTER TEST + 5579 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5580 SR2 (\,230703,603700,770037,600377,230703,603700,770037,600377,ROTC,N)^ + 5581 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5582 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N BIT POSITIONS AND + 5583 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 230703,603700] AND + 5584 ;[XWD 770037,600377] + 5585 + 5586 034314 200 02 0 00 036635 E60400: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5587 034315 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5588 034316 245 02 0 00 000000 ROTC AC,N ;*SHIFT/ROTATE COMBINED N PLACES + 5589 034317 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 5590 034320 003 02 0 00 060401 ER3 AC,60401 ;RESULT IN AC IS INCORRECT + 5591 034321 312 03 0 00 036656 CAME AC+1,[XWD 770037,600377] ;IS RESULT IN AC+1 CORRECT? + 5592 034322 004 03 0 00 060401 ER4 AC+1,60401 ;RESULT IN AC+1 IS INCORRECT + 5593 034323 321 04 0 00 034314 JUMPL AC+2,E60400 ;LOOP ON ERROR SWITCH^ + 5594 + 5595 ;SHIFT COUNTER TEST + 5596 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5597 SR2 (\,230703,603700,770037,600377,461607,407601,760077,400776,ROTC,N+1) + 5598 ^ + 5599 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5600 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N+1 BIT POSITIONS AND + 5601 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 461607,407601] AND + 5602 ;[XWD 760077,400776] + 5603 + 5604 034324 200 02 0 00 036635 E60500: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5605 034325 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5606 034326 245 02 0 00 000001 ROTC AC,N+1 ;*SHIFT/ROTATE COMBINED N+1 PLACES + 5607 034327 312 02 0 00 036662 CAME AC,[XWD 461607,407601] ;IS RESULT IN AC CORRECT? + 5608 034330 003 02 0 00 060501 ER3 AC,60501 ;RESULT IN AC IS INCORRECT + 5609 034331 312 03 0 00 036661 CAME AC+1,[XWD 760077,400776] ;IS RESULT IN AC+1 CORRECT? + 5610 034332 004 03 0 00 060501 ER4 AC+1,60501 ;RESULT IN AC+1 IS INCORRECT + 5611 034333 321 04 0 00 034324 JUMPL AC+2,E60500 ;LOOP ON ERROR SWITCH^ +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 31-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0148 + + 5612 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 32 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0149 + + 5613 000606 ADR=ADR+3 + 5614 000044 N=N+44 + 5615 + 5616 ;SHIFT COUNTER TEST + 5617 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5618 SR2 (\ADR,230703,603700,770037,600377,374017,700177,514341,701740,ROTC,N-1)^ + 5619 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5620 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N-1 BIT POSITIONS AND + 5621 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 374017,700177] AND + 5622 ;[XWD 514341,701740] + 5623 + 5624 034334 200 02 0 00 036635 E60600: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5625 034335 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5626 034336 245 02 0 00 000043 ROTC AC,N-1 ;*SHIFT/ROTATE COMBINED N-1 PLACES + 5627 034337 312 02 0 00 036657 CAME AC,[XWD 374017,700177] ;IS RESULT IN AC CORRECT? + 5628 034340 003 02 0 00 060601 ER3 AC,60601 ;RESULT IN AC IS INCORRECT + 5629 034341 312 03 0 00 036660 CAME AC+1,[XWD 514341,701740] ;IS RESULT IN AC+1 CORRECT? + 5630 034342 004 03 0 00 060601 ER4 AC+1,60601 ;RESULT IN AC+1 IS INCORRECT + 5631 034343 321 04 0 00 034334 JUMPL AC+2,E60600 ;LOOP ON ERROR SWITCH^ + 5632 + 5633 ;SHIFT COUNTER TEST + 5634 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5635 SR2 (\,230703,603700,770037,600377,770037,600377,230703,603700,ROTC,N)^ + 5636 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5637 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N BIT POSITIONS AND + 5638 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 770037,600377] AND + 5639 ;[XWD 230703,603700] + 5640 + 5641 034344 200 02 0 00 036635 E60700: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5642 034345 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5643 034346 245 02 0 00 000044 ROTC AC,N ;*SHIFT/ROTATE COMBINED N PLACES + 5644 034347 312 02 0 00 036656 CAME AC,[XWD 770037,600377] ;IS RESULT IN AC CORRECT? + 5645 034350 003 02 0 00 060701 ER3 AC,60701 ;RESULT IN AC IS INCORRECT + 5646 034351 312 03 0 00 036635 CAME AC+1,[XWD 230703,603700] ;IS RESULT IN AC+1 CORRECT? + 5647 034352 004 03 0 00 060701 ER4 AC+1,60701 ;RESULT IN AC+1 IS INCORRECT + 5648 034353 321 04 0 00 034344 JUMPL AC+2,E60700 ;LOOP ON ERROR SWITCH^ + 5649 + 5650 ;SHIFT COUNTER TEST + 5651 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5652 SR2 (\,230703,603700,770037,600377,760077,400776,461607,407601,ROTC,N+1) + 5653 ^ + 5654 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5655 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N+1 BIT POSITIONS AND + 5656 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 760077,400776] AND + 5657 ;[XWD 461607,407601] + 5658 + 5659 034354 200 02 0 00 036635 E61000: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5660 034355 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5661 034356 245 02 0 00 000045 ROTC AC,N+1 ;*SHIFT/ROTATE COMBINED N+1 PLACES + 5662 034357 312 02 0 00 036661 CAME AC,[XWD 760077,400776] ;IS RESULT IN AC CORRECT? + 5663 034360 003 02 0 00 061001 ER3 AC,61001 ;RESULT IN AC IS INCORRECT + 5664 034361 312 03 0 00 036662 CAME AC+1,[XWD 461607,407601] ;IS RESULT IN AC+1 CORRECT? + 5665 034362 004 03 0 00 061001 ER4 AC+1,61001 ;RESULT IN AC+1 IS INCORRECT + 5666 034363 321 04 0 00 034354 JUMPL AC+2,E61000 ;LOOP ON ERROR SWITCH^ + 5667 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 32-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0150 + + 5668 + 5669 000611 ADR=ADR+3 + 5670 000110 N=N+44 + 5671 + 5672 ;SHIFT COUNTER TEST + 5673 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5674 SR2 (\ADR,230703,603700,770037,600377,514341,701740,374017,700177,ROTC,N-1)^ + 5675 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5676 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N-1 BIT POSITIONS AND + 5677 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 514341,701740] AND + 5678 ;[XWD 374017,700177] + 5679 + 5680 034364 200 02 0 00 036635 E61100: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5681 034365 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5682 034366 245 02 0 00 000107 ROTC AC,N-1 ;*SHIFT/ROTATE COMBINED N-1 PLACES + 5683 034367 312 02 0 00 036660 CAME AC,[XWD 514341,701740] ;IS RESULT IN AC CORRECT? + 5684 034370 003 02 0 00 061101 ER3 AC,61101 ;RESULT IN AC IS INCORRECT + 5685 034371 312 03 0 00 036657 CAME AC+1,[XWD 374017,700177] ;IS RESULT IN AC+1 CORRECT? + 5686 034372 004 03 0 00 061101 ER4 AC+1,61101 ;RESULT IN AC+1 IS INCORRECT + 5687 034373 321 04 0 00 034364 JUMPL AC+2,E61100 ;LOOP ON ERROR SWITCH^ + 5688 + 5689 ;SHIFT COUNTER TEST + 5690 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5691 SR2 (\,230703,603700,770037,600377,230703,603700,770037,600377,ROTC,N)^ + 5692 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5693 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N BIT POSITIONS AND + 5694 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 230703,603700] AND + 5695 ;[XWD 770037,600377] + 5696 + 5697 034374 200 02 0 00 036635 E61200: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5698 034375 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5699 034376 245 02 0 00 000110 ROTC AC,N ;*SHIFT/ROTATE COMBINED N PLACES + 5700 034377 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 5701 034400 003 02 0 00 061201 ER3 AC,61201 ;RESULT IN AC IS INCORRECT + 5702 034401 312 03 0 00 036656 CAME AC+1,[XWD 770037,600377] ;IS RESULT IN AC+1 CORRECT? + 5703 034402 004 03 0 00 061201 ER4 AC+1,61201 ;RESULT IN AC+1 IS INCORRECT + 5704 034403 321 04 0 00 034374 JUMPL AC+2,E61200 ;LOOP ON ERROR SWITCH^ + 5705 + 5706 ;SHIFT COUNTER TEST + 5707 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5708 SR2 (\,230703,603700,770037,600377,461607,407601,760077,400776,ROTC,N+1) + 5709 ^ + 5710 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5711 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N+1 BIT POSITIONS AND + 5712 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 461607,407601] AND + 5713 ;[XWD 760077,400776] + 5714 + 5715 034404 200 02 0 00 036635 E61300: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5716 034405 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5717 034406 245 02 0 00 000111 ROTC AC,N+1 ;*SHIFT/ROTATE COMBINED N+1 PLACES + 5718 034407 312 02 0 00 036662 CAME AC,[XWD 461607,407601] ;IS RESULT IN AC CORRECT? + 5719 034410 003 02 0 00 061301 ER3 AC,61301 ;RESULT IN AC IS INCORRECT + 5720 034411 312 03 0 00 036661 CAME AC+1,[XWD 760077,400776] ;IS RESULT IN AC+1 CORRECT? + 5721 034412 004 03 0 00 061301 ER4 AC+1,61301 ;RESULT IN AC+1 IS INCORRECT + 5722 034413 321 04 0 00 034404 JUMPL AC+2,E61300 ;LOOP ON ERROR SWITCH^ +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 32-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0151 + + 5723 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 33 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0152 + + 5724 000614 ADR=ADR+3 + 5725 000154 N=N+44 + 5726 + 5727 ;SHIFT COUNTER TEST + 5728 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5729 SR2 (\ADR,230703,603700,770037,600377,374017,700177,514341,701740,ROTC,N-1)^ + 5730 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5731 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N-1 BIT POSITIONS AND + 5732 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 374017,700177] AND + 5733 ;[XWD 514341,701740] + 5734 + 5735 034414 200 02 0 00 036635 E61400: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5736 034415 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5737 034416 245 02 0 00 000153 ROTC AC,N-1 ;*SHIFT/ROTATE COMBINED N-1 PLACES + 5738 034417 312 02 0 00 036657 CAME AC,[XWD 374017,700177] ;IS RESULT IN AC CORRECT? + 5739 034420 003 02 0 00 061401 ER3 AC,61401 ;RESULT IN AC IS INCORRECT + 5740 034421 312 03 0 00 036660 CAME AC+1,[XWD 514341,701740] ;IS RESULT IN AC+1 CORRECT? + 5741 034422 004 03 0 00 061401 ER4 AC+1,61401 ;RESULT IN AC+1 IS INCORRECT + 5742 034423 321 04 0 00 034414 JUMPL AC+2,E61400 ;LOOP ON ERROR SWITCH^ + 5743 + 5744 ;SHIFT COUNTER TEST + 5745 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5746 SR2 (\,230703,603700,770037,600377,770037,600377,230703,603700,ROTC,N)^ + 5747 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5748 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N BIT POSITIONS AND + 5749 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 770037,600377] AND + 5750 ;[XWD 230703,603700] + 5751 + 5752 034424 200 02 0 00 036635 E61500: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5753 034425 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5754 034426 245 02 0 00 000154 ROTC AC,N ;*SHIFT/ROTATE COMBINED N PLACES + 5755 034427 312 02 0 00 036656 CAME AC,[XWD 770037,600377] ;IS RESULT IN AC CORRECT? + 5756 034430 003 02 0 00 061501 ER3 AC,61501 ;RESULT IN AC IS INCORRECT + 5757 034431 312 03 0 00 036635 CAME AC+1,[XWD 230703,603700] ;IS RESULT IN AC+1 CORRECT? + 5758 034432 004 03 0 00 061501 ER4 AC+1,61501 ;RESULT IN AC+1 IS INCORRECT + 5759 034433 321 04 0 00 034424 JUMPL AC+2,E61500 ;LOOP ON ERROR SWITCH^ + 5760 + 5761 ;SHIFT COUNTER TEST + 5762 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5763 SR2 (\,230703,603700,770037,600377,760077,400776,461607,407601,ROTC,N+1) + 5764 ^ + 5765 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5766 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N+1 BIT POSITIONS AND + 5767 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 760077,400776] AND + 5768 ;[XWD 461607,407601] + 5769 + 5770 034434 200 02 0 00 036635 E61600: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5771 034435 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5772 034436 245 02 0 00 000155 ROTC AC,N+1 ;*SHIFT/ROTATE COMBINED N+1 PLACES + 5773 034437 312 02 0 00 036661 CAME AC,[XWD 760077,400776] ;IS RESULT IN AC CORRECT? + 5774 034440 003 02 0 00 061601 ER3 AC,61601 ;RESULT IN AC IS INCORRECT + 5775 034441 312 03 0 00 036662 CAME AC+1,[XWD 461607,407601] ;IS RESULT IN AC+1 CORRECT? + 5776 034442 004 03 0 00 061601 ER4 AC+1,61601 ;RESULT IN AC+1 IS INCORRECT + 5777 034443 321 04 0 00 034434 JUMPL AC+2,E61600 ;LOOP ON ERROR SWITCH^ + 5778 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 33-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0153 + + 5779 + 5780 000617 ADR=ADR+3 + 5781 000220 N=N+44 + 5782 + 5783 ;SHIFT COUNTER TEST + 5784 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5785 SR2 (\ADR,230703,603700,770037,600377,514341,701740,374017,700177,ROTC,N-1)^ + 5786 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5787 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N-1 BIT POSITIONS AND + 5788 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 514341,701740] AND + 5789 ;[XWD 374017,700177] + 5790 + 5791 034444 200 02 0 00 036635 E61700: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5792 034445 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5793 034446 245 02 0 00 000217 ROTC AC,N-1 ;*SHIFT/ROTATE COMBINED N-1 PLACES + 5794 034447 312 02 0 00 036660 CAME AC,[XWD 514341,701740] ;IS RESULT IN AC CORRECT? + 5795 034450 003 02 0 00 061701 ER3 AC,61701 ;RESULT IN AC IS INCORRECT + 5796 034451 312 03 0 00 036657 CAME AC+1,[XWD 374017,700177] ;IS RESULT IN AC+1 CORRECT? + 5797 034452 004 03 0 00 061701 ER4 AC+1,61701 ;RESULT IN AC+1 IS INCORRECT + 5798 034453 321 04 0 00 034444 JUMPL AC+2,E61700 ;LOOP ON ERROR SWITCH^ + 5799 + 5800 ;SHIFT COUNTER TEST + 5801 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5802 SR2 (\,230703,603700,770037,600377,230703,603700,770037,600377,ROTC,N)^ + 5803 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5804 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N BIT POSITIONS AND + 5805 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 230703,603700] AND + 5806 ;[XWD 770037,600377] + 5807 + 5808 034454 200 02 0 00 036635 E62000: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5809 034455 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5810 034456 245 02 0 00 000220 ROTC AC,N ;*SHIFT/ROTATE COMBINED N PLACES + 5811 034457 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 5812 034460 003 02 0 00 062001 ER3 AC,62001 ;RESULT IN AC IS INCORRECT + 5813 034461 312 03 0 00 036656 CAME AC+1,[XWD 770037,600377] ;IS RESULT IN AC+1 CORRECT? + 5814 034462 004 03 0 00 062001 ER4 AC+1,62001 ;RESULT IN AC+1 IS INCORRECT + 5815 034463 321 04 0 00 034454 JUMPL AC+2,E62000 ;LOOP ON ERROR SWITCH^ + 5816 + 5817 ;SHIFT COUNTER TEST + 5818 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5819 SR2 (\,230703,603700,770037,600377,461607,407601,760077,400776,ROTC,N+1) + 5820 ^ + 5821 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5822 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N+1 BIT POSITIONS AND + 5823 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 461607,407601] AND + 5824 ;[XWD 760077,400776] + 5825 + 5826 034464 200 02 0 00 036635 E62100: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5827 034465 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5828 034466 245 02 0 00 000221 ROTC AC,N+1 ;*SHIFT/ROTATE COMBINED N+1 PLACES + 5829 034467 312 02 0 00 036662 CAME AC,[XWD 461607,407601] ;IS RESULT IN AC CORRECT? + 5830 034470 003 02 0 00 062101 ER3 AC,62101 ;RESULT IN AC IS INCORRECT + 5831 034471 312 03 0 00 036661 CAME AC+1,[XWD 760077,400776] ;IS RESULT IN AC+1 CORRECT? + 5832 034472 004 03 0 00 062101 ER4 AC+1,62101 ;RESULT IN AC+1 IS INCORRECT + 5833 034473 321 04 0 00 034464 JUMPL AC+2,E62100 ;LOOP ON ERROR SWITCH^ +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 33-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0154 + + 5834 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 34 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0155 + + 5835 000622 ADR=ADR+3 + 5836 000264 N=N+44 + 5837 + 5838 ;SHIFT COUNTER TEST + 5839 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5840 SR2 (\ADR,230703,603700,770037,600377,374017,700177,514341,701740,ROTC,N-1)^ + 5841 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5842 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N-1 BIT POSITIONS AND + 5843 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 374017,700177] AND + 5844 ;[XWD 514341,701740] + 5845 + 5846 034474 200 02 0 00 036635 E62200: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5847 034475 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5848 034476 245 02 0 00 000263 ROTC AC,N-1 ;*SHIFT/ROTATE COMBINED N-1 PLACES + 5849 034477 312 02 0 00 036657 CAME AC,[XWD 374017,700177] ;IS RESULT IN AC CORRECT? + 5850 034500 003 02 0 00 062201 ER3 AC,62201 ;RESULT IN AC IS INCORRECT + 5851 034501 312 03 0 00 036660 CAME AC+1,[XWD 514341,701740] ;IS RESULT IN AC+1 CORRECT? + 5852 034502 004 03 0 00 062201 ER4 AC+1,62201 ;RESULT IN AC+1 IS INCORRECT + 5853 034503 321 04 0 00 034474 JUMPL AC+2,E62200 ;LOOP ON ERROR SWITCH^ + 5854 + 5855 ;SHIFT COUNTER TEST + 5856 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5857 SR2 (\,230703,603700,770037,600377,770037,600377,230703,603700,ROTC,N)^ + 5858 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5859 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N BIT POSITIONS AND + 5860 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 770037,600377] AND + 5861 ;[XWD 230703,603700] + 5862 + 5863 034504 200 02 0 00 036635 E62300: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5864 034505 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5865 034506 245 02 0 00 000264 ROTC AC,N ;*SHIFT/ROTATE COMBINED N PLACES + 5866 034507 312 02 0 00 036656 CAME AC,[XWD 770037,600377] ;IS RESULT IN AC CORRECT? + 5867 034510 003 02 0 00 062301 ER3 AC,62301 ;RESULT IN AC IS INCORRECT + 5868 034511 312 03 0 00 036635 CAME AC+1,[XWD 230703,603700] ;IS RESULT IN AC+1 CORRECT? + 5869 034512 004 03 0 00 062301 ER4 AC+1,62301 ;RESULT IN AC+1 IS INCORRECT + 5870 034513 321 04 0 00 034504 JUMPL AC+2,E62300 ;LOOP ON ERROR SWITCH^ + 5871 + 5872 ;SHIFT COUNTER TEST + 5873 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5874 SR2 (\,230703,603700,770037,600377,760077,400776,461607,407601,ROTC,N+1) + 5875 ^ + 5876 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5877 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N+1 BIT POSITIONS AND + 5878 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 760077,400776] AND + 5879 ;[XWD 461607,407601] + 5880 + 5881 034514 200 02 0 00 036635 E62400: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5882 034515 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5883 034516 245 02 0 00 000265 ROTC AC,N+1 ;*SHIFT/ROTATE COMBINED N+1 PLACES + 5884 034517 312 02 0 00 036661 CAME AC,[XWD 760077,400776] ;IS RESULT IN AC CORRECT? + 5885 034520 003 02 0 00 062401 ER3 AC,62401 ;RESULT IN AC IS INCORRECT + 5886 034521 312 03 0 00 036662 CAME AC+1,[XWD 461607,407601] ;IS RESULT IN AC+1 CORRECT? + 5887 034522 004 03 0 00 062401 ER4 AC+1,62401 ;RESULT IN AC+1 IS INCORRECT + 5888 034523 321 04 0 00 034514 JUMPL AC+2,E62400 ;LOOP ON ERROR SWITCH^ + 5889 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 34-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0156 + + 5890 + 5891 000625 ADR=ADR+3 + 5892 000330 N=N+44 + 5893 + 5894 ;SHIFT COUNTER TEST + 5895 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5896 SR2 (\ADR,230703,603700,770037,600377,514341,701740,374017,700177,ROTC,N-1)^ + 5897 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5898 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N-1 BIT POSITIONS AND + 5899 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 514341,701740] AND + 5900 ;[XWD 374017,700177] + 5901 + 5902 034524 200 02 0 00 036635 E62500: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5903 034525 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5904 034526 245 02 0 00 000327 ROTC AC,N-1 ;*SHIFT/ROTATE COMBINED N-1 PLACES + 5905 034527 312 02 0 00 036660 CAME AC,[XWD 514341,701740] ;IS RESULT IN AC CORRECT? + 5906 034530 003 02 0 00 062501 ER3 AC,62501 ;RESULT IN AC IS INCORRECT + 5907 034531 312 03 0 00 036657 CAME AC+1,[XWD 374017,700177] ;IS RESULT IN AC+1 CORRECT? + 5908 034532 004 03 0 00 062501 ER4 AC+1,62501 ;RESULT IN AC+1 IS INCORRECT + 5909 034533 321 04 0 00 034524 JUMPL AC+2,E62500 ;LOOP ON ERROR SWITCH^ + 5910 + 5911 ;SHIFT COUNTER TEST + 5912 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5913 SR2 (\,230703,603700,770037,600377,230703,603700,770037,600377,ROTC,N)^ + 5914 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5915 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N BIT POSITIONS AND + 5916 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 230703,603700] AND + 5917 ;[XWD 770037,600377] + 5918 + 5919 034534 200 02 0 00 036635 E62600: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5920 034535 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5921 034536 245 02 0 00 000330 ROTC AC,N ;*SHIFT/ROTATE COMBINED N PLACES + 5922 034537 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 5923 034540 003 02 0 00 062601 ER3 AC,62601 ;RESULT IN AC IS INCORRECT + 5924 034541 312 03 0 00 036656 CAME AC+1,[XWD 770037,600377] ;IS RESULT IN AC+1 CORRECT? + 5925 034542 004 03 0 00 062601 ER4 AC+1,62601 ;RESULT IN AC+1 IS INCORRECT + 5926 034543 321 04 0 00 034534 JUMPL AC+2,E62600 ;LOOP ON ERROR SWITCH^ + 5927 + 5928 ;SHIFT COUNTER TEST + 5929 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5930 SR2 (\,230703,603700,770037,600377,461607,407601,760077,400776,ROTC,N+1) + 5931 ^ + 5932 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5933 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N+1 BIT POSITIONS AND + 5934 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 461607,407601] AND + 5935 ;[XWD 760077,400776] + 5936 + 5937 034544 200 02 0 00 036635 E62700: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5938 034545 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5939 034546 245 02 0 00 000331 ROTC AC,N+1 ;*SHIFT/ROTATE COMBINED N+1 PLACES + 5940 034547 312 02 0 00 036662 CAME AC,[XWD 461607,407601] ;IS RESULT IN AC CORRECT? + 5941 034550 003 02 0 00 062701 ER3 AC,62701 ;RESULT IN AC IS INCORRECT + 5942 034551 312 03 0 00 036661 CAME AC+1,[XWD 760077,400776] ;IS RESULT IN AC+1 CORRECT? + 5943 034552 004 03 0 00 062701 ER4 AC+1,62701 ;RESULT IN AC+1 IS INCORRECT + 5944 034553 321 04 0 00 034544 JUMPL AC+2,E62700 ;LOOP ON ERROR SWITCH^ +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 34-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0157 + + 5945 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 35 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0158 + + 5946 000630 ADR=ADR+3 + 5947 000374 N=N+44 + 5948 + 5949 ;SHIFT COUNTER TEST + 5950 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + 5951 SR2 (\ADR,230703,603700,770037,600377,374017,700177,514341,701740,ROTC,N-1)^ + 5952 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5953 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N-1 BIT POSITIONS AND + 5954 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 374017,700177] AND + 5955 ;[XWD 514341,701740] + 5956 + 5957 034554 200 02 0 00 036635 E63000: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5958 034555 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5959 034556 245 02 0 00 000373 ROTC AC,N-1 ;*SHIFT/ROTATE COMBINED N-1 PLACES + 5960 034557 312 02 0 00 036657 CAME AC,[XWD 374017,700177] ;IS RESULT IN AC CORRECT? + 5961 034560 003 02 0 00 063001 ER3 AC,63001 ;RESULT IN AC IS INCORRECT + 5962 034561 312 03 0 00 036660 CAME AC+1,[XWD 514341,701740] ;IS RESULT IN AC+1 CORRECT? + 5963 034562 004 03 0 00 063001 ER4 AC+1,63001 ;RESULT IN AC+1 IS INCORRECT + 5964 034563 321 04 0 00 034554 JUMPL AC+2,E63000 ;LOOP ON ERROR SWITCH^ + 5965 + 5966 ;SHIFT COUNTER TEST + 5967 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + 5968 SR2 (\,230703,603700,770037,600377,770037,600377,230703,603700,ROTC,N)^ + 5969 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5970 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N BIT POSITIONS AND + 5971 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 770037,600377] AND + 5972 ;[XWD 230703,603700] + 5973 + 5974 034564 200 02 0 00 036635 E63100: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5975 034565 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5976 034566 245 02 0 00 000374 ROTC AC,N ;*SHIFT/ROTATE COMBINED N PLACES + 5977 034567 312 02 0 00 036656 CAME AC,[XWD 770037,600377] ;IS RESULT IN AC CORRECT? + 5978 034570 003 02 0 00 063101 ER3 AC,63101 ;RESULT IN AC IS INCORRECT + 5979 034571 312 03 0 00 036635 CAME AC+1,[XWD 230703,603700] ;IS RESULT IN AC+1 CORRECT? + 5980 034572 004 03 0 00 063101 ER4 AC+1,63101 ;RESULT IN AC+1 IS INCORRECT + 5981 034573 321 04 0 00 034564 JUMPL AC+2,E63100 ;LOOP ON ERROR SWITCH^ + 5982 + 5983 ;SHIFT COUNTER TEST + 5984 ;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + 5985 SR2 (\,230703,603700,770037,600377,760077,400776,461607,407601,ROTC,N+1) + 5986 ^ + 5987 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 5988 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] N+1 BIT POSITIONS AND + 5989 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 760077,400776] AND + 5990 ;[XWD 461607,407601] + 5991 + 5992 034574 200 02 0 00 036635 E63200: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 5993 034575 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 5994 034576 245 02 0 00 000375 ROTC AC,N+1 ;*SHIFT/ROTATE COMBINED N+1 PLACES + 5995 034577 312 02 0 00 036661 CAME AC,[XWD 760077,400776] ;IS RESULT IN AC CORRECT? + 5996 034600 003 02 0 00 063201 ER3 AC,63201 ;RESULT IN AC IS INCORRECT + 5997 034601 312 03 0 00 036662 CAME AC+1,[XWD 461607,407601] ;IS RESULT IN AC+1 CORRECT? + 5998 034602 004 03 0 00 063201 ER4 AC+1,63201 ;RESULT IN AC+1 IS INCORRECT + 5999 034603 321 04 0 00 034574 JUMPL AC+2,E63200 ;LOOP ON ERROR SWITCH^ + 6000 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 36 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0159 + + 6001 ;SHIFT COUNTER TEST + 6002 ;TEST FOR MAXIMUM LEFT ROTATION (255 POSITIONS) + 6003 SR1 (633,230703,603700,307036,037002,ROT,377)^ + 6004 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 377 BIT + 6005 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 307036,037002] + 6006 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 6007 + 6008 034604 200 02 0 00 036635 E63300: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 6009 034605 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 6010 034606 241 02 0 00 000377 ROT AC,377 ;*SHIFT/ROTATE 377 BIT POSITIONS + 6011 034607 312 02 0 00 036647 CAME AC,[XWD 307036,037002] ;IS RESULT IN AC CORRECT? + 6012 034610 003 02 0 00 063301 ER3 AC,63301 ;RESULT IN AC IS INCORRECT + 6013 034611 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 6014 034612 004 03 0 00 063301 ER4 AC+1,63301 ;C(AC+1) WAS MODIFIED INCORRECTLY + 6015 034613 321 04 0 00 034604 JUMPL AC+2,E63300 ;LOOP ON ERROR SWITCH^ + 6016 + 6017 ;SHIFT COUNTER TEST + 6018 ;TEST FOR MAXIMUM RIGHT ROTATION -1 (255 POSITIONS) + 6019 SR1 (634,230703,603700,023070,360370,ROT,-377)^ + 6020 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] -377 BIT + 6021 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 023070,360370] + 6022 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 6023 + 6024 034614 200 02 0 00 036635 E63400: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 6025 034615 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 6026 034616 241 02 0 00 777401 ROT AC,-377 ;*SHIFT/ROTATE -377 BIT POSITIONS + 6027 034617 312 02 0 00 036653 CAME AC,[XWD 023070,360370] ;IS RESULT IN AC CORRECT? + 6028 034620 003 02 0 00 063401 ER3 AC,63401 ;RESULT IN AC IS INCORRECT + 6029 034621 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 6030 034622 004 03 0 00 063401 ER4 AC+1,63401 ;C(AC+1) WAS MODIFIED INCORRECTLY + 6031 034623 321 04 0 00 034614 JUMPL AC+2,E63400 ;LOOP ON ERROR SWITCH^ + 6032 + 6033 ;SHIFT COUNTER TEST + 6034 ;TEST FOR MAXIMUM LEFT ROTATION (255 POSITIONS) + 6035 SR2 (635,230703,603700,770037,600377,700376,003772,307036,037007,ROTC,377)^ + 6036 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 6037 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] 377 BIT POSITIONS AND + 6038 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 700376,003772] AND + 6039 ;[XWD 307036,037007] + 6040 + 6041 034624 200 02 0 00 036635 E63500: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 6042 034625 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 6043 034626 245 02 0 00 000377 ROTC AC,377 ;*SHIFT/ROTATE COMBINED 377 PLACES + 6044 034627 312 02 0 00 036663 CAME AC,[XWD 700376,003772] ;IS RESULT IN AC CORRECT? + 6045 034630 003 02 0 00 063501 ER3 AC,63501 ;RESULT IN AC IS INCORRECT + 6046 034631 312 03 0 00 036664 CAME AC+1,[XWD 307036,037007] ;IS RESULT IN AC+1 CORRECT? + 6047 034632 004 03 0 00 063501 ER4 AC+1,63501 ;RESULT IN AC+1 IS INCORRECT + 6048 034633 321 04 0 00 034624 JUMPL AC+2,E63500 ;LOOP ON ERROR SWITCH^ + 6049 + 6050 ;SHIFT COUNTER TEST + 6051 ;TEST FOR MAXIMUM RIGHT ROTATION -1 (255 POSITIONS) + 6052 SR2 (636,230703,603700,770037,600377,077003,760037,723070,360370,ROTC,-377)^ + 6053 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 6054 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] -377 BIT POSITIONS AND + 6055 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 077003,760037] AND +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 36-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0160 + + 6056 ;[XWD 723070,360370] + 6057 + 6058 034634 200 02 0 00 036635 E63600: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 6059 034635 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 6060 034636 245 02 0 00 777401 ROTC AC,-377 ;*SHIFT/ROTATE COMBINED -377 PLACES + 6061 034637 312 02 0 00 036665 CAME AC,[XWD 077003,760037] ;IS RESULT IN AC CORRECT? + 6062 034640 003 02 0 00 063601 ER3 AC,63601 ;RESULT IN AC IS INCORRECT + 6063 034641 312 03 0 00 036666 CAME AC+1,[XWD 723070,360370] ;IS RESULT IN AC+1 CORRECT? + 6064 034642 004 03 0 00 063601 ER4 AC+1,63601 ;RESULT IN AC+1 IS INCORRECT + 6065 034643 321 04 0 00 034634 JUMPL AC+2,E63600 ;LOOP ON ERROR SWITCH^ +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 37 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0161 + + 6066 ;SHIFT COUNTER TEST + 6067 ;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR + 6068 ;RESULT SHOULD INDICATE NO ROTATION + 6069 SR1 (637,230703,603700,230703,603700,ROT,400)^ + 6070 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 400 BIT + 6071 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 6072 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 6073 + 6074 034644 200 02 0 00 036635 E63700: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 6075 034645 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 6076 034646 241 02 0 00 000400 ROT AC,400 ;*SHIFT/ROTATE 400 BIT POSITIONS + 6077 034647 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 6078 034650 003 02 0 00 063701 ER3 AC,63701 ;RESULT IN AC IS INCORRECT + 6079 034651 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 6080 034652 004 03 0 00 063701 ER4 AC+1,63701 ;C(AC+1) WAS MODIFIED INCORRECTLY + 6081 034653 321 04 0 00 034644 JUMPL AC+2,E63700 ;LOOP ON ERROR SWITCH^ + 6082 + 6083 ;SHIFT COUNTER TEST + 6084 ;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR + 6085 ;RESULT SHOULD INDICATE NO ROTATION + 6086 SR1 (640,230703,603700,230703,603700,ROT,1000)^ + 6087 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 1000 BIT + 6088 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 6089 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 6090 + 6091 034654 200 02 0 00 036635 E64000: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 6092 034655 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 6093 034656 241 02 0 00 001000 ROT AC,1000 ;*SHIFT/ROTATE 1000 BIT POSITIONS + 6094 034657 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 6095 034660 003 02 0 00 064001 ER3 AC,64001 ;RESULT IN AC IS INCORRECT + 6096 034661 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 6097 034662 004 03 0 00 064001 ER4 AC+1,64001 ;C(AC+1) WAS MODIFIED INCORRECTLY + 6098 034663 321 04 0 00 034654 JUMPL AC+2,E64000 ;LOOP ON ERROR SWITCH^ + 6099 + 6100 ;SHIFT COUNTER TEST + 6101 ;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR + 6102 ;RESULT SHOULD INDICATE NO ROTATION + 6103 SR1 (641,230703,603700,230703,603700,ROT,2000)^ + 6104 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 2000 BIT + 6105 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 6106 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 6107 + 6108 034664 200 02 0 00 036635 E64100: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 6109 034665 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 6110 034666 241 02 0 00 002000 ROT AC,2000 ;*SHIFT/ROTATE 2000 BIT POSITIONS + 6111 034667 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 6112 034670 003 02 0 00 064101 ER3 AC,64101 ;RESULT IN AC IS INCORRECT + 6113 034671 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 6114 034672 004 03 0 00 064101 ER4 AC+1,64101 ;C(AC+1) WAS MODIFIED INCORRECTLY + 6115 034673 321 04 0 00 034664 JUMPL AC+2,E64100 ;LOOP ON ERROR SWITCH^ + 6116 + 6117 ;SHIFT COUNTER TEST + 6118 ;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR + 6119 ;RESULT SHOULD INDICATE NO ROTATION + 6120 SR1 (642,230703,603700,230703,603700,ROT,4000)^ +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 37-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0162 + + 6121 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 4000 BIT + 6122 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 6123 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 6124 + 6125 034674 200 02 0 00 036635 E64200: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 6126 034675 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 6127 034676 241 02 0 00 004000 ROT AC,4000 ;*SHIFT/ROTATE 4000 BIT POSITIONS + 6128 034677 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 6129 034700 003 02 0 00 064201 ER3 AC,64201 ;RESULT IN AC IS INCORRECT + 6130 034701 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 6131 034702 004 03 0 00 064201 ER4 AC+1,64201 ;C(AC+1) WAS MODIFIED INCORRECTLY + 6132 034703 321 04 0 00 034674 JUMPL AC+2,E64200 ;LOOP ON ERROR SWITCH^ + 6133 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 37-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0163 + + 6134 ;SHIFT COUNTER TEST + 6135 ;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR + 6136 ;RESULT SHOULD INDICATE NO ROTATION + 6137 SR1 (643,230703,603700,230703,603700,ROT,10000)^ + 6138 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 10000 BIT + 6139 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 6140 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 6141 + 6142 034704 200 02 0 00 036635 E64300: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 6143 034705 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 6144 034706 241 02 0 00 010000 ROT AC,10000 ;*SHIFT/ROTATE 10000 BIT POSITIONS + 6145 034707 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 6146 034710 003 02 0 00 064301 ER3 AC,64301 ;RESULT IN AC IS INCORRECT + 6147 034711 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 6148 034712 004 03 0 00 064301 ER4 AC+1,64301 ;C(AC+1) WAS MODIFIED INCORRECTLY + 6149 034713 321 04 0 00 034704 JUMPL AC+2,E64300 ;LOOP ON ERROR SWITCH^ + 6150 + 6151 ;SHIFT COUNTER TEST + 6152 ;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR + 6153 ;RESULT SHOULD INDICATE NO ROTATION + 6154 SR1 (644,230703,603700,230703,603700,ROT,20000)^ + 6155 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 20000 BIT + 6156 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 6157 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 6158 + 6159 034714 200 02 0 00 036635 E64400: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 6160 034715 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 6161 034716 241 02 0 00 020000 ROT AC,20000 ;*SHIFT/ROTATE 20000 BIT POSITIONS + 6162 034717 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 6163 034720 003 02 0 00 064401 ER3 AC,64401 ;RESULT IN AC IS INCORRECT + 6164 034721 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 6165 034722 004 03 0 00 064401 ER4 AC+1,64401 ;C(AC+1) WAS MODIFIED INCORRECTLY + 6166 034723 321 04 0 00 034714 JUMPL AC+2,E64400 ;LOOP ON ERROR SWITCH^ + 6167 + 6168 ;SHIFT COUNTER TEST + 6169 ;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR + 6170 ;RESULT SHOULD INDICATE NO ROTATION + 6171 SR1 (645,230703,603700,230703,603700,ROT,40000)^ + 6172 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 40000 BIT + 6173 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 6174 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 6175 + 6176 034724 200 02 0 00 036635 E64500: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 6177 034725 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 6178 034726 241 02 0 00 040000 ROT AC,40000 ;*SHIFT/ROTATE 40000 BIT POSITIONS + 6179 034727 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 6180 034730 003 02 0 00 064501 ER3 AC,64501 ;RESULT IN AC IS INCORRECT + 6181 034731 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 6182 034732 004 03 0 00 064501 ER4 AC+1,64501 ;C(AC+1) WAS MODIFIED INCORRECTLY + 6183 034733 321 04 0 00 034724 JUMPL AC+2,E64500 ;LOOP ON ERROR SWITCH^ + 6184 + 6185 ;SHIFT COUNTER TEST + 6186 ;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR + 6187 ;RESULT SHOULD INDICATE NO ROTATION + 6188 SR1 (646,230703,603700,230703,603700,ROT,100000)^ +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 37-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0164 + + 6189 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 100000 BIT + 6190 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 6191 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 6192 + 6193 034734 200 02 0 00 036635 E64600: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 6194 034735 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 6195 034736 241 02 0 00 100000 ROT AC,100000 ;*SHIFT/ROTATE 100000 BIT POSITIONS + 6196 034737 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 6197 034740 003 02 0 00 064601 ER3 AC,64601 ;RESULT IN AC IS INCORRECT + 6198 034741 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 6199 034742 004 03 0 00 064601 ER4 AC+1,64601 ;C(AC+1) WAS MODIFIED INCORRECTLY + 6200 034743 321 04 0 00 034734 JUMPL AC+2,E64600 ;LOOP ON ERROR SWITCH^ + 6201 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 37-4 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST SEQ 0165 + + 6202 ;SHIFT COUNTER TEST + 6203 ;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR + 6204 ;RESULT SHOULD INDICATE NO ROTATION + 6205 SR1 (647,230703,603700,230703,603700,ROT,200000)^ + 6206 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 200000 BIT + 6207 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 230703,603700] + 6208 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 6209 + 6210 034744 200 02 0 00 036635 E64700: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 6211 034745 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 6212 034746 241 02 0 00 200000 ROT AC,200000 ;*SHIFT/ROTATE 200000 BIT POSITIONS + 6213 034747 312 02 0 00 036635 CAME AC,[XWD 230703,603700] ;IS RESULT IN AC CORRECT? + 6214 034750 003 02 0 00 064701 ER3 AC,64701 ;RESULT IN AC IS INCORRECT + 6215 034751 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 6216 034752 004 03 0 00 064701 ER4 AC+1,64701 ;C(AC+1) WAS MODIFIED INCORRECTLY + 6217 034753 321 04 0 00 034744 JUMPL AC+2,E64700 ;LOOP ON ERROR SWITCH^ + 6218 + 6219 ;SHIFT COUNTER TEST + 6220 ;TEST FOR MAXIMUM RIGHT ROTATION (256 POSITIONS) + 6221 SR1 (650,230703,603700,011434,170174,ROT,400000)^ + 6222 ;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD 230703,603700] 400000 BIT + 6223 ;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD 011434,170174] + 6224 ;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + 6225 + 6226 034754 200 02 0 00 036635 E65000: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 6227 034755 200 03 0 00 036631 MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + 6228 034756 241 02 0 00 400000 ROT AC,400000 ;*SHIFT/ROTATE 400000 BIT POSITIONS + 6229 034757 312 02 0 00 036643 CAME AC,[XWD 011434,170174] ;IS RESULT IN AC CORRECT? + 6230 034760 003 02 0 00 065001 ER3 AC,65001 ;RESULT IN AC IS INCORRECT + 6231 034761 312 03 0 00 036631 CAME AC+1,[XWD 741703,607417] + 6232 034762 004 03 0 00 065001 ER4 AC+1,65001 ;C(AC+1) WAS MODIFIED INCORRECTLY + 6233 034763 321 04 0 00 034754 JUMPL AC+2,E65000 ;LOOP ON ERROR SWITCH^ + 6234 + 6235 ;SHIFT COUNTER TEST + 6236 ;TEST FOR MAXIMUM RIGHT ROTATION (256 POSITIONS) + 6237 SR2 (651,230703,603700,770037,600377,037401,770017,751434,170174,ROTC,400000)^ + 6238 + 6239 ;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE + 6240 ;DATA SPECIFIED IN [XWD 230703,603700] AND [XWD 770037,600377] 400000 BIT POSITIONS AND + 6241 ;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD 037401,770017] AND + 6242 ;[XWD 751434,170174] + 6243 + 6244 034764 200 02 0 00 036635 E65100: MOVE AC,[XWD 230703,603700] ;INITIALIZE AC + 6245 034765 200 03 0 00 036656 MOVE AC+1,[XWD 770037,600377] ;INITIALIZE AC+1 + 6246 034766 245 02 0 00 400000 ROTC AC,400000 ;*SHIFT/ROTATE COMBINED 400000 PLACES + 6247 034767 312 02 0 00 036667 CAME AC,[XWD 037401,770017] ;IS RESULT IN AC CORRECT? + 6248 034770 003 02 0 00 065101 ER3 AC,65101 ;RESULT IN AC IS INCORRECT + 6249 034771 312 03 0 00 036670 CAME AC+1,[XWD 751434,170174] ;IS RESULT IN AC+1 CORRECT? + 6250 034772 004 03 0 00 065101 ER4 AC+1,65101 ;RESULT IN AC+1 IS INCORRECT + 6251 034773 321 04 0 00 034764 JUMPL AC+2,E65100 ;LOOP ON ERROR SWITCH^ +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 38 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - ACCUMULATOR ADDRESSING TEST SEQ 0166 + + 6252 SUBTTL DIAGNOSTIC SECTION - ACCUMULATOR ADDRESSING TEST + 6253 + 6254 ;TEST ACCUMULATOR ADDRESSING + 6255 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6256 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6257 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6258 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6259 ;LEFT ZERO TIMES + 6260 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6261 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6262 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6263 ;IS IN AC + 6264 ;INADVERTENT SHIFTING OR PICKING UP OF + 6265 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6266 + 6267 777777 777776 AC=-2 + 6268 777777 777776 ZZ=-2 + 6269 ;SET UP ACCUMULATOR'S + 6270 REPEAT ^D7,< + 6271 ZZ=ZZ+2 + 6272 AC=AC+2 + 6273 MOVEI AC,ZZ ;AC NUMBER TO AC + 6274 MOVEI AC+1,ZZ+1 ;AC NUMBER TO AC+1 + 6275 > + 6276 + 6277 000000 ZZ=ZZ+2 + 6278 000000 AC=AC+2 + 6279 034774 201 00 0 00 000000 MOVEI AC,ZZ ;AC NUMBER TO AC + 6280 034775 201 01 0 00 000001 MOVEI AC+1,ZZ+1 ;AC NUMBER TO AC+1 + 6281 + 6282 + 6283 000002 ZZ=ZZ+2 + 6284 000002 AC=AC+2 + 6285 034776 201 02 0 00 000002 MOVEI AC,ZZ ;AC NUMBER TO AC + 6286 034777 201 03 0 00 000003 MOVEI AC+1,ZZ+1 ;AC NUMBER TO AC+1 + 6287 + 6288 + 6289 000004 ZZ=ZZ+2 + 6290 000004 AC=AC+2 + 6291 035000 201 04 0 00 000004 MOVEI AC,ZZ ;AC NUMBER TO AC + 6292 035001 201 05 0 00 000005 MOVEI AC+1,ZZ+1 ;AC NUMBER TO AC+1 + 6293 + 6294 + 6295 000006 ZZ=ZZ+2 + 6296 000006 AC=AC+2 + 6297 035002 201 06 0 00 000006 MOVEI AC,ZZ ;AC NUMBER TO AC + 6298 035003 201 07 0 00 000007 MOVEI AC+1,ZZ+1 ;AC NUMBER TO AC+1 + 6299 + 6300 + 6301 000010 ZZ=ZZ+2 + 6302 000010 AC=AC+2 + 6303 035004 201 10 0 00 000010 MOVEI AC,ZZ ;AC NUMBER TO AC + 6304 035005 201 11 0 00 000011 MOVEI AC+1,ZZ+1 ;AC NUMBER TO AC+1 + 6305 + 6306 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 38-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - ACCUMULATOR ADDRESSING TEST SEQ 0167 + + 6307 000012 ZZ=ZZ+2 + 6308 000012 AC=AC+2 + 6309 035006 201 12 0 00 000012 MOVEI AC,ZZ ;AC NUMBER TO AC + 6310 035007 201 13 0 00 000013 MOVEI AC+1,ZZ+1 ;AC NUMBER TO AC+1 + 6311 + 6312 + 6313 000014 ZZ=ZZ+2 + 6314 000014 AC=AC+2 + 6315 035010 201 14 0 00 000014 MOVEI AC,ZZ ;AC NUMBER TO AC + 6316 035011 201 15 0 00 000015 MOVEI AC+1,ZZ+1 ;AC NUMBER TO AC+1 + 6317 + 6318 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 38-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - ACCUMULATOR ADDRESSING TEST SEQ 0168 + + 6319 000001 AC=1 + 6320 SAVEAC (1,1)^ + 6321 035012 201 03 0 00 035012 MOVEI AC+2,. ;SETUP TESTPC + 6322 035013 202 03 0 00 030051 MOVEM AC+2,TESTPC + 6323 035014 201 03 0 00 000003 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 6324 035015 202 03 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 6325 + 6326 041400 SN=41400 + 6327 000014 AC=14 + 6328 000014 ZZ=14 + 6329 + 6330 ;TEST ROTC-ACCUMULATOR'S 7-14 + 6331 E41400: REPEAT ^D5,< + 6332 ;TEST ACCUMULATOR ADDRESSING + 6333 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6334 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6335 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6336 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6337 ;LEFT ZERO TIMES + 6338 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6339 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6340 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6341 ;IS IN AC + 6342 ;INADVERTENT SHIFTING OR PICKING UP OF + 6343 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6344 + 6345 SN=SN+1 + 6346 ZZ=ZZ-1 + 6347 AC=AC-1 + 6348 ROTC AC,0 ;*ROTATE LEFT ZERO TIMES + 6349 CAIE AC,ZZ ;TEST FOR CORRECT AC + 6350 ER3 AC,SN ;INCORRECT AC + 6351 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6352 ER4 AC,SN ;INCORRECT AC+1 + 6353 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6354 > + 6355 + 6356 ;TEST ACCUMULATOR ADDRESSING + 6357 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6358 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6359 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6360 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6361 ;LEFT ZERO TIMES + 6362 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6363 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6364 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6365 ;IS IN AC + 6366 ;INADVERTENT SHIFTING OR PICKING UP OF + 6367 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6368 + 6369 041401 SN=SN+1 + 6370 000013 ZZ=ZZ-1 + 6371 000013 AC=AC-1 + 6372 035016 245 13 0 00 000000 ROTC AC,0 ;*ROTATE LEFT ZERO TIMES + 6373 035017 302 13 0 00 000013 CAIE AC,ZZ ;TEST FOR CORRECT AC +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 38-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - ACCUMULATOR ADDRESSING TEST SEQ 0169 + + 6374 035020 003 13 0 00 041401 ER3 AC,SN ;INCORRECT AC + 6375 035021 302 14 0 00 000014 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6376 035022 004 13 0 00 041401 ER4 AC,SN ;INCORRECT AC+1 + 6377 035023 321 15 0 00 035016 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6378 + 6379 + 6380 ;TEST ACCUMULATOR ADDRESSING + 6381 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6382 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6383 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6384 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6385 ;LEFT ZERO TIMES + 6386 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6387 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6388 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6389 ;IS IN AC + 6390 ;INADVERTENT SHIFTING OR PICKING UP OF + 6391 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6392 + 6393 041402 SN=SN+1 + 6394 000012 ZZ=ZZ-1 + 6395 000012 AC=AC-1 + 6396 035024 245 12 0 00 000000 ROTC AC,0 ;*ROTATE LEFT ZERO TIMES + 6397 035025 302 12 0 00 000012 CAIE AC,ZZ ;TEST FOR CORRECT AC + 6398 035026 003 12 0 00 041402 ER3 AC,SN ;INCORRECT AC + 6399 035027 302 13 0 00 000013 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6400 035030 004 12 0 00 041402 ER4 AC,SN ;INCORRECT AC+1 + 6401 035031 321 14 0 00 035024 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6402 + 6403 + 6404 ;TEST ACCUMULATOR ADDRESSING + 6405 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6406 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6407 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6408 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6409 ;LEFT ZERO TIMES + 6410 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6411 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6412 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6413 ;IS IN AC + 6414 ;INADVERTENT SHIFTING OR PICKING UP OF + 6415 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6416 + 6417 041403 SN=SN+1 + 6418 000011 ZZ=ZZ-1 + 6419 000011 AC=AC-1 + 6420 035032 245 11 0 00 000000 ROTC AC,0 ;*ROTATE LEFT ZERO TIMES + 6421 035033 302 11 0 00 000011 CAIE AC,ZZ ;TEST FOR CORRECT AC + 6422 035034 003 11 0 00 041403 ER3 AC,SN ;INCORRECT AC + 6423 035035 302 12 0 00 000012 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6424 035036 004 11 0 00 041403 ER4 AC,SN ;INCORRECT AC+1 + 6425 035037 321 13 0 00 035032 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6426 + 6427 + 6428 ;TEST ACCUMULATOR ADDRESSING +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 38-4 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - ACCUMULATOR ADDRESSING TEST SEQ 0170 + + 6429 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6430 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6431 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6432 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6433 ;LEFT ZERO TIMES + 6434 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6435 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6436 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6437 ;IS IN AC + 6438 ;INADVERTENT SHIFTING OR PICKING UP OF + 6439 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6440 + 6441 041404 SN=SN+1 + 6442 000010 ZZ=ZZ-1 + 6443 000010 AC=AC-1 + 6444 035040 245 10 0 00 000000 ROTC AC,0 ;*ROTATE LEFT ZERO TIMES + 6445 035041 302 10 0 00 000010 CAIE AC,ZZ ;TEST FOR CORRECT AC + 6446 035042 003 10 0 00 041404 ER3 AC,SN ;INCORRECT AC + 6447 035043 302 11 0 00 000011 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6448 035044 004 10 0 00 041404 ER4 AC,SN ;INCORRECT AC+1 + 6449 035045 321 12 0 00 035040 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6450 + 6451 + 6452 ;TEST ACCUMULATOR ADDRESSING + 6453 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6454 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6455 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6456 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6457 ;LEFT ZERO TIMES + 6458 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6459 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6460 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6461 ;IS IN AC + 6462 ;INADVERTENT SHIFTING OR PICKING UP OF + 6463 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6464 + 6465 041405 SN=SN+1 + 6466 000007 ZZ=ZZ-1 + 6467 000007 AC=AC-1 + 6468 035046 245 07 0 00 000000 ROTC AC,0 ;*ROTATE LEFT ZERO TIMES + 6469 035047 302 07 0 00 000007 CAIE AC,ZZ ;TEST FOR CORRECT AC + 6470 035050 003 07 0 00 041405 ER3 AC,SN ;INCORRECT AC + 6471 035051 302 10 0 00 000010 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6472 035052 004 07 0 00 041405 ER4 AC,SN ;INCORRECT AC+1 + 6473 035053 321 11 0 00 035046 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6474 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 39 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - ACCUMULATOR ADDRESSING TEST SEQ 0171 + + 6475 000011 AC=11 + 6476 SAVEAC (1,1)^ + 6477 035054 201 13 0 00 035054 MOVEI AC+2,. ;SETUP TESTPC + 6478 035055 202 13 0 00 030051 MOVEM AC+2,TESTPC + 6479 035056 201 13 0 00 000013 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 6480 035057 202 13 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 6481 + 6482 041500 SN=41500 + 6483 000012 AC=12 + 6484 000012 ZZ=12 + 6485 + 6486 ;TEST LSHC-ACCUMULATORS 5-12 + 6487 E41500: REPEAT ^D5,< + 6488 ;TEST ACCUMULATOR ADDRESSING + 6489 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6490 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6491 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6492 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6493 ;LEFT ZERO TIMES + 6494 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6495 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6496 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6497 ;IS IN AC + 6498 ;INADVERTENT SHIFTING OR PICKING UP OF + 6499 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6500 + 6501 SN=SN+1 + 6502 ZZ=ZZ-1 + 6503 AC=AC-1 + 6504 LSHC AC,0 ;*SHIFT LEFT ZERO TIMES + 6505 CAIE AC,ZZ ;TEST FOR CORRECT AC + 6506 ER3 AC,SN ;INCORRECT AC + 6507 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6508 ER4 AC,SN ;INCORRECT AC+1 + 6509 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6510 > + 6511 + 6512 ;TEST ACCUMULATOR ADDRESSING + 6513 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6514 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6515 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6516 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6517 ;LEFT ZERO TIMES + 6518 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6519 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6520 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6521 ;IS IN AC + 6522 ;INADVERTENT SHIFTING OR PICKING UP OF + 6523 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6524 + 6525 041501 SN=SN+1 + 6526 000011 ZZ=ZZ-1 + 6527 000011 AC=AC-1 + 6528 035060 246 11 0 00 000000 LSHC AC,0 ;*SHIFT LEFT ZERO TIMES + 6529 035061 302 11 0 00 000011 CAIE AC,ZZ ;TEST FOR CORRECT AC +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 39-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - ACCUMULATOR ADDRESSING TEST SEQ 0172 + + 6530 035062 003 11 0 00 041501 ER3 AC,SN ;INCORRECT AC + 6531 035063 302 12 0 00 000012 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6532 035064 004 11 0 00 041501 ER4 AC,SN ;INCORRECT AC+1 + 6533 035065 321 13 0 00 035060 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6534 + 6535 + 6536 ;TEST ACCUMULATOR ADDRESSING + 6537 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6538 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6539 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6540 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6541 ;LEFT ZERO TIMES + 6542 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6543 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6544 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6545 ;IS IN AC + 6546 ;INADVERTENT SHIFTING OR PICKING UP OF + 6547 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6548 + 6549 041502 SN=SN+1 + 6550 000010 ZZ=ZZ-1 + 6551 000010 AC=AC-1 + 6552 035066 246 10 0 00 000000 LSHC AC,0 ;*SHIFT LEFT ZERO TIMES + 6553 035067 302 10 0 00 000010 CAIE AC,ZZ ;TEST FOR CORRECT AC + 6554 035070 003 10 0 00 041502 ER3 AC,SN ;INCORRECT AC + 6555 035071 302 11 0 00 000011 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6556 035072 004 10 0 00 041502 ER4 AC,SN ;INCORRECT AC+1 + 6557 035073 321 12 0 00 035066 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6558 + 6559 + 6560 ;TEST ACCUMULATOR ADDRESSING + 6561 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6562 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6563 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6564 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6565 ;LEFT ZERO TIMES + 6566 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6567 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6568 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6569 ;IS IN AC + 6570 ;INADVERTENT SHIFTING OR PICKING UP OF + 6571 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6572 + 6573 041503 SN=SN+1 + 6574 000007 ZZ=ZZ-1 + 6575 000007 AC=AC-1 + 6576 035074 246 07 0 00 000000 LSHC AC,0 ;*SHIFT LEFT ZERO TIMES + 6577 035075 302 07 0 00 000007 CAIE AC,ZZ ;TEST FOR CORRECT AC + 6578 035076 003 07 0 00 041503 ER3 AC,SN ;INCORRECT AC + 6579 035077 302 10 0 00 000010 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6580 035100 004 07 0 00 041503 ER4 AC,SN ;INCORRECT AC+1 + 6581 035101 321 11 0 00 035074 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6582 + 6583 + 6584 ;TEST ACCUMULATOR ADDRESSING +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 39-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - ACCUMULATOR ADDRESSING TEST SEQ 0173 + + 6585 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6586 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6587 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6588 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6589 ;LEFT ZERO TIMES + 6590 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6591 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6592 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6593 ;IS IN AC + 6594 ;INADVERTENT SHIFTING OR PICKING UP OF + 6595 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6596 + 6597 041504 SN=SN+1 + 6598 000006 ZZ=ZZ-1 + 6599 000006 AC=AC-1 + 6600 035102 246 06 0 00 000000 LSHC AC,0 ;*SHIFT LEFT ZERO TIMES + 6601 035103 302 06 0 00 000006 CAIE AC,ZZ ;TEST FOR CORRECT AC + 6602 035104 003 06 0 00 041504 ER3 AC,SN ;INCORRECT AC + 6603 035105 302 07 0 00 000007 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6604 035106 004 06 0 00 041504 ER4 AC,SN ;INCORRECT AC+1 + 6605 035107 321 10 0 00 035102 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6606 + 6607 + 6608 ;TEST ACCUMULATOR ADDRESSING + 6609 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6610 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6611 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6612 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6613 ;LEFT ZERO TIMES + 6614 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6615 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6616 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6617 ;IS IN AC + 6618 ;INADVERTENT SHIFTING OR PICKING UP OF + 6619 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6620 + 6621 041505 SN=SN+1 + 6622 000005 ZZ=ZZ-1 + 6623 000005 AC=AC-1 + 6624 035110 246 05 0 00 000000 LSHC AC,0 ;*SHIFT LEFT ZERO TIMES + 6625 035111 302 05 0 00 000005 CAIE AC,ZZ ;TEST FOR CORRECT AC + 6626 035112 003 05 0 00 041505 ER3 AC,SN ;INCORRECT AC + 6627 035113 302 06 0 00 000006 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6628 035114 004 05 0 00 041505 ER4 AC,SN ;INCORRECT AC+1 + 6629 035115 321 07 0 00 035110 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6630 + 6631 + 6632 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 40 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - ACCUMULATOR ADDRESSING TEST SEQ 0174 + + 6633 000004 AC=4 + 6634 SAVEAC (1,1)^ + 6635 035116 201 06 0 00 035116 MOVEI AC+2,. ;SETUP TESTPC + 6636 035117 202 06 0 00 030051 MOVEM AC+2,TESTPC + 6637 035120 201 06 0 00 000006 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 6638 035121 202 06 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 6639 + 6640 041600 SN=41600 + 6641 000005 AC=5 + 6642 000005 ZZ=5 + 6643 + 6644 ;TEST ASHC-ACCUMULATORS 0-5 + 6645 E41600: REPEAT ^D5,< + 6646 ;TEST ACCUMULATOR ADDRESSING + 6647 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6648 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6649 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6650 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6651 ;LEFT ZERO TIMES + 6652 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6653 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6654 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6655 ;IS IN AC + 6656 ;INADVERTENT SHIFTING OR PICKING UP OF + 6657 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6658 + 6659 SN=SN+1 + 6660 ZZ=ZZ-1 + 6661 AC=AC-1 + 6662 ASHC AC,0 ;*SHIFT LEFT ZERO TIMES + 6663 CAIE AC,ZZ ;TEST FOR CORRECT AC + 6664 ER3 AC,SN ;INCORRECT AC + 6665 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6666 ER4 AC+1,SN ;INCORRECT AC+1 + 6667 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6668 > + 6669 + 6670 ;TEST ACCUMULATOR ADDRESSING + 6671 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6672 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6673 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6674 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6675 ;LEFT ZERO TIMES + 6676 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6677 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6678 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6679 ;IS IN AC + 6680 ;INADVERTENT SHIFTING OR PICKING UP OF + 6681 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6682 + 6683 041601 SN=SN+1 + 6684 000004 ZZ=ZZ-1 + 6685 000004 AC=AC-1 + 6686 035122 244 04 0 00 000000 ASHC AC,0 ;*SHIFT LEFT ZERO TIMES + 6687 035123 302 04 0 00 000004 CAIE AC,ZZ ;TEST FOR CORRECT AC +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 40-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - ACCUMULATOR ADDRESSING TEST SEQ 0175 + + 6688 035124 003 04 0 00 041601 ER3 AC,SN ;INCORRECT AC + 6689 035125 302 05 0 00 000005 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6690 035126 004 05 0 00 041601 ER4 AC+1,SN ;INCORRECT AC+1 + 6691 035127 321 06 0 00 035122 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6692 + 6693 + 6694 ;TEST ACCUMULATOR ADDRESSING + 6695 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6696 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6697 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6698 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6699 ;LEFT ZERO TIMES + 6700 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6701 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6702 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6703 ;IS IN AC + 6704 ;INADVERTENT SHIFTING OR PICKING UP OF + 6705 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6706 + 6707 041602 SN=SN+1 + 6708 000003 ZZ=ZZ-1 + 6709 000003 AC=AC-1 + 6710 035130 244 03 0 00 000000 ASHC AC,0 ;*SHIFT LEFT ZERO TIMES + 6711 035131 302 03 0 00 000003 CAIE AC,ZZ ;TEST FOR CORRECT AC + 6712 035132 003 03 0 00 041602 ER3 AC,SN ;INCORRECT AC + 6713 035133 302 04 0 00 000004 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6714 035134 004 04 0 00 041602 ER4 AC+1,SN ;INCORRECT AC+1 + 6715 035135 321 05 0 00 035130 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6716 + 6717 + 6718 ;TEST ACCUMULATOR ADDRESSING + 6719 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6720 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6721 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6722 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6723 ;LEFT ZERO TIMES + 6724 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6725 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6726 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6727 ;IS IN AC + 6728 ;INADVERTENT SHIFTING OR PICKING UP OF + 6729 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6730 + 6731 041603 SN=SN+1 + 6732 000002 ZZ=ZZ-1 + 6733 000002 AC=AC-1 + 6734 035136 244 02 0 00 000000 ASHC AC,0 ;*SHIFT LEFT ZERO TIMES + 6735 035137 302 02 0 00 000002 CAIE AC,ZZ ;TEST FOR CORRECT AC + 6736 035140 003 02 0 00 041603 ER3 AC,SN ;INCORRECT AC + 6737 035141 302 03 0 00 000003 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6738 035142 004 03 0 00 041603 ER4 AC+1,SN ;INCORRECT AC+1 + 6739 035143 321 04 0 00 035136 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6740 + 6741 + 6742 ;TEST ACCUMULATOR ADDRESSING +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 40-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - ACCUMULATOR ADDRESSING TEST SEQ 0176 + + 6743 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6744 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6745 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6746 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6747 ;LEFT ZERO TIMES + 6748 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6749 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6750 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6751 ;IS IN AC + 6752 ;INADVERTENT SHIFTING OR PICKING UP OF + 6753 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6754 + 6755 041604 SN=SN+1 + 6756 000001 ZZ=ZZ-1 + 6757 000001 AC=AC-1 + 6758 035144 244 01 0 00 000000 ASHC AC,0 ;*SHIFT LEFT ZERO TIMES + 6759 035145 302 01 0 00 000001 CAIE AC,ZZ ;TEST FOR CORRECT AC + 6760 035146 003 01 0 00 041604 ER3 AC,SN ;INCORRECT AC + 6761 035147 302 02 0 00 000002 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6762 035150 004 02 0 00 041604 ER4 AC+1,SN ;INCORRECT AC+1 + 6763 035151 321 03 0 00 035144 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6764 + 6765 + 6766 ;TEST ACCUMULATOR ADDRESSING + 6767 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6768 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6769 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6770 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6771 ;LEFT ZERO TIMES + 6772 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6773 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6774 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6775 ;IS IN AC + 6776 ;INADVERTENT SHIFTING OR PICKING UP OF + 6777 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6778 + 6779 041605 SN=SN+1 + 6780 000000 ZZ=ZZ-1 + 6781 000000 AC=AC-1 + 6782 035152 244 00 0 00 000000 ASHC AC,0 ;*SHIFT LEFT ZERO TIMES + 6783 035153 302 00 0 00 000000 CAIE AC,ZZ ;TEST FOR CORRECT AC + 6784 035154 003 00 0 00 041605 ER3 AC,SN ;INCORRECT AC + 6785 035155 302 01 0 00 000001 CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + 6786 035156 004 01 0 00 041605 ER4 AC+1,SN ;INCORRECT AC+1 + 6787 035157 321 02 0 00 035152 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6788 + 6789 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 40-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - ACCUMULATOR ADDRESSING TEST SEQ 0177 + + 6790 ; AC=17 + 6791 ; SAVEAC (1,1) + 6792 + 6793 041700 SN=41700 + 6794 + 6795 ;TEST ASHC-ACUMMULATORS 17-0 + 6796 E41700: REPEAT ^D0,< + 6797 ;TEST ACCUMULATOR ADDRESSING + 6798 ;TEST THE ABILITY OF ROTC,LSHC,ASHC + 6799 ;TO ADDRESS THE CORRECT ACCUMULATORS + 6800 ;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS + 6801 ;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING + 6802 ;LEFT ZERO TIMES + 6803 ;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER + 6804 ;FROM AC'S ADDRESSED BY INSTRUCTION + 6805 ;THE NUMBER OF THE AC REFERENCED IN ERROR + 6806 ;IS IN AC + 6807 ;INADVERTENT SHIFTING OR PICKING UP OF + 6808 ;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + 6809 + 6810 SN=SN+1 + 6811 ASHC AC,0 ;*SHIFT LEFT ZERO TIMES + 6812 CAIE AC,17 ;TEST FOR CORRECT AC + 6813 ER3 AC,SN ;INCORRECT AC + 6814 CAIE AC+1,0 ;TEST FOR CORRECT AC+1 + 6815 ER4 AC+1,SN ;INCORRECT AC+1 + 6816 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH + 6817 > +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 41 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0178 + + 6818 SUBTTL DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST + 6819 + 6820 000012 AC=12 + 6821 SAVEAC (1,1)^ + 6822 035160 201 14 0 00 035160 MOVEI AC+2,. ;SETUP TESTPC + 6823 035161 202 14 0 00 030051 MOVEM AC+2,TESTPC + 6824 035162 201 14 0 00 000014 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 6825 035163 202 14 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 6826 + 6827 042000 SN=42000 + 6828 030303 WW=030303 ;USED FOR COMPARISON + 6829 030303 XX=030303 ;SELECTED PATTERN + 6830 000000 ZZ=0 + 6831 + 6832 ;ROT LEFT (011)-TEST AC,AC+1 + 6833 E42000: REPEAT ^D4,< + 6834 ;TEST SELECTED BIT CONFIGURATIONS + 6835 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 6836 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 6837 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 6838 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 6839 ; AC-1 CONTAINS BIT(S) THAT FAILED + 6840 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 6841 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 6842 ; AC CONTAINS BIT(S) THAT FAILED + 6843 + 6844 SN=SN+1 + 6845 WW=WW+WW + 6846 ZZ=ZZ+1 + 6847 SETACS (WW,XX) ;SET UP ACCUMULATORS + 6848 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 6849 XOR AC-1,AC ;COMPARE AC + 6850 SKIPE &17 ;SHOULD =0 + 6851 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 6852 XOR AC-2,&17 ;COMPARE AC+1 + 6853 SKIPE &17 ;SHOULD =0 + 6854 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 6855 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 6856 > + 6857 + 6858 ;TEST SELECTED BIT CONFIGURATIONS + 6859 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 6860 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 6861 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 6862 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 6863 ; AC-1 CONTAINS BIT(S) THAT FAILED + 6864 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 6865 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 6866 ; AC CONTAINS BIT(S) THAT FAILED + 6867 + 6868 042001 SN=SN+1 + 6869 060606 WW=WW+WW + 6870 000001 ZZ=ZZ+1 + 6871 SETACS (WW,XX)^ + 6872 035164 201 11 0 00 060606 MOVEI AC-1,WW ;SETUP AC-1 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 41-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0179 + + 6873 035165 505 11 0 00 060606 HRLI AC-1,WW ;FOR COMPARISION + 6874 035166 200 10 0 00 000011 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 6875 035167 201 12 0 00 030303 MOVEI AC,XX ;SETUP AC RIGHT + 6876 035170 505 12 0 00 030303 HRLI AC,XX ;SETUP AC LEFT + 6877 035171 202 12 0 00 000013 MOVEM AC,&17 ;SETUP AC2^ ;SET UP ACCUMULATORS + 6878 035172 245 12 0 00 000001 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 6879 035173 430 11 0 00 000012 XOR AC-1,AC ;COMPARE AC + 6880 035174 332 00 0 00 000011 SKIPE &17 ;SHOULD =0 + 6881 035175 003 12 0 00 042001 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 6882 035176 430 10 0 00 000013 XOR AC-2,&17 ;COMPARE AC+1 + 6883 035177 332 00 0 00 000010 SKIPE &17 ;SHOULD =0 + 6884 035200 004 13 0 00 042001 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 6885 035201 321 14 0 00 035164 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 6886 + 6887 + 6888 ;TEST SELECTED BIT CONFIGURATIONS + 6889 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 6890 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 6891 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 6892 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 6893 ; AC-1 CONTAINS BIT(S) THAT FAILED + 6894 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 6895 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 6896 ; AC CONTAINS BIT(S) THAT FAILED + 6897 + 6898 042002 SN=SN+1 + 6899 141414 WW=WW+WW + 6900 000002 ZZ=ZZ+1 + 6901 SETACS (WW,XX)^ + 6902 035202 201 11 0 00 141414 MOVEI AC-1,WW ;SETUP AC-1 + 6903 035203 505 11 0 00 141414 HRLI AC-1,WW ;FOR COMPARISION + 6904 035204 200 10 0 00 000011 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 6905 035205 201 12 0 00 030303 MOVEI AC,XX ;SETUP AC RIGHT + 6906 035206 505 12 0 00 030303 HRLI AC,XX ;SETUP AC LEFT + 6907 035207 202 12 0 00 000013 MOVEM AC,&17 ;SETUP AC2^ ;SET UP ACCUMULATORS + 6908 035210 245 12 0 00 000002 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 6909 035211 430 11 0 00 000012 XOR AC-1,AC ;COMPARE AC + 6910 035212 332 00 0 00 000011 SKIPE &17 ;SHOULD =0 + 6911 035213 003 12 0 00 042002 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 6912 035214 430 10 0 00 000013 XOR AC-2,&17 ;COMPARE AC+1 + 6913 035215 332 00 0 00 000010 SKIPE &17 ;SHOULD =0 + 6914 035216 004 13 0 00 042002 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 6915 035217 321 14 0 00 035202 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 6916 + 6917 + 6918 ;TEST SELECTED BIT CONFIGURATIONS + 6919 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 6920 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 6921 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 6922 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 6923 ; AC-1 CONTAINS BIT(S) THAT FAILED + 6924 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 6925 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 6926 ; AC CONTAINS BIT(S) THAT FAILED + 6927 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 41-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0180 + + 6928 042003 SN=SN+1 + 6929 303030 WW=WW+WW + 6930 000003 ZZ=ZZ+1 + 6931 SETACS (WW,XX)^ + 6932 035220 201 11 0 00 303030 MOVEI AC-1,WW ;SETUP AC-1 + 6933 035221 505 11 0 00 303030 HRLI AC-1,WW ;FOR COMPARISION + 6934 035222 200 10 0 00 000011 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 6935 035223 201 12 0 00 030303 MOVEI AC,XX ;SETUP AC RIGHT + 6936 035224 505 12 0 00 030303 HRLI AC,XX ;SETUP AC LEFT + 6937 035225 202 12 0 00 000013 MOVEM AC,&17 ;SETUP AC2^ ;SET UP ACCUMULATORS + 6938 035226 245 12 0 00 000003 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 6939 035227 430 11 0 00 000012 XOR AC-1,AC ;COMPARE AC + 6940 035230 332 00 0 00 000011 SKIPE &17 ;SHOULD =0 + 6941 035231 003 12 0 00 042003 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 6942 035232 430 10 0 00 000013 XOR AC-2,&17 ;COMPARE AC+1 + 6943 035233 332 00 0 00 000010 SKIPE &17 ;SHOULD =0 + 6944 035234 004 13 0 00 042003 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 6945 035235 321 14 0 00 035220 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 6946 + 6947 + 6948 ;TEST SELECTED BIT CONFIGURATIONS + 6949 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 6950 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 6951 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 6952 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 6953 ; AC-1 CONTAINS BIT(S) THAT FAILED + 6954 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 6955 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 6956 ; AC CONTAINS BIT(S) THAT FAILED + 6957 + 6958 042004 SN=SN+1 + 6959 606060 WW=WW+WW + 6960 000004 ZZ=ZZ+1 + 6961 SETACS (WW,XX)^ + 6962 035236 201 11 0 00 606060 MOVEI AC-1,WW ;SETUP AC-1 + 6963 035237 505 11 0 00 606060 HRLI AC-1,WW ;FOR COMPARISION + 6964 035240 200 10 0 00 000011 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 6965 035241 201 12 0 00 030303 MOVEI AC,XX ;SETUP AC RIGHT + 6966 035242 505 12 0 00 030303 HRLI AC,XX ;SETUP AC LEFT + 6967 035243 202 12 0 00 000013 MOVEM AC,&17 ;SETUP AC2^ ;SET UP ACCUMULATORS + 6968 035244 245 12 0 00 000004 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 6969 035245 430 11 0 00 000012 XOR AC-1,AC ;COMPARE AC + 6970 035246 332 00 0 00 000011 SKIPE &17 ;SHOULD =0 + 6971 035247 003 12 0 00 042004 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 6972 035250 430 10 0 00 000013 XOR AC-2,&17 ;COMPARE AC+1 + 6973 035251 332 00 0 00 000010 SKIPE &17 ;SHOULD =0 + 6974 035252 004 13 0 00 042004 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 6975 035253 321 14 0 00 035236 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 6976 + 6977 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 41-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0181 + + 6978 000014 AC=14 + 6979 SAVEAC (1,1)^ + 6980 035254 201 16 0 00 035254 MOVEI AC+2,. ;SETUP TESTPC + 6981 035255 202 16 0 00 030051 MOVEM AC+2,TESTPC + 6982 035256 201 16 0 00 000016 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 6983 035257 202 16 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 6984 + 6985 042100 SN=42100 + 6986 606060 WW=606060 ;USED FOR COMPARISON + 6987 606060 XX=606060 ;SELECTED PATTERN + 6988 000000 ZZ=0 + 6989 + 6990 ;ROT RIGHT (110)-TEST AC,AC+1 + 6991 E42100: REPEAT ^D4,< + 6992 ;TEST SELECTED BIT CONFIGURATIONS + 6993 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 6994 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 6995 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 6996 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 6997 ; AC-1 CONTAINS BIT(S) THAT FAILED + 6998 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 6999 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7000 ; AC CONTAINS BIT(S) THAT FAILED + 7001 + 7002 SN=SN+1 + 7003 WW=WW/2 + 7004 ZZ=ZZ-1 + 7005 SETACS (WW,XX) + 7006 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7007 XOR AC-1,AC ;COMPARE AC + 7008 SKIPE &17 ;SHOULD =0 + 7009 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7010 XOR AC-2,&17 ;COMPARE AC+1 + 7011 SKIPE &17 ;SHOULD =0 + 7012 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7013 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7014 > + 7015 + 7016 ;TEST SELECTED BIT CONFIGURATIONS + 7017 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7018 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7019 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7020 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7021 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7022 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7023 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7024 ; AC CONTAINS BIT(S) THAT FAILED + 7025 + 7026 042101 SN=SN+1 + 7027 303030 WW=WW/2 + 7028 777777 777777 ZZ=ZZ-1 + 7029 SETACS (WW,XX)^ + 7030 035260 201 13 0 00 303030 MOVEI AC-1,WW ;SETUP AC-1 + 7031 035261 505 13 0 00 303030 HRLI AC-1,WW ;FOR COMPARISION + 7032 035262 200 12 0 00 000013 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 41-4 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0182 + + 7033 035263 201 14 0 00 606060 MOVEI AC,XX ;SETUP AC RIGHT + 7034 035264 505 14 0 00 606060 HRLI AC,XX ;SETUP AC LEFT + 7035 035265 202 14 0 00 000015 MOVEM AC,&17 ;SETUP AC2^ + 7036 035266 245 14 0 00 777777 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7037 035267 430 13 0 00 000014 XOR AC-1,AC ;COMPARE AC + 7038 035270 332 00 0 00 000013 SKIPE &17 ;SHOULD =0 + 7039 035271 003 14 0 00 042101 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7040 035272 430 12 0 00 000015 XOR AC-2,&17 ;COMPARE AC+1 + 7041 035273 332 00 0 00 000012 SKIPE &17 ;SHOULD =0 + 7042 035274 004 15 0 00 042101 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7043 035275 321 16 0 00 035260 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7044 + 7045 + 7046 ;TEST SELECTED BIT CONFIGURATIONS + 7047 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7048 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7049 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7050 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7051 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7052 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7053 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7054 ; AC CONTAINS BIT(S) THAT FAILED + 7055 + 7056 042102 SN=SN+1 + 7057 141414 WW=WW/2 + 7058 777777 777776 ZZ=ZZ-1 + 7059 SETACS (WW,XX)^ + 7060 035276 201 13 0 00 141414 MOVEI AC-1,WW ;SETUP AC-1 + 7061 035277 505 13 0 00 141414 HRLI AC-1,WW ;FOR COMPARISION + 7062 035300 200 12 0 00 000013 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 7063 035301 201 14 0 00 606060 MOVEI AC,XX ;SETUP AC RIGHT + 7064 035302 505 14 0 00 606060 HRLI AC,XX ;SETUP AC LEFT + 7065 035303 202 14 0 00 000015 MOVEM AC,&17 ;SETUP AC2^ + 7066 035304 245 14 0 00 777776 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7067 035305 430 13 0 00 000014 XOR AC-1,AC ;COMPARE AC + 7068 035306 332 00 0 00 000013 SKIPE &17 ;SHOULD =0 + 7069 035307 003 14 0 00 042102 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7070 035310 430 12 0 00 000015 XOR AC-2,&17 ;COMPARE AC+1 + 7071 035311 332 00 0 00 000012 SKIPE &17 ;SHOULD =0 + 7072 035312 004 15 0 00 042102 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7073 035313 321 16 0 00 035276 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7074 + 7075 + 7076 ;TEST SELECTED BIT CONFIGURATIONS + 7077 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7078 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7079 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7080 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7081 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7082 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7083 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7084 ; AC CONTAINS BIT(S) THAT FAILED + 7085 + 7086 042103 SN=SN+1 + 7087 060606 WW=WW/2 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 41-5 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0183 + + 7088 777777 777775 ZZ=ZZ-1 + 7089 SETACS (WW,XX)^ + 7090 035314 201 13 0 00 060606 MOVEI AC-1,WW ;SETUP AC-1 + 7091 035315 505 13 0 00 060606 HRLI AC-1,WW ;FOR COMPARISION + 7092 035316 200 12 0 00 000013 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 7093 035317 201 14 0 00 606060 MOVEI AC,XX ;SETUP AC RIGHT + 7094 035320 505 14 0 00 606060 HRLI AC,XX ;SETUP AC LEFT + 7095 035321 202 14 0 00 000015 MOVEM AC,&17 ;SETUP AC2^ + 7096 035322 245 14 0 00 777775 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7097 035323 430 13 0 00 000014 XOR AC-1,AC ;COMPARE AC + 7098 035324 332 00 0 00 000013 SKIPE &17 ;SHOULD =0 + 7099 035325 003 14 0 00 042103 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7100 035326 430 12 0 00 000015 XOR AC-2,&17 ;COMPARE AC+1 + 7101 035327 332 00 0 00 000012 SKIPE &17 ;SHOULD =0 + 7102 035330 004 15 0 00 042103 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7103 035331 321 16 0 00 035314 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7104 + 7105 + 7106 ;TEST SELECTED BIT CONFIGURATIONS + 7107 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7108 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7109 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7110 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7111 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7112 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7113 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7114 ; AC CONTAINS BIT(S) THAT FAILED + 7115 + 7116 042104 SN=SN+1 + 7117 030303 WW=WW/2 + 7118 777777 777774 ZZ=ZZ-1 + 7119 SETACS (WW,XX)^ + 7120 035332 201 13 0 00 030303 MOVEI AC-1,WW ;SETUP AC-1 + 7121 035333 505 13 0 00 030303 HRLI AC-1,WW ;FOR COMPARISION + 7122 035334 200 12 0 00 000013 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 7123 035335 201 14 0 00 606060 MOVEI AC,XX ;SETUP AC RIGHT + 7124 035336 505 14 0 00 606060 HRLI AC,XX ;SETUP AC LEFT + 7125 035337 202 14 0 00 000015 MOVEM AC,&17 ;SETUP AC2^ + 7126 035340 245 14 0 00 777774 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7127 035341 430 13 0 00 000014 XOR AC-1,AC ;COMPARE AC + 7128 035342 332 00 0 00 000013 SKIPE &17 ;SHOULD =0 + 7129 035343 003 14 0 00 042104 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7130 035344 430 12 0 00 000015 XOR AC-2,&17 ;COMPARE AC+1 + 7131 035345 332 00 0 00 000012 SKIPE &17 ;SHOULD =0 + 7132 035346 004 15 0 00 042104 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7133 035347 321 16 0 00 035332 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7134 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 42 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0184 + + 7135 000013 AC=13 + 7136 SAVEAC (1,1)^ + 7137 035350 201 15 0 00 035350 MOVEI AC+2,. ;SETUP TESTPC + 7138 035351 202 15 0 00 030051 MOVEM AC+2,TESTPC + 7139 035352 201 15 0 00 000015 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 7140 035353 202 15 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 7141 + 7142 042200 SN=42200 + 7143 050505 WW=050505 ;USED FOR COMPARISON + 7144 050505 XX=050505 ;SELECTED PATTERN + 7145 000000 ZZ=0 + 7146 + 7147 ;ROT LEFT (101)-TEST AC,AC+1 + 7148 E42200: REPEAT ^D3,< + 7149 ;TEST SELECTED BIT CONFIGURATIONS + 7150 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7151 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7152 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7153 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7154 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7155 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7156 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7157 ; AC CONTAINS BIT(S) THAT FAILED + 7158 + 7159 SN=SN+1 + 7160 WW=WW+WW + 7161 ZZ=ZZ+1 + 7162 SETACS (WW,XX) + 7163 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7164 XOR AC-1,AC ;COMPARE AC + 7165 SKIPE &17 ;SHOULD = 0 + 7166 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7167 XOR AC-2,&17 ;COMPARE AC+1 + 7168 SKIPE &17 ;SHOULD = 0 + 7169 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7170 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7171 > + 7172 + 7173 ;TEST SELECTED BIT CONFIGURATIONS + 7174 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7175 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7176 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7177 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7178 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7179 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7180 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7181 ; AC CONTAINS BIT(S) THAT FAILED + 7182 + 7183 042201 SN=SN+1 + 7184 121212 WW=WW+WW + 7185 000001 ZZ=ZZ+1 + 7186 SETACS (WW,XX)^ + 7187 035354 201 12 0 00 121212 MOVEI AC-1,WW ;SETUP AC-1 + 7188 035355 505 12 0 00 121212 HRLI AC-1,WW ;FOR COMPARISION + 7189 035356 200 11 0 00 000012 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 42-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0185 + + 7190 035357 201 13 0 00 050505 MOVEI AC,XX ;SETUP AC RIGHT + 7191 035360 505 13 0 00 050505 HRLI AC,XX ;SETUP AC LEFT + 7192 035361 202 13 0 00 000014 MOVEM AC,&17 ;SETUP AC2^ + 7193 035362 245 13 0 00 000001 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7194 035363 430 12 0 00 000013 XOR AC-1,AC ;COMPARE AC + 7195 035364 332 00 0 00 000012 SKIPE &17 ;SHOULD = 0 + 7196 035365 003 13 0 00 042201 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7197 035366 430 11 0 00 000014 XOR AC-2,&17 ;COMPARE AC+1 + 7198 035367 332 00 0 00 000011 SKIPE &17 ;SHOULD = 0 + 7199 035370 004 14 0 00 042201 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7200 035371 321 15 0 00 035354 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7201 + 7202 + 7203 ;TEST SELECTED BIT CONFIGURATIONS + 7204 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7205 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7206 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7207 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7208 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7209 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7210 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7211 ; AC CONTAINS BIT(S) THAT FAILED + 7212 + 7213 042202 SN=SN+1 + 7214 242424 WW=WW+WW + 7215 000002 ZZ=ZZ+1 + 7216 SETACS (WW,XX)^ + 7217 035372 201 12 0 00 242424 MOVEI AC-1,WW ;SETUP AC-1 + 7218 035373 505 12 0 00 242424 HRLI AC-1,WW ;FOR COMPARISION + 7219 035374 200 11 0 00 000012 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 7220 035375 201 13 0 00 050505 MOVEI AC,XX ;SETUP AC RIGHT + 7221 035376 505 13 0 00 050505 HRLI AC,XX ;SETUP AC LEFT + 7222 035377 202 13 0 00 000014 MOVEM AC,&17 ;SETUP AC2^ + 7223 035400 245 13 0 00 000002 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7224 035401 430 12 0 00 000013 XOR AC-1,AC ;COMPARE AC + 7225 035402 332 00 0 00 000012 SKIPE &17 ;SHOULD = 0 + 7226 035403 003 13 0 00 042202 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7227 035404 430 11 0 00 000014 XOR AC-2,&17 ;COMPARE AC+1 + 7228 035405 332 00 0 00 000011 SKIPE &17 ;SHOULD = 0 + 7229 035406 004 14 0 00 042202 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7230 035407 321 15 0 00 035372 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7231 + 7232 + 7233 ;TEST SELECTED BIT CONFIGURATIONS + 7234 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7235 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7236 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7237 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7238 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7239 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7240 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7241 ; AC CONTAINS BIT(S) THAT FAILED + 7242 + 7243 042203 SN=SN+1 + 7244 505050 WW=WW+WW +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 42-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0186 + + 7245 000003 ZZ=ZZ+1 + 7246 SETACS (WW,XX)^ + 7247 035410 201 12 0 00 505050 MOVEI AC-1,WW ;SETUP AC-1 + 7248 035411 505 12 0 00 505050 HRLI AC-1,WW ;FOR COMPARISION + 7249 035412 200 11 0 00 000012 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 7250 035413 201 13 0 00 050505 MOVEI AC,XX ;SETUP AC RIGHT + 7251 035414 505 13 0 00 050505 HRLI AC,XX ;SETUP AC LEFT + 7252 035415 202 13 0 00 000014 MOVEM AC,&17 ;SETUP AC2^ + 7253 035416 245 13 0 00 000003 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7254 035417 430 12 0 00 000013 XOR AC-1,AC ;COMPARE AC + 7255 035420 332 00 0 00 000012 SKIPE &17 ;SHOULD = 0 + 7256 035421 003 13 0 00 042203 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7257 035422 430 11 0 00 000014 XOR AC-2,&17 ;COMPARE AC+1 + 7258 035423 332 00 0 00 000011 SKIPE &17 ;SHOULD = 0 + 7259 035424 004 14 0 00 042203 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7260 035425 321 15 0 00 035410 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7261 + 7262 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 42-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0187 + + 7263 000012 AC=12 + 7264 SAVEAC (1,1)^ + 7265 035426 201 14 0 00 035426 MOVEI AC+2,. ;SETUP TESTPC + 7266 035427 202 14 0 00 030051 MOVEM AC+2,TESTPC + 7267 035430 201 14 0 00 000014 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 7268 035431 202 14 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 7269 + 7270 042300 SN=42300 + 7271 505050 WW=505050 ;USED FOR COMPARISON + 7272 505050 XX=505050 ;SELECTED PATTERN + 7273 000000 ZZ=0 + 7274 + 7275 ;ROT RIGHT (101)-TEST AC,AC+1 + 7276 E42300: REPEAT ^D3,< + 7277 ;TEST SELECTED BIT CONFIGURATIONS + 7278 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7279 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7280 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7281 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7282 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7283 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7284 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7285 ; AC CONTAINS BIT(S) THAT FAILED + 7286 + 7287 SN=SN+1 + 7288 WW=WW/2 + 7289 ZZ=ZZ-1 + 7290 SETACS (WW,XX) + 7291 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7292 XOR AC-1,AC ;COMPARE AC + 7293 SKIPE &17 ;SHOULD =0 + 7294 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7295 XOR AC-2,&17 ;COMPARE AC+1 + 7296 SKIPE &17 ;SHOULD = 0 + 7297 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7298 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7299 > + 7300 + 7301 ;TEST SELECTED BIT CONFIGURATIONS + 7302 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7303 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7304 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7305 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7306 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7307 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7308 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7309 ; AC CONTAINS BIT(S) THAT FAILED + 7310 + 7311 042301 SN=SN+1 + 7312 242424 WW=WW/2 + 7313 777777 777777 ZZ=ZZ-1 + 7314 SETACS (WW,XX)^ + 7315 035432 201 11 0 00 242424 MOVEI AC-1,WW ;SETUP AC-1 + 7316 035433 505 11 0 00 242424 HRLI AC-1,WW ;FOR COMPARISION + 7317 035434 200 10 0 00 000011 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 42-4 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0188 + + 7318 035435 201 12 0 00 505050 MOVEI AC,XX ;SETUP AC RIGHT + 7319 035436 505 12 0 00 505050 HRLI AC,XX ;SETUP AC LEFT + 7320 035437 202 12 0 00 000013 MOVEM AC,&17 ;SETUP AC2^ + 7321 035440 245 12 0 00 777777 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7322 035441 430 11 0 00 000012 XOR AC-1,AC ;COMPARE AC + 7323 035442 332 00 0 00 000011 SKIPE &17 ;SHOULD =0 + 7324 035443 003 12 0 00 042301 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7325 035444 430 10 0 00 000013 XOR AC-2,&17 ;COMPARE AC+1 + 7326 035445 332 00 0 00 000010 SKIPE &17 ;SHOULD = 0 + 7327 035446 004 13 0 00 042301 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7328 035447 321 14 0 00 035432 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7329 + 7330 + 7331 ;TEST SELECTED BIT CONFIGURATIONS + 7332 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7333 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7334 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7335 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7336 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7337 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7338 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7339 ; AC CONTAINS BIT(S) THAT FAILED + 7340 + 7341 042302 SN=SN+1 + 7342 121212 WW=WW/2 + 7343 777777 777776 ZZ=ZZ-1 + 7344 SETACS (WW,XX)^ + 7345 035450 201 11 0 00 121212 MOVEI AC-1,WW ;SETUP AC-1 + 7346 035451 505 11 0 00 121212 HRLI AC-1,WW ;FOR COMPARISION + 7347 035452 200 10 0 00 000011 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 7348 035453 201 12 0 00 505050 MOVEI AC,XX ;SETUP AC RIGHT + 7349 035454 505 12 0 00 505050 HRLI AC,XX ;SETUP AC LEFT + 7350 035455 202 12 0 00 000013 MOVEM AC,&17 ;SETUP AC2^ + 7351 035456 245 12 0 00 777776 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7352 035457 430 11 0 00 000012 XOR AC-1,AC ;COMPARE AC + 7353 035460 332 00 0 00 000011 SKIPE &17 ;SHOULD =0 + 7354 035461 003 12 0 00 042302 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7355 035462 430 10 0 00 000013 XOR AC-2,&17 ;COMPARE AC+1 + 7356 035463 332 00 0 00 000010 SKIPE &17 ;SHOULD = 0 + 7357 035464 004 13 0 00 042302 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7358 035465 321 14 0 00 035450 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7359 + 7360 + 7361 ;TEST SELECTED BIT CONFIGURATIONS + 7362 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7363 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7364 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7365 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7366 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7367 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7368 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7369 ; AC CONTAINS BIT(S) THAT FAILED + 7370 + 7371 042303 SN=SN+1 + 7372 050505 WW=WW/2 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 42-5 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0189 + + 7373 777777 777775 ZZ=ZZ-1 + 7374 SETACS (WW,XX)^ + 7375 035466 201 11 0 00 050505 MOVEI AC-1,WW ;SETUP AC-1 + 7376 035467 505 11 0 00 050505 HRLI AC-1,WW ;FOR COMPARISION + 7377 035470 200 10 0 00 000011 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 7378 035471 201 12 0 00 505050 MOVEI AC,XX ;SETUP AC RIGHT + 7379 035472 505 12 0 00 505050 HRLI AC,XX ;SETUP AC LEFT + 7380 035473 202 12 0 00 000013 MOVEM AC,&17 ;SETUP AC2^ + 7381 035474 245 12 0 00 777775 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7382 035475 430 11 0 00 000012 XOR AC-1,AC ;COMPARE AC + 7383 035476 332 00 0 00 000011 SKIPE &17 ;SHOULD =0 + 7384 035477 003 12 0 00 042303 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7385 035500 430 10 0 00 000013 XOR AC-2,&17 ;COMPARE AC+1 + 7386 035501 332 00 0 00 000010 SKIPE &17 ;SHOULD = 0 + 7387 035502 004 13 0 00 042303 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7388 035503 321 14 0 00 035466 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7389 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 43 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0190 + + 7390 000011 AC=11 + 7391 SAVEAC (1,1)^ + 7392 035504 201 13 0 00 035504 MOVEI AC+2,. ;SETUP TESTPC + 7393 035505 202 13 0 00 030051 MOVEM AC+2,TESTPC + 7394 035506 201 13 0 00 000013 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 7395 035507 202 13 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 7396 + 7397 042400 SN=42400 + 7398 070707 WW=070707 ;USED FOR COMPARISON + 7399 070707 XX=070707 ;SELECTED PATTERN + 7400 000000 ZZ=0 + 7401 + 7402 ;ROT LEFT (111)-TEST AC,AC+1 + 7403 E42400: REPEAT ^D3,< + 7404 ;TEST SELECTED BIT CONFIGURATIONS + 7405 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7406 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7407 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7408 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7409 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7410 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7411 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7412 ; AC CONTAINS BIT(S) THAT FAILED + 7413 + 7414 SN=SN+1 + 7415 WW=WW+WW + 7416 ZZ=ZZ+1 + 7417 SETACS (WW,XX) + 7418 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7419 XOR AC-1,AC ;COMPARE AC + 7420 SKIPE &17 ;SHOULD = 0 + 7421 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7422 XOR AC-2,&17 ;COMPARE AC+1 + 7423 SKIPE &17 ;SHOULD = 0 + 7424 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7425 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7426 > + 7427 + 7428 ;TEST SELECTED BIT CONFIGURATIONS + 7429 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7430 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7431 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7432 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7433 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7434 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7435 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7436 ; AC CONTAINS BIT(S) THAT FAILED + 7437 + 7438 042401 SN=SN+1 + 7439 161616 WW=WW+WW + 7440 000001 ZZ=ZZ+1 + 7441 SETACS (WW,XX)^ + 7442 035510 201 10 0 00 161616 MOVEI AC-1,WW ;SETUP AC-1 + 7443 035511 505 10 0 00 161616 HRLI AC-1,WW ;FOR COMPARISION + 7444 035512 200 07 0 00 000010 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 43-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0191 + + 7445 035513 201 11 0 00 070707 MOVEI AC,XX ;SETUP AC RIGHT + 7446 035514 505 11 0 00 070707 HRLI AC,XX ;SETUP AC LEFT + 7447 035515 202 11 0 00 000012 MOVEM AC,&17 ;SETUP AC2^ + 7448 035516 245 11 0 00 000001 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7449 035517 430 10 0 00 000011 XOR AC-1,AC ;COMPARE AC + 7450 035520 332 00 0 00 000010 SKIPE &17 ;SHOULD = 0 + 7451 035521 003 11 0 00 042401 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7452 035522 430 07 0 00 000012 XOR AC-2,&17 ;COMPARE AC+1 + 7453 035523 332 00 0 00 000007 SKIPE &17 ;SHOULD = 0 + 7454 035524 004 12 0 00 042401 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7455 035525 321 13 0 00 035510 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7456 + 7457 + 7458 ;TEST SELECTED BIT CONFIGURATIONS + 7459 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7460 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7461 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7462 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7463 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7464 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7465 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7466 ; AC CONTAINS BIT(S) THAT FAILED + 7467 + 7468 042402 SN=SN+1 + 7469 343434 WW=WW+WW + 7470 000002 ZZ=ZZ+1 + 7471 SETACS (WW,XX)^ + 7472 035526 201 10 0 00 343434 MOVEI AC-1,WW ;SETUP AC-1 + 7473 035527 505 10 0 00 343434 HRLI AC-1,WW ;FOR COMPARISION + 7474 035530 200 07 0 00 000010 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 7475 035531 201 11 0 00 070707 MOVEI AC,XX ;SETUP AC RIGHT + 7476 035532 505 11 0 00 070707 HRLI AC,XX ;SETUP AC LEFT + 7477 035533 202 11 0 00 000012 MOVEM AC,&17 ;SETUP AC2^ + 7478 035534 245 11 0 00 000002 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7479 035535 430 10 0 00 000011 XOR AC-1,AC ;COMPARE AC + 7480 035536 332 00 0 00 000010 SKIPE &17 ;SHOULD = 0 + 7481 035537 003 11 0 00 042402 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7482 035540 430 07 0 00 000012 XOR AC-2,&17 ;COMPARE AC+1 + 7483 035541 332 00 0 00 000007 SKIPE &17 ;SHOULD = 0 + 7484 035542 004 12 0 00 042402 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7485 035543 321 13 0 00 035526 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7486 + 7487 + 7488 ;TEST SELECTED BIT CONFIGURATIONS + 7489 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7490 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7491 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7492 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7493 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7494 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7495 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7496 ; AC CONTAINS BIT(S) THAT FAILED + 7497 + 7498 042403 SN=SN+1 + 7499 707070 WW=WW+WW +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 43-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0192 + + 7500 000003 ZZ=ZZ+1 + 7501 SETACS (WW,XX)^ + 7502 035544 201 10 0 00 707070 MOVEI AC-1,WW ;SETUP AC-1 + 7503 035545 505 10 0 00 707070 HRLI AC-1,WW ;FOR COMPARISION + 7504 035546 200 07 0 00 000010 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 7505 035547 201 11 0 00 070707 MOVEI AC,XX ;SETUP AC RIGHT + 7506 035550 505 11 0 00 070707 HRLI AC,XX ;SETUP AC LEFT + 7507 035551 202 11 0 00 000012 MOVEM AC,&17 ;SETUP AC2^ + 7508 035552 245 11 0 00 000003 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7509 035553 430 10 0 00 000011 XOR AC-1,AC ;COMPARE AC + 7510 035554 332 00 0 00 000010 SKIPE &17 ;SHOULD = 0 + 7511 035555 003 11 0 00 042403 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7512 035556 430 07 0 00 000012 XOR AC-2,&17 ;COMPARE AC+1 + 7513 035557 332 00 0 00 000007 SKIPE &17 ;SHOULD = 0 + 7514 035560 004 12 0 00 042403 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7515 035561 321 13 0 00 035544 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7516 + 7517 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 43-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0193 + + 7518 000010 AC=10 + 7519 SAVEAC (1,1)^ + 7520 035562 201 12 0 00 035562 MOVEI AC+2,. ;SETUP TESTPC + 7521 035563 202 12 0 00 030051 MOVEM AC+2,TESTPC + 7522 035564 201 12 0 00 000012 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 7523 035565 202 12 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 7524 + 7525 042500 SN=42500 + 7526 707070 WW=707070 ;USED FOR COMPARISON + 7527 707070 XX=707070 ;SELECTED PATTERN + 7528 000000 ZZ=0 + 7529 + 7530 ;ROT RIGHT (111)-TEST AC,AC+1 + 7531 E42500: REPEAT ^D3,< + 7532 ;TEST SELECTED BIT CONFIGURATIONS + 7533 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7534 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7535 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7536 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7537 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7538 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7539 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7540 ; AC CONTAINS BIT(S) THAT FAILED + 7541 + 7542 SN=SN+1 + 7543 WW=WW/2 + 7544 ZZ=ZZ-1 + 7545 SETACS (WW,XX) + 7546 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7547 XOR AC-1,AC ;COMPARE + 7548 SKIPE &17 ;SHOULD = 0 + 7549 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7550 XOR AC-2,&17 ;COMPARE AC+1 + 7551 SKIPE &17 ;SHOULD = 0 + 7552 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7553 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7554 > + 7555 + 7556 ;TEST SELECTED BIT CONFIGURATIONS + 7557 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7558 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7559 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7560 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7561 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7562 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7563 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7564 ; AC CONTAINS BIT(S) THAT FAILED + 7565 + 7566 042501 SN=SN+1 + 7567 343434 WW=WW/2 + 7568 777777 777777 ZZ=ZZ-1 + 7569 SETACS (WW,XX)^ + 7570 035566 201 07 0 00 343434 MOVEI AC-1,WW ;SETUP AC-1 + 7571 035567 505 07 0 00 343434 HRLI AC-1,WW ;FOR COMPARISION + 7572 035570 200 06 0 00 000007 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 43-4 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0194 + + 7573 035571 201 10 0 00 707070 MOVEI AC,XX ;SETUP AC RIGHT + 7574 035572 505 10 0 00 707070 HRLI AC,XX ;SETUP AC LEFT + 7575 035573 202 10 0 00 000011 MOVEM AC,&17 ;SETUP AC2^ + 7576 035574 245 10 0 00 777777 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7577 035575 430 07 0 00 000010 XOR AC-1,AC ;COMPARE + 7578 035576 332 00 0 00 000007 SKIPE &17 ;SHOULD = 0 + 7579 035577 003 10 0 00 042501 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7580 035600 430 06 0 00 000011 XOR AC-2,&17 ;COMPARE AC+1 + 7581 035601 332 00 0 00 000006 SKIPE &17 ;SHOULD = 0 + 7582 035602 004 11 0 00 042501 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7583 035603 321 12 0 00 035566 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7584 + 7585 + 7586 ;TEST SELECTED BIT CONFIGURATIONS + 7587 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7588 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7589 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7590 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7591 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7592 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7593 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7594 ; AC CONTAINS BIT(S) THAT FAILED + 7595 + 7596 042502 SN=SN+1 + 7597 161616 WW=WW/2 + 7598 777777 777776 ZZ=ZZ-1 + 7599 SETACS (WW,XX)^ + 7600 035604 201 07 0 00 161616 MOVEI AC-1,WW ;SETUP AC-1 + 7601 035605 505 07 0 00 161616 HRLI AC-1,WW ;FOR COMPARISION + 7602 035606 200 06 0 00 000007 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 7603 035607 201 10 0 00 707070 MOVEI AC,XX ;SETUP AC RIGHT + 7604 035610 505 10 0 00 707070 HRLI AC,XX ;SETUP AC LEFT + 7605 035611 202 10 0 00 000011 MOVEM AC,&17 ;SETUP AC2^ + 7606 035612 245 10 0 00 777776 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7607 035613 430 07 0 00 000010 XOR AC-1,AC ;COMPARE + 7608 035614 332 00 0 00 000007 SKIPE &17 ;SHOULD = 0 + 7609 035615 003 10 0 00 042502 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7610 035616 430 06 0 00 000011 XOR AC-2,&17 ;COMPARE AC+1 + 7611 035617 332 00 0 00 000006 SKIPE &17 ;SHOULD = 0 + 7612 035620 004 11 0 00 042502 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7613 035621 321 12 0 00 035604 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7614 + 7615 + 7616 ;TEST SELECTED BIT CONFIGURATIONS + 7617 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7618 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7619 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7620 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7621 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7622 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7623 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7624 ; AC CONTAINS BIT(S) THAT FAILED + 7625 + 7626 042503 SN=SN+1 + 7627 070707 WW=WW/2 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 43-5 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0195 + + 7628 777777 777775 ZZ=ZZ-1 + 7629 SETACS (WW,XX)^ + 7630 035622 201 07 0 00 070707 MOVEI AC-1,WW ;SETUP AC-1 + 7631 035623 505 07 0 00 070707 HRLI AC-1,WW ;FOR COMPARISION + 7632 035624 200 06 0 00 000007 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 7633 035625 201 10 0 00 707070 MOVEI AC,XX ;SETUP AC RIGHT + 7634 035626 505 10 0 00 707070 HRLI AC,XX ;SETUP AC LEFT + 7635 035627 202 10 0 00 000011 MOVEM AC,&17 ;SETUP AC2^ + 7636 035630 245 10 0 00 777775 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7637 035631 430 07 0 00 000010 XOR AC-1,AC ;COMPARE + 7638 035632 332 00 0 00 000007 SKIPE &17 ;SHOULD = 0 + 7639 035633 003 10 0 00 042503 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7640 035634 430 06 0 00 000011 XOR AC-2,&17 ;COMPARE AC+1 + 7641 035635 332 00 0 00 000006 SKIPE &17 ;SHOULD = 0 + 7642 035636 004 11 0 00 042503 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7643 035637 321 12 0 00 035622 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7644 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 44 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0196 + + 7645 000007 AC=7 + 7646 SAVEAC (1,1)^ + 7647 035640 201 11 0 00 035640 MOVEI AC+2,. ;SETUP TESTPC + 7648 035641 202 11 0 00 030051 MOVEM AC+2,TESTPC + 7649 035642 201 11 0 00 000011 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 7650 035643 202 11 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 7651 + 7652 042600 SN=42600 + 7653 025025 WW=025025 ;USED FOR COMPARISON + 7654 025025 XX=025025 ;SELECTED PATTERN + 7655 000000 ZZ=0 + 7656 + 7657 ;ROT LEFT (010101)-TEST AC,AC+1 + 7658 E42600: REPEAT ^D4,< + 7659 ;TEST SELECTED BIT CONFIGURATIONS + 7660 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7661 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7662 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7663 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7664 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7665 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7666 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7667 ; AC CONTAINS BIT(S) THAT FAILED + 7668 + 7669 SN=SN+1 + 7670 WW=WW+WW + 7671 ZZ=ZZ+1 + 7672 SETACS (WW,XX) + 7673 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7674 XOR AC-1,AC ;COMPARE AC + 7675 SKIPE &17 ;SHOULD = 0 + 7676 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7677 XOR AC-2,&17 ;COMPARE AC+1 + 7678 SKIPE &17 ;SHOULD = 0 + 7679 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7680 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7681 > + 7682 + 7683 ;TEST SELECTED BIT CONFIGURATIONS + 7684 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7685 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7686 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7687 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7688 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7689 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7690 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7691 ; AC CONTAINS BIT(S) THAT FAILED + 7692 + 7693 042601 SN=SN+1 + 7694 052052 WW=WW+WW + 7695 000001 ZZ=ZZ+1 + 7696 SETACS (WW,XX)^ + 7697 035644 201 06 0 00 052052 MOVEI AC-1,WW ;SETUP AC-1 + 7698 035645 505 06 0 00 052052 HRLI AC-1,WW ;FOR COMPARISION + 7699 035646 200 05 0 00 000006 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 44-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0197 + + 7700 035647 201 07 0 00 025025 MOVEI AC,XX ;SETUP AC RIGHT + 7701 035650 505 07 0 00 025025 HRLI AC,XX ;SETUP AC LEFT + 7702 035651 202 07 0 00 000010 MOVEM AC,&17 ;SETUP AC2^ + 7703 035652 245 07 0 00 000001 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7704 035653 430 06 0 00 000007 XOR AC-1,AC ;COMPARE AC + 7705 035654 332 00 0 00 000006 SKIPE &17 ;SHOULD = 0 + 7706 035655 003 07 0 00 042601 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7707 035656 430 05 0 00 000010 XOR AC-2,&17 ;COMPARE AC+1 + 7708 035657 332 00 0 00 000005 SKIPE &17 ;SHOULD = 0 + 7709 035660 004 10 0 00 042601 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7710 035661 321 11 0 00 035644 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7711 + 7712 + 7713 ;TEST SELECTED BIT CONFIGURATIONS + 7714 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7715 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7716 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7717 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7718 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7719 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7720 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7721 ; AC CONTAINS BIT(S) THAT FAILED + 7722 + 7723 042602 SN=SN+1 + 7724 124124 WW=WW+WW + 7725 000002 ZZ=ZZ+1 + 7726 SETACS (WW,XX)^ + 7727 035662 201 06 0 00 124124 MOVEI AC-1,WW ;SETUP AC-1 + 7728 035663 505 06 0 00 124124 HRLI AC-1,WW ;FOR COMPARISION + 7729 035664 200 05 0 00 000006 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 7730 035665 201 07 0 00 025025 MOVEI AC,XX ;SETUP AC RIGHT + 7731 035666 505 07 0 00 025025 HRLI AC,XX ;SETUP AC LEFT + 7732 035667 202 07 0 00 000010 MOVEM AC,&17 ;SETUP AC2^ + 7733 035670 245 07 0 00 000002 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7734 035671 430 06 0 00 000007 XOR AC-1,AC ;COMPARE AC + 7735 035672 332 00 0 00 000006 SKIPE &17 ;SHOULD = 0 + 7736 035673 003 07 0 00 042602 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7737 035674 430 05 0 00 000010 XOR AC-2,&17 ;COMPARE AC+1 + 7738 035675 332 00 0 00 000005 SKIPE &17 ;SHOULD = 0 + 7739 035676 004 10 0 00 042602 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7740 035677 321 11 0 00 035662 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7741 + 7742 + 7743 ;TEST SELECTED BIT CONFIGURATIONS + 7744 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7745 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7746 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7747 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7748 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7749 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7750 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7751 ; AC CONTAINS BIT(S) THAT FAILED + 7752 + 7753 042603 SN=SN+1 + 7754 250250 WW=WW+WW +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 44-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0198 + + 7755 000003 ZZ=ZZ+1 + 7756 SETACS (WW,XX)^ + 7757 035700 201 06 0 00 250250 MOVEI AC-1,WW ;SETUP AC-1 + 7758 035701 505 06 0 00 250250 HRLI AC-1,WW ;FOR COMPARISION + 7759 035702 200 05 0 00 000006 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 7760 035703 201 07 0 00 025025 MOVEI AC,XX ;SETUP AC RIGHT + 7761 035704 505 07 0 00 025025 HRLI AC,XX ;SETUP AC LEFT + 7762 035705 202 07 0 00 000010 MOVEM AC,&17 ;SETUP AC2^ + 7763 035706 245 07 0 00 000003 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7764 035707 430 06 0 00 000007 XOR AC-1,AC ;COMPARE AC + 7765 035710 332 00 0 00 000006 SKIPE &17 ;SHOULD = 0 + 7766 035711 003 07 0 00 042603 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7767 035712 430 05 0 00 000010 XOR AC-2,&17 ;COMPARE AC+1 + 7768 035713 332 00 0 00 000005 SKIPE &17 ;SHOULD = 0 + 7769 035714 004 10 0 00 042603 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7770 035715 321 11 0 00 035700 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7771 + 7772 + 7773 ;TEST SELECTED BIT CONFIGURATIONS + 7774 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7775 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7776 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7777 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7778 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7779 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7780 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7781 ; AC CONTAINS BIT(S) THAT FAILED + 7782 + 7783 042604 SN=SN+1 + 7784 520520 WW=WW+WW + 7785 000004 ZZ=ZZ+1 + 7786 SETACS (WW,XX)^ + 7787 035716 201 06 0 00 520520 MOVEI AC-1,WW ;SETUP AC-1 + 7788 035717 505 06 0 00 520520 HRLI AC-1,WW ;FOR COMPARISION + 7789 035720 200 05 0 00 000006 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 7790 035721 201 07 0 00 025025 MOVEI AC,XX ;SETUP AC RIGHT + 7791 035722 505 07 0 00 025025 HRLI AC,XX ;SETUP AC LEFT + 7792 035723 202 07 0 00 000010 MOVEM AC,&17 ;SETUP AC2^ + 7793 035724 245 07 0 00 000004 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7794 035725 430 06 0 00 000007 XOR AC-1,AC ;COMPARE AC + 7795 035726 332 00 0 00 000006 SKIPE &17 ;SHOULD = 0 + 7796 035727 003 07 0 00 042604 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7797 035730 430 05 0 00 000010 XOR AC-2,&17 ;COMPARE AC+1 + 7798 035731 332 00 0 00 000005 SKIPE &17 ;SHOULD = 0 + 7799 035732 004 10 0 00 042604 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7800 035733 321 11 0 00 035716 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7801 + 7802 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 44-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0199 + + 7803 000006 AC=6 + 7804 SAVEAC (1,1)^ + 7805 035734 201 10 0 00 035734 MOVEI AC+2,. ;SETUP TESTPC + 7806 035735 202 10 0 00 030051 MOVEM AC+2,TESTPC + 7807 035736 201 10 0 00 000010 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 7808 035737 202 10 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 7809 + 7810 042700 SN=42700 + 7811 520520 WW=520520 ;USED FOR COMPARISON + 7812 520520 XX=520520 ;SELECTED PATTERN + 7813 000000 ZZ=0 + 7814 + 7815 ;ROT RIGHT (101010)-TEST AC,AC+1 + 7816 E42700: REPEAT ^D4,< + 7817 ;TEST SELECTED BIT CONFIGURATIONS + 7818 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7819 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7820 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7821 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7822 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7823 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7824 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7825 ; AC CONTAINS BIT(S) THAT FAILED + 7826 + 7827 SN=SN+1 + 7828 WW=WW/2 + 7829 ZZ=ZZ-1 + 7830 SETACS (WW,XX) + 7831 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7832 XOR AC-1,AC ;COMPARE AC + 7833 SKIPE &17 ;SHOULD = 0 + 7834 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7835 XOR AC-2,&17 ;COMPARE AC+1 + 7836 SKIPE &17 ;SHOULD = 0 + 7837 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7838 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7839 > + 7840 + 7841 ;TEST SELECTED BIT CONFIGURATIONS + 7842 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7843 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7844 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7845 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7846 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7847 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7848 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7849 ; AC CONTAINS BIT(S) THAT FAILED + 7850 + 7851 042701 SN=SN+1 + 7852 250250 WW=WW/2 + 7853 777777 777777 ZZ=ZZ-1 + 7854 SETACS (WW,XX)^ + 7855 035740 201 05 0 00 250250 MOVEI AC-1,WW ;SETUP AC-1 + 7856 035741 505 05 0 00 250250 HRLI AC-1,WW ;FOR COMPARISION + 7857 035742 200 04 0 00 000005 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 44-4 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0200 + + 7858 035743 201 06 0 00 520520 MOVEI AC,XX ;SETUP AC RIGHT + 7859 035744 505 06 0 00 520520 HRLI AC,XX ;SETUP AC LEFT + 7860 035745 202 06 0 00 000007 MOVEM AC,&17 ;SETUP AC2^ + 7861 035746 245 06 0 00 777777 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7862 035747 430 05 0 00 000006 XOR AC-1,AC ;COMPARE AC + 7863 035750 332 00 0 00 000005 SKIPE &17 ;SHOULD = 0 + 7864 035751 003 06 0 00 042701 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7865 035752 430 04 0 00 000007 XOR AC-2,&17 ;COMPARE AC+1 + 7866 035753 332 00 0 00 000004 SKIPE &17 ;SHOULD = 0 + 7867 035754 004 07 0 00 042701 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7868 035755 321 10 0 00 035740 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7869 + 7870 + 7871 ;TEST SELECTED BIT CONFIGURATIONS + 7872 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7873 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7874 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7875 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7876 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7877 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7878 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7879 ; AC CONTAINS BIT(S) THAT FAILED + 7880 + 7881 042702 SN=SN+1 + 7882 124124 WW=WW/2 + 7883 777777 777776 ZZ=ZZ-1 + 7884 SETACS (WW,XX)^ + 7885 035756 201 05 0 00 124124 MOVEI AC-1,WW ;SETUP AC-1 + 7886 035757 505 05 0 00 124124 HRLI AC-1,WW ;FOR COMPARISION + 7887 035760 200 04 0 00 000005 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 7888 035761 201 06 0 00 520520 MOVEI AC,XX ;SETUP AC RIGHT + 7889 035762 505 06 0 00 520520 HRLI AC,XX ;SETUP AC LEFT + 7890 035763 202 06 0 00 000007 MOVEM AC,&17 ;SETUP AC2^ + 7891 035764 245 06 0 00 777776 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7892 035765 430 05 0 00 000006 XOR AC-1,AC ;COMPARE AC + 7893 035766 332 00 0 00 000005 SKIPE &17 ;SHOULD = 0 + 7894 035767 003 06 0 00 042702 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7895 035770 430 04 0 00 000007 XOR AC-2,&17 ;COMPARE AC+1 + 7896 035771 332 00 0 00 000004 SKIPE &17 ;SHOULD = 0 + 7897 035772 004 07 0 00 042702 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7898 035773 321 10 0 00 035756 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7899 + 7900 + 7901 ;TEST SELECTED BIT CONFIGURATIONS + 7902 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7903 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7904 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7905 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7906 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7907 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7908 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7909 ; AC CONTAINS BIT(S) THAT FAILED + 7910 + 7911 042703 SN=SN+1 + 7912 052052 WW=WW/2 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 44-5 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0201 + + 7913 777777 777775 ZZ=ZZ-1 + 7914 SETACS (WW,XX)^ + 7915 035774 201 05 0 00 052052 MOVEI AC-1,WW ;SETUP AC-1 + 7916 035775 505 05 0 00 052052 HRLI AC-1,WW ;FOR COMPARISION + 7917 035776 200 04 0 00 000005 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 7918 035777 201 06 0 00 520520 MOVEI AC,XX ;SETUP AC RIGHT + 7919 036000 505 06 0 00 520520 HRLI AC,XX ;SETUP AC LEFT + 7920 036001 202 06 0 00 000007 MOVEM AC,&17 ;SETUP AC2^ + 7921 036002 245 06 0 00 777775 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7922 036003 430 05 0 00 000006 XOR AC-1,AC ;COMPARE AC + 7923 036004 332 00 0 00 000005 SKIPE &17 ;SHOULD = 0 + 7924 036005 003 06 0 00 042703 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7925 036006 430 04 0 00 000007 XOR AC-2,&17 ;COMPARE AC+1 + 7926 036007 332 00 0 00 000004 SKIPE &17 ;SHOULD = 0 + 7927 036010 004 07 0 00 042703 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7928 036011 321 10 0 00 035774 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7929 + 7930 + 7931 ;TEST SELECTED BIT CONFIGURATIONS + 7932 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7933 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7934 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7935 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7936 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7937 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7938 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7939 ; AC CONTAINS BIT(S) THAT FAILED + 7940 + 7941 042704 SN=SN+1 + 7942 025025 WW=WW/2 + 7943 777777 777774 ZZ=ZZ-1 + 7944 SETACS (WW,XX)^ + 7945 036012 201 05 0 00 025025 MOVEI AC-1,WW ;SETUP AC-1 + 7946 036013 505 05 0 00 025025 HRLI AC-1,WW ;FOR COMPARISION + 7947 036014 200 04 0 00 000005 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 7948 036015 201 06 0 00 520520 MOVEI AC,XX ;SETUP AC RIGHT + 7949 036016 505 06 0 00 520520 HRLI AC,XX ;SETUP AC LEFT + 7950 036017 202 06 0 00 000007 MOVEM AC,&17 ;SETUP AC2^ + 7951 036020 245 06 0 00 777774 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7952 036021 430 05 0 00 000006 XOR AC-1,AC ;COMPARE AC + 7953 036022 332 00 0 00 000005 SKIPE &17 ;SHOULD = 0 + 7954 036023 003 06 0 00 042704 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7955 036024 430 04 0 00 000007 XOR AC-2,&17 ;COMPARE AC+1 + 7956 036025 332 00 0 00 000004 SKIPE &17 ;SHOULD = 0 + 7957 036026 004 07 0 00 042704 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7958 036027 321 10 0 00 036012 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7959 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 45 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0202 + + 7960 000005 AC=5 + 7961 SAVEAC (1,1)^ + 7962 036030 201 07 0 00 036030 MOVEI AC+2,. ;SETUP TESTPC + 7963 036031 202 07 0 00 030051 MOVEM AC+2,TESTPC + 7964 036032 201 07 0 00 000007 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 7965 036033 202 07 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 7966 + 7967 043000 SN=43000 + 7968 033033 WW=033033 ;USED FOR COMPARISON + 7969 033033 XX=033033 ;SELECTED PATTERN + 7970 000000 ZZ=0 + 7971 + 7972 ;ROT LEFT (011011)-TEST AC,AC+1 + 7973 E43000: REPEAT ^D4,< + 7974 ;TEST SELECTED BIT CONFIGURATIONS + 7975 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 7976 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 7977 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 7978 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 7979 ; AC-1 CONTAINS BIT(S) THAT FAILED + 7980 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 7981 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 7982 ; AC CONTAINS BIT(S) THAT FAILED + 7983 + 7984 SN=SN+1 + 7985 WW=WW+WW + 7986 ZZ=ZZ+1 + 7987 SETACS (WW,XX) + 7988 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 7989 XOR AC-1,AC ;COMPARE AC + 7990 SKIPE &17 ;SHOULD = 0 + 7991 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 7992 XOR AC-2,&17 ;COMPARE AC+1 + 7993 SKIPE &17 ;SHOULD = 0 + 7994 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 7995 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 7996 > + 7997 + 7998 ;TEST SELECTED BIT CONFIGURATIONS + 7999 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 8000 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 8001 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 8002 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 8003 ; AC-1 CONTAINS BIT(S) THAT FAILED + 8004 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 8005 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 8006 ; AC CONTAINS BIT(S) THAT FAILED + 8007 + 8008 043001 SN=SN+1 + 8009 066066 WW=WW+WW + 8010 000001 ZZ=ZZ+1 + 8011 SETACS (WW,XX)^ + 8012 036034 201 04 0 00 066066 MOVEI AC-1,WW ;SETUP AC-1 + 8013 036035 505 04 0 00 066066 HRLI AC-1,WW ;FOR COMPARISION + 8014 036036 200 03 0 00 000004 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 45-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0203 + + 8015 036037 201 05 0 00 033033 MOVEI AC,XX ;SETUP AC RIGHT + 8016 036040 505 05 0 00 033033 HRLI AC,XX ;SETUP AC LEFT + 8017 036041 202 05 0 00 000006 MOVEM AC,&17 ;SETUP AC2^ + 8018 036042 245 05 0 00 000001 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 8019 036043 430 04 0 00 000005 XOR AC-1,AC ;COMPARE AC + 8020 036044 332 00 0 00 000004 SKIPE &17 ;SHOULD = 0 + 8021 036045 003 05 0 00 043001 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 8022 036046 430 03 0 00 000006 XOR AC-2,&17 ;COMPARE AC+1 + 8023 036047 332 00 0 00 000003 SKIPE &17 ;SHOULD = 0 + 8024 036050 004 06 0 00 043001 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 8025 036051 321 07 0 00 036034 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 8026 + 8027 + 8028 ;TEST SELECTED BIT CONFIGURATIONS + 8029 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 8030 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 8031 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 8032 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 8033 ; AC-1 CONTAINS BIT(S) THAT FAILED + 8034 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 8035 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 8036 ; AC CONTAINS BIT(S) THAT FAILED + 8037 + 8038 043002 SN=SN+1 + 8039 154154 WW=WW+WW + 8040 000002 ZZ=ZZ+1 + 8041 SETACS (WW,XX)^ + 8042 036052 201 04 0 00 154154 MOVEI AC-1,WW ;SETUP AC-1 + 8043 036053 505 04 0 00 154154 HRLI AC-1,WW ;FOR COMPARISION + 8044 036054 200 03 0 00 000004 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 8045 036055 201 05 0 00 033033 MOVEI AC,XX ;SETUP AC RIGHT + 8046 036056 505 05 0 00 033033 HRLI AC,XX ;SETUP AC LEFT + 8047 036057 202 05 0 00 000006 MOVEM AC,&17 ;SETUP AC2^ + 8048 036060 245 05 0 00 000002 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 8049 036061 430 04 0 00 000005 XOR AC-1,AC ;COMPARE AC + 8050 036062 332 00 0 00 000004 SKIPE &17 ;SHOULD = 0 + 8051 036063 003 05 0 00 043002 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 8052 036064 430 03 0 00 000006 XOR AC-2,&17 ;COMPARE AC+1 + 8053 036065 332 00 0 00 000003 SKIPE &17 ;SHOULD = 0 + 8054 036066 004 06 0 00 043002 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 8055 036067 321 07 0 00 036052 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 8056 + 8057 + 8058 ;TEST SELECTED BIT CONFIGURATIONS + 8059 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 8060 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 8061 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 8062 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 8063 ; AC-1 CONTAINS BIT(S) THAT FAILED + 8064 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 8065 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 8066 ; AC CONTAINS BIT(S) THAT FAILED + 8067 + 8068 043003 SN=SN+1 + 8069 330330 WW=WW+WW +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 45-2 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0204 + + 8070 000003 ZZ=ZZ+1 + 8071 SETACS (WW,XX)^ + 8072 036070 201 04 0 00 330330 MOVEI AC-1,WW ;SETUP AC-1 + 8073 036071 505 04 0 00 330330 HRLI AC-1,WW ;FOR COMPARISION + 8074 036072 200 03 0 00 000004 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 8075 036073 201 05 0 00 033033 MOVEI AC,XX ;SETUP AC RIGHT + 8076 036074 505 05 0 00 033033 HRLI AC,XX ;SETUP AC LEFT + 8077 036075 202 05 0 00 000006 MOVEM AC,&17 ;SETUP AC2^ + 8078 036076 245 05 0 00 000003 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 8079 036077 430 04 0 00 000005 XOR AC-1,AC ;COMPARE AC + 8080 036100 332 00 0 00 000004 SKIPE &17 ;SHOULD = 0 + 8081 036101 003 05 0 00 043003 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 8082 036102 430 03 0 00 000006 XOR AC-2,&17 ;COMPARE AC+1 + 8083 036103 332 00 0 00 000003 SKIPE &17 ;SHOULD = 0 + 8084 036104 004 06 0 00 043003 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 8085 036105 321 07 0 00 036070 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 8086 + 8087 + 8088 ;TEST SELECTED BIT CONFIGURATIONS + 8089 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 8090 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 8091 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 8092 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 8093 ; AC-1 CONTAINS BIT(S) THAT FAILED + 8094 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 8095 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 8096 ; AC CONTAINS BIT(S) THAT FAILED + 8097 + 8098 043004 SN=SN+1 + 8099 660660 WW=WW+WW + 8100 000004 ZZ=ZZ+1 + 8101 SETACS (WW,XX)^ + 8102 036106 201 04 0 00 660660 MOVEI AC-1,WW ;SETUP AC-1 + 8103 036107 505 04 0 00 660660 HRLI AC-1,WW ;FOR COMPARISION + 8104 036110 200 03 0 00 000004 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 8105 036111 201 05 0 00 033033 MOVEI AC,XX ;SETUP AC RIGHT + 8106 036112 505 05 0 00 033033 HRLI AC,XX ;SETUP AC LEFT + 8107 036113 202 05 0 00 000006 MOVEM AC,&17 ;SETUP AC2^ + 8108 036114 245 05 0 00 000004 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 8109 036115 430 04 0 00 000005 XOR AC-1,AC ;COMPARE AC + 8110 036116 332 00 0 00 000004 SKIPE &17 ;SHOULD = 0 + 8111 036117 003 05 0 00 043004 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 8112 036120 430 03 0 00 000006 XOR AC-2,&17 ;COMPARE AC+1 + 8113 036121 332 00 0 00 000003 SKIPE &17 ;SHOULD = 0 + 8114 036122 004 06 0 00 043004 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 8115 036123 321 07 0 00 036106 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 8116 + 8117 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 45-3 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0205 + + 8118 000004 AC=4 + 8119 SAVEAC (1,1)^ + 8120 036124 201 06 0 00 036124 MOVEI AC+2,. ;SETUP TESTPC + 8121 036125 202 06 0 00 030051 MOVEM AC+2,TESTPC + 8122 036126 201 06 0 00 000006 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 8123 036127 202 06 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 8124 + 8125 043100 SN=43100 + 8126 660660 WW=660660 ;USED FOR COMPARISON + 8127 660660 XX=660660 ;SELECTED PATTERN + 8128 000000 ZZ=0 + 8129 + 8130 ;ROT RIGHT (110110)-TEST AC,AC+1 + 8131 E43100: REPEAT ^D4,< + 8132 ;TEST SELECTED BIT CONFIGURATIONS + 8133 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 8134 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 8135 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 8136 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 8137 ; AC-1 CONTAINS BIT(S) THAT FAILED + 8138 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 8139 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 8140 ; AC CONTAINS BIT(S) THAT FAILED + 8141 + 8142 SN=SN+1 + 8143 WW=WW/2 + 8144 ZZ=ZZ-1 + 8145 SETACS (WW,XX) + 8146 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 8147 XOR AC-1,AC ;COMPARE AC + 8148 SKIPE &17 ;SHOULD = 0 + 8149 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 8150 XOR AC-2,&17 ;COMPARE AC+1 + 8151 SKIPE &17 ;SHOULD = 0 + 8152 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 8153 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 8154 > + 8155 + 8156 ;TEST SELECTED BIT CONFIGURATIONS + 8157 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 8158 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 8159 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 8160 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 8161 ; AC-1 CONTAINS BIT(S) THAT FAILED + 8162 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 8163 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 8164 ; AC CONTAINS BIT(S) THAT FAILED + 8165 + 8166 043101 SN=SN+1 + 8167 330330 WW=WW/2 + 8168 777777 777777 ZZ=ZZ-1 + 8169 SETACS (WW,XX)^ + 8170 036130 201 03 0 00 330330 MOVEI AC-1,WW ;SETUP AC-1 + 8171 036131 505 03 0 00 330330 HRLI AC-1,WW ;FOR COMPARISION + 8172 036132 200 02 0 00 000003 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 45-4 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0206 + + 8173 036133 201 04 0 00 660660 MOVEI AC,XX ;SETUP AC RIGHT + 8174 036134 505 04 0 00 660660 HRLI AC,XX ;SETUP AC LEFT + 8175 036135 202 04 0 00 000005 MOVEM AC,&17 ;SETUP AC2^ + 8176 036136 245 04 0 00 777777 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 8177 036137 430 03 0 00 000004 XOR AC-1,AC ;COMPARE AC + 8178 036140 332 00 0 00 000003 SKIPE &17 ;SHOULD = 0 + 8179 036141 003 04 0 00 043101 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 8180 036142 430 02 0 00 000005 XOR AC-2,&17 ;COMPARE AC+1 + 8181 036143 332 00 0 00 000002 SKIPE &17 ;SHOULD = 0 + 8182 036144 004 05 0 00 043101 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 8183 036145 321 06 0 00 036130 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 8184 + 8185 + 8186 ;TEST SELECTED BIT CONFIGURATIONS + 8187 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 8188 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 8189 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 8190 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 8191 ; AC-1 CONTAINS BIT(S) THAT FAILED + 8192 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 8193 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 8194 ; AC CONTAINS BIT(S) THAT FAILED + 8195 + 8196 043102 SN=SN+1 + 8197 154154 WW=WW/2 + 8198 777777 777776 ZZ=ZZ-1 + 8199 SETACS (WW,XX)^ + 8200 036146 201 03 0 00 154154 MOVEI AC-1,WW ;SETUP AC-1 + 8201 036147 505 03 0 00 154154 HRLI AC-1,WW ;FOR COMPARISION + 8202 036150 200 02 0 00 000003 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 8203 036151 201 04 0 00 660660 MOVEI AC,XX ;SETUP AC RIGHT + 8204 036152 505 04 0 00 660660 HRLI AC,XX ;SETUP AC LEFT + 8205 036153 202 04 0 00 000005 MOVEM AC,&17 ;SETUP AC2^ + 8206 036154 245 04 0 00 777776 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 8207 036155 430 03 0 00 000004 XOR AC-1,AC ;COMPARE AC + 8208 036156 332 00 0 00 000003 SKIPE &17 ;SHOULD = 0 + 8209 036157 003 04 0 00 043102 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 8210 036160 430 02 0 00 000005 XOR AC-2,&17 ;COMPARE AC+1 + 8211 036161 332 00 0 00 000002 SKIPE &17 ;SHOULD = 0 + 8212 036162 004 05 0 00 043102 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 8213 036163 321 06 0 00 036146 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 8214 + 8215 + 8216 ;TEST SELECTED BIT CONFIGURATIONS + 8217 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 8218 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 8219 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 8220 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 8221 ; AC-1 CONTAINS BIT(S) THAT FAILED + 8222 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 8223 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 8224 ; AC CONTAINS BIT(S) THAT FAILED + 8225 + 8226 043103 SN=SN+1 + 8227 066066 WW=WW/2 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 45-5 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST SEQ 0207 + + 8228 777777 777775 ZZ=ZZ-1 + 8229 SETACS (WW,XX)^ + 8230 036164 201 03 0 00 066066 MOVEI AC-1,WW ;SETUP AC-1 + 8231 036165 505 03 0 00 066066 HRLI AC-1,WW ;FOR COMPARISION + 8232 036166 200 02 0 00 000003 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 8233 036167 201 04 0 00 660660 MOVEI AC,XX ;SETUP AC RIGHT + 8234 036170 505 04 0 00 660660 HRLI AC,XX ;SETUP AC LEFT + 8235 036171 202 04 0 00 000005 MOVEM AC,&17 ;SETUP AC2^ + 8236 036172 245 04 0 00 777775 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 8237 036173 430 03 0 00 000004 XOR AC-1,AC ;COMPARE AC + 8238 036174 332 00 0 00 000003 SKIPE &17 ;SHOULD = 0 + 8239 036175 003 04 0 00 043103 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 8240 036176 430 02 0 00 000005 XOR AC-2,&17 ;COMPARE AC+1 + 8241 036177 332 00 0 00 000002 SKIPE &17 ;SHOULD = 0 + 8242 036200 004 05 0 00 043103 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 8243 036201 321 06 0 00 036164 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 8244 + 8245 + 8246 ;TEST SELECTED BIT CONFIGURATIONS + 8247 ;TEST ABILITY TO ROTATE SELECTED PATTERNS + 8248 ;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED + 8249 ;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER + 8250 ; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 + 8251 ; AC-1 CONTAINS BIT(S) THAT FAILED + 8252 ;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER + 8253 ; ERROR WILL OCCUR IF AC DIFFERS FROM 0 + 8254 ; AC CONTAINS BIT(S) THAT FAILED + 8255 + 8256 043104 SN=SN+1 + 8257 033033 WW=WW/2 + 8258 777777 777774 ZZ=ZZ-1 + 8259 SETACS (WW,XX)^ + 8260 036202 201 03 0 00 033033 MOVEI AC-1,WW ;SETUP AC-1 + 8261 036203 505 03 0 00 033033 HRLI AC-1,WW ;FOR COMPARISION + 8262 036204 200 02 0 00 000003 MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + 8263 036205 201 04 0 00 660660 MOVEI AC,XX ;SETUP AC RIGHT + 8264 036206 505 04 0 00 660660 HRLI AC,XX ;SETUP AC LEFT + 8265 036207 202 04 0 00 000005 MOVEM AC,&17 ;SETUP AC2^ + 8266 036210 245 04 0 00 777774 ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + 8267 036211 430 03 0 00 000004 XOR AC-1,AC ;COMPARE AC + 8268 036212 332 00 0 00 000003 SKIPE &17 ;SHOULD = 0 + 8269 036213 003 04 0 00 043104 ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + 8270 036214 430 02 0 00 000005 XOR AC-2,&17 ;COMPARE AC+1 + 8271 036215 332 00 0 00 000002 SKIPE &17 ;SHOULD = 0 + 8272 036216 004 05 0 00 043104 ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + 8273 036217 321 06 0 00 036202 JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH + 8274 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 46 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - ARITHMETIC OVERFLOW FLAG TEST SEQ 0208 + + 8275 SUBTTL DIAGNOSTIC SECTION - ARITHMETIC OVERFLOW FLAG TEST + 8276 + 8277 ;TEST AROV FLAG-ASH,ASHC + 8278 ;TEST THE ABILITY OF ASH,ASHC TO + 8279 ;SET AROV FLAG + 8280 ;TEST (00),(11) FOR SET NOT CONDITION + 8281 ;TEST (01),(10) FOR SET CONDITION + 8282 ;AN ERROR WILL OCCUR IF FLAG IS + 8283 ;SET/SET NOT AS APPROPRIATE + 8284 + 8285 000010 AC=10 + 8286 SAVEAC (1,1)^ + 8287 036220 201 12 0 00 036220 MOVEI AC+2,. ;SETUP TESTPC + 8288 036221 202 12 0 00 030051 MOVEM AC+2,TESTPC + 8289 036222 201 12 0 00 000012 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 8290 036223 202 12 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 8291 + 8292 ;ASH AROV SET NOT (11) + 8293 036224 255 10 0 00 036225 E43200: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + 8294 036225 205 10 0 00 777777 MOVSI AC,-1 ;SET LEFT,CLEAR RIGHT + 8295 036226 240 10 0 00 000001 ASH AC,1 ;*SHIFT LEFT ONE + 8296 036227 265 06 0 00 036230 JSP AC-2,.+1 ;SAVE FLAGS + 8297 036230 255 10 0 00 036232 JFCL 10,.+2 ;TEST FOR SET NOT COND + 8298 036231 254 00 0 00 036233 JRST 0,.+2 ;FLAG NOT SET + 8299 036232 013 06 0 00 043201 ER13 AC-2,43201 ;FLAG IS SET + 8300 036233 321 12 0 00 036224 JUMPL AC+2,E43200 ;LOOP ON ERROR SWITCH + 8301 + 8302 ;ASH AROV SET NOT (00) + 8303 036234 255 10 0 00 036235 E43300: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + 8304 036235 400 10 0 00 000000 SETZ AC, ;CLEAR AC + 8305 036236 240 10 0 00 000001 ASH AC,1 ;*SHIFT LEFT ONE + 8306 036237 265 06 0 00 036240 JSP AC-2,.+1 ;SAVE FLAGS + 8307 036240 255 10 0 00 036242 JFCL 10,.+2 ;TEST FOR SET NOT COND + 8308 036241 254 00 0 00 036243 JRST 0,.+2 ;FLAG NOT SET + 8309 036242 013 06 0 00 043301 ER13 AC-2,43301 ;FLAG IS SET + 8310 036243 321 12 0 00 036234 JUMPL AC+2,E43300 ;LOOP ON ERROR SWITCH + 8311 PAGE +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 46-1 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - ARITHMETIC OVERFLOW FLAG TEST SEQ 0209 + + 8312 000007 AC=7 + 8313 SAVEAC (1,1)^ + 8314 036244 201 11 0 00 036244 MOVEI AC+2,. ;SETUP TESTPC + 8315 036245 202 11 0 00 030051 MOVEM AC+2,TESTPC + 8316 036246 201 11 0 00 000011 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 8317 036247 202 11 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 8318 + 8319 ;ASH AROV SET (01) + 8320 036250 255 10 0 00 036251 E43400: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + 8321 036251 205 07 0 00 377777 MOVSI AC,377777 ;CLEAR 0 AND RIGHT HALF + 8322 036252 240 07 0 00 000001 ASH AC,1 ;*SHIFT LEFT ONE + 8323 036253 265 05 0 00 036254 JSP AC-2,.+1 ;SAVE FLAGS + 8324 036254 255 10 0 00 036256 JFCL 10,.+2 ;TEST FOR SET COND + 8325 036255 013 05 0 00 043401 ER13 AC-2,43401 ;FLAG IS NOT SET + 8326 036256 321 11 0 00 036250 JUMPL AC+2,E43400 ;LOOP ON ERROR SWITCH + 8327 + 8328 ;ASH AROV SET (10) + 8329 036257 255 10 0 00 036260 E43500: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + 8330 036260 205 07 0 00 400000 MOVSI AC,400000 ;SET BIT 0 + 8331 036261 240 07 0 00 000001 ASH AC,1 ;*SHIFT LEFT ONE + 8332 036262 265 05 0 00 036263 JSP AC-2,.+1 ;SAVE FLAGS + 8333 036263 255 10 0 00 036265 JFCL 10,.+2 ;TEST FOR SET COND + 8334 036264 013 05 0 00 043501 ER13 AC-2,43501 ;FLAG IS NOT SET + 8335 036265 321 11 0 00 036257 JUMPL AC+2,E43500 ;LOOP ON ERROR SWITCH +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 47 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - ARITHMETIC OVERFLOW FLAG TEST SEQ 0210 + + 8336 000010 AC=10 + 8337 SAVEAC (1,1)^ + 8338 036266 201 12 0 00 036266 MOVEI AC+2,. ;SETUP TESTPC + 8339 036267 202 12 0 00 030051 MOVEM AC+2,TESTPC + 8340 036270 201 12 0 00 000012 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 8341 036271 202 12 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 8342 + 8343 ;ASHC AROV SET NOT (11) + 8344 036272 255 10 0 00 036273 E43600: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + 8345 036273 205 10 0 00 777777 MOVSI AC,-1 ;SET LEFT, CLEAR RIGHT + 8346 036274 244 10 0 00 000001 ASHC AC,1 ;*SHIFT LEFT ONE + 8347 036275 265 06 0 00 036276 JSP AC-2,.+1 ;SAVE FLAGS + 8348 036276 255 10 0 00 036300 JFCL 10,.+2 ;TEST FOR SET NOT COND + 8349 036277 254 00 0 00 036301 JRST 0,.+2 ;FLAG NOT SET + 8350 036300 013 06 0 00 043601 ER13 AC-2,43601 ;FLAG IS SET + 8351 036301 321 12 0 00 036272 JUMPL AC+2,E43600 ;LOOP ON ERROR SWITCH + 8352 + 8353 + 8354 ;ASHC AROV SET NOT (00) + 8355 036302 255 10 0 00 036303 E43700: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + 8356 036303 400 10 0 00 000000 SETZ AC, ;CLEAR AC + 8357 036304 244 10 0 00 000001 ASHC AC,1 ;*SHIFT LEFT ONE + 8358 036305 265 06 0 00 036306 JSP AC-2,.+1 ;SAVE FLAGS + 8359 036306 255 10 0 00 036310 JFCL 10,.+2 ;TEST FOR SET NOT COND + 8360 036307 254 00 0 00 036311 JRST 0,.+2 ;FLAG NOT SET + 8361 036310 013 06 0 00 043701 ER13 AC-2,43701 ;FLAG IS SET + 8362 036311 321 12 0 00 036302 JUMPL AC+2,E43700 ;LOOP ON ERROR SWITCH + 8363 + 8364 000007 AC=7 + 8365 SAVEAC (1,1)^ + 8366 036312 201 11 0 00 036312 MOVEI AC+2,. ;SETUP TESTPC + 8367 036313 202 11 0 00 030051 MOVEM AC+2,TESTPC + 8368 036314 201 11 0 00 000011 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 8369 036315 202 11 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 8370 + 8371 ;ASHC AROV SET (01) + 8372 036316 255 10 0 00 036317 E44000: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + 8373 036317 205 07 0 00 377777 MOVSI AC,377777 ;CLEAR 0 AND RIGHT HALF + 8374 036320 244 07 0 00 000001 ASHC AC,1 ;*SHIFT LEFT ONE + 8375 036321 265 05 0 00 036322 JSP AC-2,.+1 ;SAVE FLAGS + 8376 036322 255 10 0 00 036324 JFCL 10,.+2 ;TEST FOR SET COND + 8377 036323 013 05 0 00 044001 ER13 AC-2,44001 ;FLAG IS NOT SET + 8378 036324 321 11 0 00 036316 JUMPL AC+2,E44000 ;LOOP ON ERROR SWITCH + 8379 + 8380 ;ASHC AROV SET (10) + 8381 036325 255 10 0 00 036326 E44100: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + 8382 036326 205 07 0 00 400000 MOVSI AC,400000 ;SET BIT 0 + 8383 036327 244 07 0 00 000001 ASHC AC,1 ;*SHIFT LEFT ONE + 8384 036330 265 05 0 00 036331 JSP AC-2,.+1 ;SAVE FLAGS + 8385 036331 255 10 0 00 036333 JFCL 10,.+2 ;TEST FOR SET COND + 8386 036332 013 05 0 00 044101 ER13 AC-2,44101 ;FLAG IS NOT SET + 8387 036333 321 11 0 00 036325 JUMPL AC+2,E44100 ;LOOP ON ERROR SWITCH +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 48 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - TEST INDEXING, INDIRECT ADDRESSING AND XCT OF ROT SEQ 0211 + + 8388 SUBTTL DIAGNOSTIC SECTION - TEST INDEXING, INDIRECT ADDRESSING AND XCT OF ROT + 8389 + 8390 ;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN IT IS + 8391 ;INDEXED. THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO E + C(X), + 8392 ;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD AND X IS THE INDEX REG. + 8393 ;IN THIS CASE, C(AC)=230703,,603700, E=0, X=6 AND C(X)=3; + 8394 ;HENCE, THE NET ROTATION SHOULD BE 3 BIT POSITIONS LEFT, + 8395 ;AND THE RESULT IN THE AC SHOULD BE 307036,,037002 + 8396 + 8397 000007 AC=7 + 8398 SAVEAC (1,1)^ + 8399 036334 201 11 0 00 036334 MOVEI AC+2,. ;SETUP TESTPC + 8400 036335 202 11 0 00 030051 MOVEM AC+2,TESTPC + 8401 036336 201 11 0 00 000011 MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + 8402 036337 202 11 0 00 037006 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^ + 8403 + 8404 036340 201 06 0 00 000003 E70000: MOVEI 6,3 ;PRELOAD INDEX REG WITH 3 + 8405 036341 200 07 0 00 036635 MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + 8406 036342 241 07 0 06 000000 ROT AC,(6) ;*ROT C(AC) 3 BIT POSITIONS LEFT + 8407 036343 312 07 0 00 036647 CAME AC,[307036,,037002] ;IS RESULT IN AC CORRECT? + 8408 036344 003 07 0 00 070001 ER3 AC,70001 ;INDEXING FAILED + 8409 036345 321 11 0 00 036340 JUMPL AC+2,E70000 ;LOOP ON ERROR SWITCH + 8410 + 8411 ;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN IT IS + 8412 ;INDEXED. THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO E + C(X), + 8413 ;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD AND X IS THE INDEX REG. + 8414 ;IN THIS CASE, C(AC)=230703,,603700, E=4, X=5 AND C(X)=0; + 8415 ;HENCE, THE NET ROTATION SHOULD BE 4 BIT POSITIONS LEFT, + 8416 ;AND THE RESULT IN THE AC SHOULD BE 616074,,076004. + 8417 + 8418 036346 201 05 0 00 000000 E70100: MOVEI 5,0 ;PRELOAD INDEX REG WITH 0 + 8419 036347 200 07 0 00 036635 MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + 8420 036350 241 07 0 05 000004 ROT AC,4(5) ;*ROT C(AC) 4 BIT POSITIONS LEFT + 8421 036351 312 07 0 00 036671 CAME AC,[616074,,076004] ;IS RESULT IN AC CORRECT? + 8422 036352 003 07 0 00 070101 ER3 AC,70101 ;INDEXING FAILED + 8423 036353 321 11 0 00 036346 JUMPL AC+2,E70100 ;LOOP ON ERROR SWITCH +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 49 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - TEST INDEXING, INDIRECT ADDRESSING AND XCT OF ROT SEQ 0212 + + 8424 ;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN IT IS + 8425 ;INDEXED. THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO E + C(X), + 8426 ;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD AND X IS THE INDEX REG. + 8427 ;IN THIS CASE, C(AC)=230703,,603700, E=16, X=6 AND C(X)=5; + 8428 ;HENCE, THE NET ROTATION SHOULD BE 21 BIT POSITIONS LEFT, + 8429 ;AND THE RESULT IN THE AC SHOULD BE 407600,,461607. + 8430 + 8431 036354 201 06 0 00 000005 E70200: MOVEI 6,5 ;PRELOAD INDEX REG WITH 5 + 8432 036355 200 07 0 00 036635 MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + 8433 036356 241 07 0 06 000016 ROT AC,16(6) ;*ROT C(AC) 21 BIT POSITIONS LEFT + 8434 036357 312 07 0 00 036672 CAME AC,[407600,,461607] ;IS RESULT IN AC CORRECT? + 8435 036360 003 07 0 00 070201 ER3 AC,70201 ;INDEXING FAILED + 8436 036361 321 11 0 00 036354 JUMPL AC+2,E70200 ;LOOP ON ERROR SWITCH +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 50 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - TEST INDEXING, INDIRECT ADDRESSING AND XCT OF ROT SEQ 0213 + + 8437 ;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN E IS + 8438 ;INDIRECTLY ADDRESSED. THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO C(E), + 8439 ;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD. + 8440 ;IN THIS CASE, C(AC)=230703,,603700, E=6 AND C(E)=35; + 8441 ;HENCE, THE NET ROTATION SHOULD BE 35 BIT POSITIONS LEFT, + 8442 ;AND THE RESULT IN THE AC SHOULD BE 401143,,417017. + 8443 + 8444 036362 201 06 0 00 000035 E70300: MOVEI 6,35 ;PRELOAD E WITH 35 + 8445 036363 200 07 0 00 036635 MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + 8446 036364 241 07 1 00 000006 ROT AC,@6 ;*ROT C(AC) 35 BIT POSITIONS LEFT + 8447 036365 312 07 0 00 036654 CAME AC,[401143,,417017] ;IS RESULT IN AC CORRECT? + 8448 036366 003 07 0 00 070301 ER3 AC,70301 ;INDIRECT ADDRESSING FAILED + 8449 036367 321 11 0 00 036370 JUMPL AC+2,E70400 ;LOOP ON ERROR SWITCH + 8450 + 8451 ;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN E IS + 8452 ;INDIRECTLY ADDRESSED. THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO THE RIGHT HALF OF C + 8453 (E), + 8454 ;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD. + 8455 ;IN THIS CASE, C(AC)=230703,,603700, E=[0,,1] AND C(E)=15; + 8456 ;HENCE, THE NET ROTATION SHOULD BE 1 BIT POSITION LEFT, + 8457 ;AND THE RESULT IN THE AC SHOULD BE 461607,,407600. + 8458 + 8459 036370 476 00 0 00 000001 E70400: SETOM 1 ;PRELOAD AC1 WITH -1,,-1 IN CASE IND. ADR. FAILS + 8460 036371 200 07 0 00 036635 MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + 8461 036372 241 07 1 00 036601 ROT AC,@[0,,1] ;*ROT C(AC) 1 BIT POSITION LEFT + 8462 036373 312 07 0 00 036645 CAME AC,[461607,,407600] ;IS RESULT IN AC CORRECT? + 8463 036374 003 07 0 00 070401 ER3 AC,70401 ;INDIRECT ADDRESSING FAILED + 8464 036375 321 11 0 00 036370 JUMPL AC+2,E70400 ;LOOP ON ERROR SWITCH +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 51 +DAKAJM MAC 20-JAN-77 10:48 DIAGNOSTIC SECTION - TEST INDEXING, INDIRECT ADDRESSING AND XCT OF ROT SEQ 0214 + + 8465 ;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN IT IS + 8466 ;EXECUTED BY AN XCT INSTRUCTION. + 8467 ;IN THIS CASE, C(AC)=230703,,603700 AND E=2. + 8468 ;HENCE, THE NET ROTATION SHOULD BE 2 BIT POSITIONS LEFT, + 8469 ;AND THE RESULT IN THE AC SHOULD BE 143417,,017401. + 8470 + 8471 036376 200 07 0 00 036635 E70500: MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + 8472 036377 256 00 0 00 036673 XCT [ROT AC,2] ;*XCT SHOULD ROT C(AC) 2 BIT POSITIONS LEFT + 8473 036400 312 07 0 00 036646 CAME AC,[143417,,017401] ;IS RESULT IN AC CORRECT? + 8474 036401 003 07 0 00 070501 ER3 AC,70501 ;XCT OF ROT FAILED + 8475 036402 321 11 0 00 036376 JUMPL AC+2,E70500 ;LOOP ON ERROR SWITCH + 8476 + 8477 036403 254 00 0 00 030057 JRST BEGEND ;REPEAT DIAGNOSTIC +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 1 +UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0215 + + 8478 SUBTTL *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 + 8479 + 8480 ;THIS SUBROUTINE PROVIDES ERROR REPORTING THRU THE USE OF UUO'S. + 8481 + 8482 036404 202 00 0 00 037012 ERRMES: MOVEM 0,%ERAC0# ;SAVE AC0 + 8483 IFDEF EXCASB,> + 8490 036405 202 01 0 00 037013 MOVEM 1,%ERAC1# ;SAVE AC1 + 8491 036406 202 02 0 00 037014 MOVEM 2,%ERAC2# ;SAVE AC2 + 8492 036407 350 00 0 00 030053 AOS ERRTLS ;INCREMENT ERROR TOTALS + 8493 036410 550 00 0 00 030114 HRRZ 0,$SVUPC ;GET PC OF UUO + 8494 036411 316 00 0 00 030052 CAMN 0,ERRPC ;PC = PC OF LAST ERROR ? + 8495 036412 350 00 0 00 037007 AOS MICNT# ;YES, ADD 1 TO ERROR COUNT + 8496 036413 200 00 0 00 037007 MOVE 0,MICNT + 8497 036414 504 00 0 00 030114 HRL 0,$SVUPC + 8498 036415 336 00 0 00 030041 SKIPN KLFLG ;NOT KL10 + 8499 036416 332 00 0 00 030037 SKIPE USER ;AND NOT USER? + 8500 036417 254 00 0 00 036421 JRST .+2 + 8501 036420 7 004 14 0 00 000000 DATAO PI,0 ;YES, DISPLAY ERROR PC,ERROR COUNT + 8502 036421 402 00 0 00 037010 SETZM PROCED# ;CLEAR PROCEED FLAG + 8503 036422 037 10 0 00 000002 SWITCH + 8504 036423 603 00 0 00 040000 TLNE NOPNT ;PRINTOUT ? + 8505 036424 254 00 0 00 036537 JRST %ERRS1 ;NO, RESTORE AC'S AND RETURN + 8506 036425 200 01 0 00 030113 MOVE 1,$SVUUO + 8507 036426 242 01 0 00 777745 LSH 1,-^D27 + 8508 036427 202 01 0 00 037011 MOVEM 1,%ACS1A# ;SAVE UUO NUMBER + 8509 036430 200 00 0 00 037012 MOVE 0,%ERAC0 + 8510 036431 200 01 0 00 037013 MOVE 1,%ERAC1 + 8511 036432 335 00 1 00 037006 SKIPGE @ERRLOP ;ERR LOOP AC > OR = 0 ? + 8512 036433 254 00 0 00 036571 JRST %ERRS4 ;NO, SEE IF PRINT ALL + 8513 036434 402 00 0 00 037007 %ERMS1: SETZM MICNT ;CLEAR ERROR COUNT + 8514 036435 331 00 0 00 030043 SKIPL MONCTL ;DIAG MON OR SYS EXER ? + 8515 036436 254 00 0 00 036442 JRST .+4 ;NO, DON'T NEED TITLE + 8516 036437 336 00 0 00 037015 SKIPN %ERFST# ;FIRST ERROR ? + 8517 036440 037 04 0 00 000002 PNTNM ;YES, PRINT PROGRAM TITLE + 8518 036441 476 00 0 00 037015 SETOM %ERFST + 8519 036442 336 00 0 00 030047 SKIPN PASCNT ;FIRST PASS ? + 8520 036443 254 00 0 00 036447 JRST .+4 ;YES + 8521 PMSG <^TEST PASS COUNT = >^ + 8522 036444 037 02 0 00 036674 PSIXM [SIXBIT\^TEST PASS COUNT = _\]^ + 8523 036445 200 00 0 00 030047 MOVE PASCNT + 8524 036446 037 15 0 00 000000 PNTDEC + 8525 PMSG <^PC = >^ + 8526 036447 037 02 0 00 036700 PSIXM [SIXBIT\^PC = _\]^ + 8527 036450 550 00 0 00 030114 HRRZ 0,$SVUPC ;GET PC OF UUO + 8528 036451 202 00 0 00 030052 MOVEM 0,ERRPC ;SAVE FOR COMPARE + 8529 036452 037 06 0 00 000000 PNT6 ;PRINT UUO ADDRESS + 8530 XLIST + 8531 IFDEF ERDIAG,^ + 8537 036453 037 02 0 00 036702 PSIXM [SIXBIT\^RESULT = _\]^ + 8538 036454 200 01 0 00 030113 MOVE 1,$SVUUO ;GET AC # OF UUO + 8539 036455 242 01 0 00 777751 LSH 1,-27 + 8540 036456 405 01 0 00 000017 ANDI 1,17 + 8541 036457 200 00 0 01 000000 MOVE 0,(1) ;GET C(AC) + 8542 036460 307 01 0 00 000001 CAIG 1,1 ;IS AC # = TO SAVE AC ? + 8543 036461 200 00 0 01 037012 MOVE 0,%ERAC0(1) ;YES, GET SAVED AC + 8544 036462 037 13 0 00 000000 PNTHW ;PRINT C(AC) + 8545 + 8546 036463 200 00 0 00 030046 MOVE CONSW + 8547 036464 603 00 0 00 000200 TLNE TXTINH ;PRINT FAILURE DES AND FLT NBR ? + 8548 036465 254 00 0 00 036534 JRST %ERMORE ;NO, RESTORE AC'S ETC. + 8549 + 8550 ;PRINT FAILURE DESCRIPTOR + 8551 + 8552 036466 200 01 0 00 037011 MOVE 1,%ACS1A ;GET UUO NUMBER + 8553 036467 307 01 0 00 000001 CAIG 1,1 ;PRINT DESCRIPTOR ? + 8554 036470 254 00 0 00 036474 JRST %ERMS3 ;NO, JUST PRINT FAULT NUMBER + 8555 036471 037 00 0 00 030242 PCRL + 8556 036472 200 00 0 01 036520 MOVE %FLTTB(1) + 8557 036473 037 17 0 00 000000 PNTAL ;PRINT FAULT DESCRIPTOR + 8558 + 8559 ;PRINT FAULT NUMBER + 8560 + 8561 036474 %ERMS3: PMSG <^FAULT NUMBER = >^ + 8562 036474 037 02 0 00 036704 PSIXM [SIXBIT\^FAULT NUMBER = _\]^ + 8563 036475 201 00 0 00 036517 MOVEI TLET + 8564 036476 037 00 0 00 000000 PNTA ;PRINT TEST LETTER +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 3 +UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0217 + + 8565 + 8566 036477 550 00 0 00 030113 HRRZ $SVUUO + 8567 036500 602 00 0 00 700000 TRNE 700000 + 8568 036501 254 00 0 00 036515 JRST %ER6X + 8569 036502 602 00 0 00 070000 TRNE 070000 + 8570 036503 254 00 0 00 036513 JRST %ER5X + 8571 036504 602 00 0 00 007000 TRNE 007000 + 8572 036505 254 00 0 00 036511 JRST %ER4X + 8573 036506 037 03 0 00 000000 PNT3 ;PRINT FAULT NUMBER + 8574 036507 037 00 0 00 030242 %ER7X: PCRL + 8575 036510 254 00 0 00 036534 JRST %ERMORE + 8576 + 8577 036511 037 04 0 00 000000 %ER4X: PNT4 + 8578 036512 254 00 0 00 036507 JRST %ER7X + 8579 036513 037 05 0 00 000000 %ER5X: PNT5 + 8580 036514 254 00 0 00 036507 JRST %ER7X + 8581 036515 037 06 0 00 000000 %ER6X: PNT6 + 8582 036516 254 00 0 00 036507 JRST %ER7X + 8583 + 8584 ;FAILURE DESCRIPTORS + 8585 + 8586 036517 000000 000000 TLET: 0 ;TEST LETTER + 8587 036520 000000 000000 %FLTTB: 0 ;DESCRIPTOR TABLE + 8588 036521 000000 036600 %NODES: [0] ;NO DESCRIPTOR + 8589 036522 000000 036600 SPDES: [0] ;SPECIAL USER FAILURE DESCRIPTOR + 8590 036523 000000 036707 $ACF: [ASCIZ/C(AC) FAILED/] + 8591 036524 000000 036712 %AC1F: [ASCIZ/C(AC+1) FAILED/] + 8592 036525 000000 036715 %EF: [ASCIZ/C(E) FAILED/] + 8593 036526 000000 036720 %E1F: [ASCIZ/C(E+1) FAILED/] + 8594 036527 000000 036723 %ARF: [ASCIZ/C(C(ACR)) FAILED/] + 8595 036530 000000 036727 %AR1F: [ASCIZ/C(C(ACR+1)) FAILED/] + 8596 036531 000000 036733 %ALF: [ASCIZ/C(C(ACL)) FAILED/] + 8597 036532 000000 036737 %EEF: [ASCIZ/C(C(E)) FAILED/] + 8598 036533 000000 036742 %FF: [ASCIZ/FLAG FAILED/] + 8599 > + 8600 XLIST + 8601 LIST +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 8 +UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0218 + + 8602 ;RESTORE AC'S AND RETURN OR HALT + 8603 + 8604 036534 256 00 0 00 030101 %ERMORE:XCT ERMORE + 8605 036535 037 16 0 00 000002 PNTMGN ;PRINT MARGINS + 8606 036536 037 10 0 00 000002 SWITCH + 8607 + 8608 036537 037 07 0 00 000003 %ERRS1: TTALTM ;ALTMODE CHECK + 8609 036540 254 00 0 00 036544 JRST .+4 ;NONE + 8610 036541 201 00 0 00 036544 MOVEI .+3 ;SAVE CONT ADDRESS + 8611 036542 202 00 0 00 000130 MOVEM JOBOPC + 8612 036543 254 00 1 00 030063 JRST @ALTMGO ;PERFORM TRANSFER + 8613 036544 200 00 0 00 030046 MOVE CONSW + 8614 036545 603 00 0 00 002000 TLNE 0,ERSTOP ;HALT ON ERROR SWITCH SET ? + 8615 036546 037 14 0 00 000004 ERRHLT ;YES + 8616 036547 607 00 0 00 004000 TLNN 0,LOOPER ;LOOP ON ERROR SWITCH SET ? + 8617 036550 476 00 0 00 037010 SETOM PROCED ;NO, SET THE PROCEED FLAG + 8618 036551 603 00 0 00 010000 TLNE 0,DING ;RING BELL SWITCH SET ? + 8619 036552 037 01 0 00 000007 PBELL ;YES, GO RING BELL + 8620 + 8621 036553 200 02 0 00 037014 %ERRS2: MOVE 2,%ERAC2 ;RESTORE AC'S + 8622 036554 200 01 0 00 037013 MOVE 1,%ERAC1 + 8623 036555 476 00 1 00 037006 SETOM @ERRLOP ;SET C(ERR LOOP AC) TO -1 + 8624 036556 336 00 0 00 037010 SKIPN PROCED ;LOOP ON ERROR ? + 8625 036557 254 00 0 00 036567 JRST %ERRS5 ;YES + 8626 036560 350 00 1 00 037006 AOS @ERRLOP ;NO, INC C(ERR LOOP AC) + 8627 036561 350 00 1 00 037006 AOS @ERRLOP ;SO IT ='S 1 + 8628 036562 331 00 0 00 030043 SKIPL MONCTL ;UNDER DIAGNOSTIC MONITOR ? + 8629 036563 254 00 0 00 036567 JRST %ERRS5 ;NO, CONTINUE PROGRAM + 8630 036564 200 00 0 00 030053 MOVE 0,ERRTLS ;YES + 8631 036565 301 00 0 00 000005 CAIL 0,5 ;PRINTED ALLOWED ERRORS ? + 8632 036566 254 00 0 00 030061 JRST $BEND2 + 8633 + 8634 036567 200 00 0 00 037012 %ERRS5: MOVE 0,%ERAC0 ;NO, CONTINUE PROGRAM + 8635 IFDEF EXCASB,> + 8642 036570 254 00 0 00 030065 JRST UUOEXT + 8643 + 8644 036571 200 00 0 00 030046 %ERRS4: MOVE 0,CONSW + 8645 036572 607 00 0 00 001000 TLNN PALERS ;PRINT ALL ERRORS ? + 8646 036573 254 00 0 00 036537 JRST %ERRS1 ;NO + 8647 036574 254 00 0 00 036434 JRST %ERMS1 ;YES +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 1 +STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0219 + + 8648 SUBTTL *STOR* RESERVED STORAGE, JAN 18,1977 + 8649 + 8650 ;PROGRAM LITERALS + 8651 + 8652 XLIST + 8653 IFNDEF $LPAPER, + 8654 036575 LIT + 8655 036575 101 112 000 000 000 + 8656 036576 777777 777777 + 8657 036577 777777 777776 + 8658 036600 000000 000000 + 8659 036601 000000 000001 + 8660 036602 000000 000002 + 8661 036603 777777 777774 + 8662 036604 100000 000000 + 8663 036605 200000 000000 + 8664 036606 677777 777777 + 8665 036607 577777 777776 + 8666 036610 400000 000000 + 8667 036611 577777 777777 + 8668 036612 377777 777776 + 8669 036613 377777 777777 + 8670 036614 777777 777775 + 8671 036615 177777 777777 + 8672 036616 000000 000004 + 8673 036617 777777 777773 + 8674 036620 377777 777775 + 8675 036621 000000 000010 + 8676 036622 777777 777767 + 8677 036623 177777 777775 + 8678 036624 177777 777776 + 8679 036625 600000 000000 + 8680 036626 700000 000000 + 8681 036627 077777 777777 + 8682 036630 252525 252525 + 8683 036631 741703 607417 + 8684 036632 525252 525252 + 8685 036633 146314 631463 + 8686 036634 631463 146314 + 8687 036635 230703 603700 + 8688 036636 700230 703603 + 8689 036637 740114 341701 + 8690 036640 370023 070360 + 8691 036641 017401 143417 + 8692 036642 036037 002307 + 8693 036643 011434 170174 + 8694 036644 600461 607407 + 8695 036645 461607 407600 + 8696 036646 143417 017401 + 8697 036647 307036 037002 + 8698 036650 434170 174011 + 8699 036651 703603 700230 + 8700 036652 701740 114341 + 8701 036653 023070 360370 + 8702 036654 401143 417017 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 1-1 +STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0220 + + 8703 036655 114341 701740 + 8704 036656 770037 600377 + 8705 036657 374017 700177 + 8706 036660 514341 701740 + 8707 036661 760077 400776 + 8708 036662 461607 407601 + 8709 036663 700376 003772 + 8710 036664 307036 037007 + 8711 036665 077003 760037 + 8712 036666 723070 360370 + 8713 036667 037401 770017 + 8714 036670 751434 170174 + 8715 036671 616074 076004 + 8716 036672 407600 461607 + 8717 036673 241 07 0 00 000002 + 8718 036674 76 64 45 63 64 00 + 8719 036675 60 41 63 63 00 43 + 8720 036676 57 65 56 64 00 35 + 8721 036677 00 77 00 00 00 00 + 8722 036700 76 60 43 00 35 00 + 8723 036701 00 00 77 00 00 00 + 8724 036702 76 62 45 63 65 54 + 8725 036703 64 00 00 35 00 77 + 8726 036704 76 46 41 65 54 64 + 8727 036705 00 56 65 55 42 45 + 8728 036706 62 00 35 00 77 00 + 8729 036707 103 050 101 103 051 + 8730 036710 040 106 101 111 114 + 8731 036711 105 104 000 000 000 + 8732 036712 103 050 101 103 053 + 8733 036713 061 051 040 106 101 + 8734 036714 111 114 105 104 000 + 8735 036715 103 050 105 051 040 + 8736 036716 106 101 111 114 105 + 8737 036717 104 000 000 000 000 + 8738 036720 103 050 105 053 061 + 8739 036721 051 040 106 101 111 + 8740 036722 114 105 104 000 000 + 8741 036723 103 050 103 050 101 + 8742 036724 103 122 051 051 040 + 8743 036725 106 101 111 114 105 + 8744 036726 104 000 000 000 000 + 8745 036727 103 050 103 050 101 + 8746 036730 103 122 053 061 051 + 8747 036731 051 040 106 101 111 + 8748 036732 114 105 104 000 000 + 8749 036733 103 050 103 050 101 + 8750 036734 103 114 051 051 040 + 8751 036735 106 101 111 114 105 + 8752 036736 104 000 000 000 000 + 8753 036737 103 050 103 050 105 + 8754 036740 051 051 040 106 101 + 8755 036741 111 114 105 104 000 + 8756 036742 106 114 101 107 040 + 8757 036743 106 101 111 114 105 +DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) 0,2 MACRO %52(537) 10:59 20-JAN-77 PAGE 1-2 +STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0221 + + 8758 036744 104 000 000 000 000 + 8759 LIST + 8760 036745 000000 000000 ENDSLD: 0 + 8761 + 8762 IFDEF DEBUG,< + 8763 036746 PATCH: BLOCK DEBUG ;PATCHING AREA + 8764 > + 8765 + 8766 ;PROGRAM VARIABLES + 8767 037006 VAR + 8768 + 8769 IFDEF PGMEND,< + 8770 037016 000000 000000 END: 0 + 8771 030000 END BEGIN > + +NO ERRORS DETECTED + +PROGRAM BREAK IS 000000 +ABSLUTE BREAK IS 037017 +CPU TIME USED 00:41.233 + +12K CORE USED diff --git a/apps/pdp10/diags/klad/dakaj/DAKAJ.MAC.txt b/apps/pdp10/diags/klad/dakaj/DAKAJ.MAC.txt new file mode 100644 index 000000000..e7477799c --- /dev/null +++ b/apps/pdp10/diags/klad/dakaj/DAKAJ.MAC.txt @@ -0,0 +1,1869 @@ +;DAKAJ + + + MCNVER==0 + DECVER==2 + + XLIST +DEFINE NAME (MCNVER,DECVER)< + +TITLE DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) MCNVER,DECVER +> + LIST + LALL + + NAME \MCNVER,\DECVER + +;(LOGICAL SHIFT, ROTATE, ARITHMETIC SHIFT; SINGLE AND COMBINED) + +;COPYRIGHT 1975,1977 +;DIGITAL EQUIPMENT CORPORATION +;MARLBORO, MASS. 01752 + +;JOHN R. KIRCHOFF + + LOC 137 + MCNVER,,DECVER + + NOSYM +SUBTTL DIAGNOSTIC PARAMETERS + +;OPERATOR DEFINITIONS + +OPDEF ER1 [1B8] +OPDEF ER2 [2B8] +OPDEF ER3 [3B8] +OPDEF ER4 [4B8] +OPDEF ER5 [5B8] +OPDEF ER6 [6B8] +OPDEF ER7 [7B8] +OPDEF ER10 [10B8] +OPDEF ER11 [11B8] +OPDEF ER12 [12B8] +OPDEF ER13 [13B8] + +;LUUO1=ERRMES +;LUUO2=ERRMES +;LUUO3=ERRMES +;LUUO4=ERRMES +;LUUO5=ERRMES +;LUUO6=ERRMES +;LUUO7=ERRMES +;LUUO10=ERRMES +;LUUO11=ERRMES +;LUUO12=ERRMES +;LUUO13=ERRMES +;SUBROUTINE ASSEMBLY DEFINITIONS + +DEBUG=40 +EXCASB=1 +USRASB=1 +KA10=1 +KL10=1 +KL10P0=1 +PGMEND=1 +ERDIAG=1 + +;SPECIAL FEATURE PARAMETERS + +;SADR1=START +;SADR2=START +;SADR3=START +;SADR4=START +;SADR5=JRST START +;SADR6=JRST START +;SADR7=JRST START +;SADR8=JRST START +;SADR9=JRST START +;SADR10=JRST START +;SADR11=JRST START + +PAREA0=0 +PAREA1=0 +PAREA2=0 +PAREA3=SIXBIT/DAKAJ/ +PAREA4=SIXBIT/TMP/ +PAREA5=0 +PAREA6=0 +ITERAT==1000 + +;MACROS + +DEFINE SAVEAC (A,B)< + MOVEI AC+2,. ;SETUP TESTPC + MOVEM AC+2,TESTPC + MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION> + +DEFINE SETACS (WW,XX)< + MOVEI AC-1,WW ;SETUP AC-1 + HRLI AC-1,WW ;FOR COMPARISION + MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + MOVEI AC,XX ;SETUP AC RIGHT + HRLI AC,XX ;SETUP AC LEFT + MOVEM AC,&17 ;SETUP AC2> +;USER DEFINED MACROS + +DEFINE SR1 (T,D1A,D1B,R1A,R1B,OP,S)< +;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD D1A,D1B] S BIT +;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD R1A,R1B] +;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + +E'T'00: MOVE AC,[XWD D1A,D1B] ;INITIALIZE AC + MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + OP AC,S ;*SHIFT/ROTATE S BIT POSITIONS + CAME AC,[XWD R1A,R1B] ;IS RESULT IN AC CORRECT? + ER3 AC,T'01 ;RESULT IN AC IS INCORRECT + CAME AC+1,[XWD 741703,607417] + ER4 AC+1,T'01 ;C(AC+1) WAS MODIFIED INCORRECTLY + JUMPL AC+2,E'T'00 ;LOOP ON ERROR SWITCH> + + +DEFINE SR2 (T,D1A,D1B,D2A,D2B,R1A,R1B,R2A,R2B,OP,S)< +;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE +;DATA SPECIFIED IN [XWD D1A,D1B] AND [XWD D2A,D2B] S BIT POSITIONS AND +;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD R1A,R1B] AND +;[XWD R2A,R2B] + +E'T'00: MOVE AC,[XWD D1A,D1B] ;INITIALIZE AC + MOVE AC+1,[XWD D2A,D2B] ;INITIALIZE AC+1 + OP AC,S ;*SHIFT/ROTATE COMBINED S PLACES + CAME AC,[XWD R1A,R1B] ;IS RESULT IN AC CORRECT? + ER3 AC,T'01 ;RESULT IN AC IS INCORRECT + CAME AC+1,[XWD R2A,R2B] ;IS RESULT IN AC+1 CORRECT? + ER4 AC+1,T'01 ;RESULT IN AC+1 IS INCORRECT + JUMPL AC+2,E'T'00 ;LOOP ON ERROR SWITCH> + +SUBTTL DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) + +EXIT: ;DROPDV ;CLOSE LOGICAL OUTPUT FILE + ;EXIT + +PGMNAM: ASCIZ/ +PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC #10 SHIFT-ROTATE [DAKAJ] +/ + +TESTPC: 0 ;SUBTEST PC + + LOC 30624 + +START: ;PGMINT + ;MOVE [ASCIZ/AJ/] + ;MOVEM TLET + +STARTA: JRST E00 ;GO PERFORM DIAGNOSTIC + AC=1 +E00: SAVEAC (1,1) + +;END CONNECTIONS-LSHC +;TEST AR-MQ END BIT INPUT GATES +;TEST LEFT-AR0,1,34,35 SHLT INP GATES +; MQ0,1,34,35 SHLT INP GATES +;TEST RIGHT-AR0,1,34,35 SHRT INP GATES +; MQ0,1,34,35 SHRT INPUT GATES +;AC,AC+1 ARE LOGICALLY SHIFTED LEFT/RIGHT AND +;END BITS ARE TESTED +;TEST ASSUMES BOTH REGISTERS ARE +;CAPABLE OF SHIFTING 1,-1 AND -2 BIT POSITIONS CORRECTLY +;INPUT GATES PREVIOUSLY TESTED ARE AGAIN +;TESTED HERE +;AN ERROR IS MOST LIKELY DUE TO FAILURE +;OF LSHC TO BRING UP ENABLING LEVEL + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHLT INP-ZERO'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (243,-1,-1,-1,-1,-1,-1,-1,-2,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHLT INP-ONE'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (244,0,0,0,1,0,0,0,2,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHLT INP-ZERO'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (245,-1,-1,-1,-2,-1,-1,-1,-4,LSHC,1) +PAGE +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHLT INP-ONE'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (246,0,0,100000,0,0,0,200000,0,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHLT INP-ZERO'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (247,-1,-1,677777,-1,-1,-1,577777,-2,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHLT INP-ONE'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (250,0,0,200000,0,0,0,400000,0,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHLT INP-ZERO'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (251,-1,-1,577777,-1,-1,-1,377777,-2,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHLT INP-ONE'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (252,0,0,400000,0,0,1,0,0,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHLT INP-ZERO'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (253,-1,-1,377777,-1,-1,-2,-1,-2,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR34 SHLT INP-ONE'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (254,0,1,0,0,0,2,0,0,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR34 SHLT INP-ZERO'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (255,-1,-2,-1,-1,-1,-3,-1,-2,LSHC,1) +PAGE +;SHIFT CONNECTIONS TEST +;TEST AR1 SHLT INP-ONE'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (256,100000,0,0,0,200000,0,0,0,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHLT INP-ZERO'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (257,677777,-1,-1,-1,577777,-1,-1,-2,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHLT INP-ONE'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (260,200000,0,0,0,400000,0,0,0,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHLT INP-ZERO'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (261,577777,-1,-1,-1,377777,-1,-1,-2,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHRT INP-ZERO'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (262,-1,-1,-1,-1,377777,-1,-1,-1,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHRT INP-ONE'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (263,400000,0,0,0,200000,0,0,0,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHRT INP-ZERO'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (264,377777,-1,-1,-1,177777,-1,-1,-1,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR34 SHRT INP-ONE'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (265,0,4,0,0,0,2,0,0,LSHC,-1) +PAGE +;SHIFT CONNECTIONS TEST +;TEST AR34 SHRT INP-ZERO'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (266,-1,-5,-1,-1,377777,-3,-1,-1,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHRT INP-ONE'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (267,0,2,0,0,0,1,0,0,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHRT INP-ZERO'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (270,-1,-3,-1,-1,377777,-2,-1,-1,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHRT INP-ONE'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (271,0,1,0,0,0,0,400000,0,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHRT INP-ZERO'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (272,-1,-2,-1,-1,377777,-1,377777,-1,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHRT INP-ONE'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (273,0,0,400000,0,0,0,200000,0,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHRT INP-ZERO'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (274,-1,-1,377777,-1,377777,-1,577777,-1,LSHC,-1) +PAGE +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHRT INP-ONE'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (275,0,0,0,4,0,0,0,2,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHRT INP-ZERO'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (276,-1,-1,-1,-5,377777,-1,-1,-3,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHRT INP-ONE'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (277,0,0,0,2,0,0,0,1,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHRT INP-ZERO'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (300,-1,-1,-1,-3,377777,-1,-1,-2,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHRT INP-ZERO'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (301,-1,-1,-1,-1,177777,-1,-1,-1,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHRT INP-ZERO'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (302,-1,-1,-1,-1,177777,-1,-1,-1,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR34 SHRT INP-ONE'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (303,0,10,0,0,0,2,0,0,LSHC,-2) +PAGE +;SHIFT CONNECTIONS TEST +;TEST AR34 SHRT INP-ZERO'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (304,-1,-11,-1,-1,177777,-3,-1,-1,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHRT INP-ONE'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (305,0,4,0,0,0,1,0,0,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHRT INP-ZERO'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (306,-1,-5,-1,-1,177777,-2,-1,-1,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHRT INP-ONE'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (307,0,2,0,0,0,0,400000,0,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHRT INP-ZERO'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (310,-1,-3,-1,-1,177777,-1,377777,-1,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHRT INP-ONE'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (311,0,1,0,0,0,0,200000,0,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHRT INP-ZERO'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (312,-1,-2,-1,-1,177777,-1,577777,-1,LSHC,-2) +PAGE +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHRT INP-ONE'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (313,0,0,0,10,0,0,0,2,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHRT INP-ZERO'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (314,-1,-1,-1,-11,177777,-1,-1,-3,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHRT INP-ONE'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (315,0,0,0,4,0,0,0,1,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHRT INP-ZERO'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (316,-1,-1,-1,-5,177777,-1,-1,-2,LSHC,-2) + +SUBTTL DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) + +;END CONNECTIONS-ASHC +;TEST AR-MQ END BIT INPUT GATES +;TEST LEFT-AR0,1,34,35 SHLT INP GATES +; MQ0,1,34,35 SHLT INP GATES +;TEST RIGHT-AR0,1,34,35 SHRT INP GATES +; MQ0,1,34,35 SHRT INPUT GATES +;AC,AC+1 ARE ARITHMETICALLY SHIFTED LEFT/RIGHT AND +;END BITS ARE TESTED +;TEST ASSUMES BOTH REGISTERS ARE +;CAPABLE OF SHIFTING 1,-1 AND -2 BIT POSITIONS CORRECTLY + +;GATES PREVIOUSLY TESTED,ARE AGAIN TESTED +;ERRORS MOST LIKELY DUE TO FAILURE OF +;ASHC TO BRING UP ENABLING LEVELS + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHLT INP-ZERO'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (317,-1,-1,-1,-1,-1,-1,-1,-2,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHLT INP-ONE'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (320,0,0,0,1,0,0,0,2,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHLT INP-ZERO'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (321,-1,-1,-1,-2,-1,-1,-1,-4,ASHC,1) +PAGE +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHLT INP-ONE'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (322,0,0,100000,0,0,0,200000,0,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHLT INP-ZERO'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (323,-1,-1,677777,-1,-1,-1,577777,-2,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHLT INP-ONE'S - ASHC AC,1 +;RESULT IN MQ0 SHOULD AGREE WITH INITIAL AR0 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (324,400000,0,0,0,400000,0,400000,0,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHLT INP-ZERO'S - ASHC AC,1 +;RESULT IN MQ0 SHOULD AGREE WITH INITIAL AR0 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (325,377777,-1,-1,-1,377777,-1,377777,-2,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHLT INP-ONE'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (326,0,0,200000,0,0,1,0,0,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHLT INP-ZERO'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (327,-1,-1,577777,-1,-1,-2,-1,-2,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR34 SHLT INP-ONE'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (330,0,1,0,0,0,2,0,0,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR34 SHLT INP-ZERO'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (331,-1,-2,-1,-1,-1,-3,-1,-2,ASHC,1) +PAGE +;SHIFT CONNECTIONS TEST +;TEST AR1 SHLT INP-ONE'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (332,100000,0,0,0,200000,0,0,0,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHLT INP-ZERO'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (333,677777,-1,-1,-1,577777,-1,-1,-2,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHLT INP-ONE'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (334,400000,0,400000,0,400000,0,400000,0,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHLT INP-ZERO'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (335,377777,-1,377777,-1,377777,-1,377777,-2,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHRT INP-ONE'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (336,400000,0,400000,0,600000,0,400000,0,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHRT INP-ZERO'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (337,377777,-1,377777,-1,177777,-1,377777,-1,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHRT INP-ONE'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (340,400000,0,400000,0,600000,0,400000,0,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHRT INP-ZERO'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (341,377777,-1,377777,-1,177777,-1,377777,-1,ASHC,-1) +PAGE +;SHIFT CONNECTIONS TEST +;TEST AR34 SHRT INP-ONE'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (342,0,4,0,0,0,2,0,0,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR34 SHRT INP-ZERO'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (343,-1,-5,-1,-1,-1,-3,-1,-1,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHRT INP-ONE'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (344,0,2,0,0,0,1,0,0,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHRT INP-ZERO'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (345,-1,-3,-1,-1,-1,-2,-1,-1,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHRT INP-ONE'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (346,400000,0,0,0,600000,0,400000,0,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHRT INP-ZERO'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (347,377777,-1,-1,-1,177777,-1,377777,-1,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHRT INP-ONE'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (350,0,1,0,0,0,0,200000,0,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHRT INP-ZERO'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (351,-1,-2,-1,-1,-1,-1,577777,-1,ASHC,-1) +PAGE +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHRT INP-ONE'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (352,0,0,0,4,0,0,0,2,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHRT INP-ZERO'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (353,-1,-1,-1,-5,-1,-1,-1,-3,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHRT INP-ONE'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (354,0,0,0,2,0,0,0,1,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHRT INP-ZERO'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (355,-1,-1,-1,-3,-1,-1,-1,-2,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHRT INP-ONE'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (356,400000,0,400000,0,700000,0,400000,0,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHRT INP-ZERO'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (357,377777,-1,377777,-1,077777,-1,377777,-1,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHRT INP-ONE'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (360,400000,0,400000,0,700000,0,400000,0,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHRT INP-ZERO'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (361,377777,-1,377777,-1,077777,-1,377777,-1,ASHC,-2) +PAGE +;SHIFT CONNECTIONS TEST +;TEST AR34 SHRT INP-ONE'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (362,0,10,0,0,0,2,0,0,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR34 SHRT INP-ZERO'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (363,-1,-11,-1,-1,-1,-3,-1,-1,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHRT INP-ONE'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (364,0,4,0,0,0,1,0,0,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHRT INP-ZERO'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (365,-1,-5,-1,-1,-1,-2,-1,-1,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHRT INP-ONE'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (366,400000,0,0,0,700000,0,400000,0,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHRT INP-ZERO'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (367,377777,-1,-1,-1,077777,-1,377777,-1,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHRT INP-ONE'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (370,0,2,0,0,0,0,200000,0,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHRT INP-ZERO'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (371,-1,-3,-1,-1,-1,-1,577777,-1,ASHC,-2) +PAGE +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHRT INP-ONE'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (372,0,0,0,10,0,0,0,2,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHRT INP-ZERO'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (373,-1,-1,-1,-11,-1,-1,-1,-3,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHRT INP-ONE'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (374,0,0,0,4,0,0,0,1,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHRT INP-ZERO'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (375,-1,-1,-1,-5,-1,-1,-1,-2,ASHC,-2) +SUBTTL DIAGNOSTIC SECTION - BIT POSITION RELIABILITY TEST + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR1 (445,252525,252525,525252,525252,ROT,1) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR1 (446,525252,525252,252525,252525,ROT,1) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR1 (447,252525,252525,525252,525252,ROT,-1) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR1 (450,525252,525252,252525,252525,ROT,-1) +PAGE +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR1 (451,146314,631463,631463,146314,ROT,-2) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR1 (452,631463,146314,146314,631463,ROT,-2) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR2 (453,252525,252525,252525,252525,525252,525252,525252,525252,ROTC,1) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR2 (454,525252,525252,525252,525252,252525,252525,252525,252525,ROTC,1) +PAGE +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR2 (455,252525,252525,252525,252525,525252,525252,525252,525252,ROTC,-1) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR2 (456,525252,525252,525252,525252,252525,252525,252525,252525,ROTC,-1) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR2 (457,146314,631463,146314,631463,631463,146314,631463,146314,ROTC,-2) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR2 (460,631463,146314,631463,146314,146314,631463,146314,631463,ROTC,-2) +SUBTTL DIAGNOSTIC SECTION - SC GATING TEST + + AC=5 + SAVEAC (1,1) + +SN=37600 + ZZ=17 + + ;SHIFT LEFT +E37600: REPEAT ^D3,< +;TEST SC HIGH ORDER BITS +;TEST THE ABILITY TO SET THE FOUR MOST +;SIGNIFICANT BITS +;AC IS LOGICALLY SHIFTED LEFT +;AND TESTED +;FAILURE TO SET BIT 0 RESULTS IN NO SHIFT +;AN ERROR WILL OCCUR IF AC EQUALS ZERO +;FOLLOWING A SHIFT +;FAILURE TO SET SC BIT 1,2 OR +;3 WILL RESULT IN EXCESSIVE SHIFTING + +SN=SN+1 + ZZ=ZZ+1 + MOVEI AC,1 ;SET BIT 35 + LSH AC,ZZ ;*SHIFT LEFT (N) NUMBER OF TIMES + CAIN AC,1 ;TEST FOR SHIFT + ER3 AC,SN ;SC BIT 0 FAILED TO SET + SKIPN AC ;SHIFT EXCEEDED OCTAL 44 + ER3 AC,SN ;SC BIT (N) FAILED TO SET + JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH +> + +SUBTTL DIAGNOSTIC SECTION - SC AR CONTROL AND GATING TEST + +;TEST SC AR EN +;TEST THE ABILITY OF SC AR EN TO +;AFFECT A TRANSFER BETWEEN SC AND AR +;MALFUNCTION OF SCAD OR SC COUNT GATES +;WILL AFFECT TEST +;AC IS ROTATED LEFT/RIGHT AND TESTED FOR +;EVIDENCE OF ROTATE + + AC=7 + SAVEAC (1,1) + +E37700: MOVEI AC,1 ;SET BIT 35 + ROT AC,-5 ;*ROTATE RIGHT + ROT AC,7 ;*ROTATE LEFT + CAIN AC,1 ;TEST FOR PRESENCE + ER3 AC,37701 ;OF PULSE + JUMPL AC+2,E37700 ;LOOP ON ERROR SWITCH + + ;TEST PULSE WITH SC BITS 5-8 +E40000: MOVEI AC,1 ;SET BIT 35 + ROT AC,17 ;*ROTATE LEFT + CAIN AC,1 ;TEST FOR ROTATE LEFT + ER3 AC,40001 ;SC AR EN FAILED + JUMPL AC+2,E40000 ;LOOP ON ERROR SWITCH + + ;TEST PULSE WITH SC BITS 4-8 +E40100: MOVEI AC,1 ;SET BIT 35 + ROT AC,37 ;*ROTATE LEFT + CAIN AC,1 ;TEST FOR ROTATE LEFT + ER3 AC,40101 ;TEST FOR ROTATE LEFT + JUMPL AC+2,E40100 ;LOOP ON ERROR SWITCH + AC=6 + SAVEAC (1,1) + +SN=40200 + ZZ=0 + +E40200: REPEAT ^D8, < +;TEST SC-AR CONNECTION-ONE'S +;TEST THE ABILITY OF SC AR EN +;TO TRANSFER ONE'S TO SC +;SC BITS EIGHT THROUGH ONE ARE SET IN TURN +;MALFUNCTION OF SCAD OR SC COUNT GATES +;WILL AFFECT TEST +;FAILURE OF A SHIFT COUNTER BIT TO SET +;RESULTS IN NO ROTATE + +SN=SN+1 + ZZ=ZZ+ZZ + IFE ZZ, + MOVEI AC,1 ;SET BIT 35 + ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + CAIN AC,1 ;TEST FOR ROTATE + ER3 AC,SN ;SC BIT (N) FAILED TO SET + JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH +> + AC=5 + SAVEAC (1,1) + +SN=40300 + XX=0 + ZZ=-1 + +E40300: REPEAT ^D6, < +;TEST SC AR CONNETION-ZERO'S +;TEST THE ABILITY OF A SC BIT TO REMAIN +;A ZERO WHEN TRANSFERRING BR TO SC +;TEST DETECTS A SC F/F PERMENTLY SET TO A ONE +;TEST BY ROTATING RIGHT TWO,LEFT ONE +;MALFUNTION OF SCAD OR SC COUNT GATES +;WILL AFFECT TEST + +SN=SN+1 + XX=XX+XX + ZZ=ZZ+ZZ + IFE XX, + MOVEI AC,1 ;SET BIT 35 + ROT AC,ZZ ;*ROTATE RIGHT (N) NUMBER OF TIMES + ROT AC,XX ;*ROTATE LEFT (N) NUMBER OF TIMES + CAIN AC,1 ;TEST FOR ROTATE + ER3 AC,SN ;SC BIT (N) FAILED TO CLEAR + JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH +> +SUBTTL DIAGNOSTIC SECTION - SC-SCAD GATING TEST + +;TEST DIRECTION +;TEST THE ABILITY TO ROTATE IN THE +;SPECIFIED DIRECTION +;FAILURE OF AC TO ROTATE OR ROTATING IN THE +;WRONG DIRECTION WILL CAUSE AN ERROR +;MALFUNCTION OF SCAD OR SC COUNT GATES WILL +;CAUSE AN ERROR + + AC=4 + SAVEAC (1,1) + + ;TEST LEFT +E40400: MOVEI AC,400000 ;SET AC BIT 18 + MOVSI AC-1,-1 ;SET LEFT,CLEAR RIGHT + ROT AC,3 ;*ROTATE LEFT + TDNN AC,AC-1 ;TEST DIRECTION + ER3 AC,40401 ;FAILED OR WRONG DIRECTION + JUMPL AC+2,E40400 ;LOOP ON ERROR SWITCH + + ;TEST RIGHT +E40500: MOVSI AC,1 ;SET AC BIT 17 + MOVEI AC-1,-1 ;CLEAR LEFT,SET RIGHT + ROT AC,-3 ;*ROTATE RIGHT + TDNN AC,AC-1 ;TEST DIRECTION + ER3 AC,40501 ;FAILED OR WRONG DIRECTION + JUMPL AC+2,E40500 ;LOOP ON ERROR SWITCH + AC=3 + SAVEAC (1,1) + +SN=40600 + ZZ=0 + + ;TEST FOR NO ROTATE +E40600: REPEAT ^D8,< +;SCAD-SC NEGATE SET UP TEST +;TEST A BIT FAILING TO CLEAR ON COMPLEMENT +;TEST SC+1 ENABLE +;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE +;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS +;IN ROT LEFT ONE +;MALFUNCTION OF SCAD OR SC COUNT GATES +;WILL AFFECT TEST + +SN=SN+1 + ZZ=ZZ+ZZ + IFE ZZ, + MOVEI AC,1 ;SET BIT 35 + ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + CAIN AC,1 ;SC BIT (N) FAILED TO CLEAR + ER3 AC,SN ;ON NEGATE + JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH +> +PAGE +SN=40700 + ZZ=1 + + ;TEST FOR ROTATE LEFT ONE +E40700: REPEAT ^D7,< +;SCAD-SC NEGATE SET UP TEST +;TEST A BIT FAILING TO CLEAR ON COMPLEMENT +;TEST SC+1 ENABLE +;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE +;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS +;IN ROT LEFT ONE +;MALFUNCTION OF SCAD OR SC COUNT GATES +;WILL AFFECT TEST + +SN=SN+1 + ZZ=ZZ+ZZ + MOVEI AC,1 ;SET BIT 35 + ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + CAIN AC,2 ;SC BIT (N) FAILED TO CLEAR + ER3 AC,SN ;AND SC+1 FAILED + JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH +> + AC=2 + SAVEAC (1,1) + +SN=41000 + XX=1 + ZZ=0 + + ;ROTATE FROM 3 TO 17 TIMES +E41000: REPEAT ^D5,< +;SCAD SC COUNT TEST +;TEST THE ABILITY OF SCAD TO PROPERLY +;COUNT THE SHIFT COUNTER +;TEST SC-SCAD CONNECTION +;AC IS ROTATED FROM 3 THROUGH 105 TIMES +;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE +;THE CORRECT NUMBER OF BITS +;ROTATING TO THE LEFT EXERCISES MAXIMUM +;LOGIC + +SN=SN+1 + XX=XX*10 + ZZ=ZZ+3 + MOVEI AC,1 ;SET BIT 35 + ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + CAIE AC,XX ;TEST AC + ER3 AC,SN ;INCORRECT ROTATE + JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH +> +PAGE +SN=41100 + XX=0 + + ;ROTATE FROM 22 TO 41 TIMES +E41100: REPEAT ^D6,< +;SCAD SC COUNT TEST +;TEST THE ABILITY OF SCAD TO PROPERLY +;COUNT THE SHIFT COUNTER +;TEST SC-SCAD CONNECTION +;AC IS ROTATED FROM 3 THROUGH 105 TIMES +;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE +;THE CORRECT NUMBER OF BITS +;ROTATING TO THE LEFT EXERCISES MAXIMUM +;LOGIC + +SN=SN+1 + XX=XX*10 + ZZ=ZZ+3 + IFE XX, + MOVEI AC,1 ;SET BIT 35 + ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + MOVSS AC ;SWAP CONTENTS OF AC + CAIE AC,XX ;TEST AC + ER3 AC,SN ;INCORRECT ROTATE + JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH +> +SN=41200 + XX=0 + + ;ROTATE FROM 44 TO 36 TIMES +E41200: REPEAT ^D6,< +;SCAD SC COUNT TEST +;TEST THE ABILITY OF SCAD TO PROPERLY +;COUNT THE SHIFT COUNTER +;TEST SC-SCAD CONNECTION +;AC IS ROTATED FROM 3 THROUGH 105 TIMES +;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE +;THE CORRECT NUMBER OF BITS +;ROTATING TO THE LEFT EXERCISES MAXIMUM +;LOGIC + +SN=SN+1 + XX=XX*10 + ZZ=ZZ+3 + IFE XX, + MOVEI AC,1 ;SET BIT 35 + ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + CAIE AC,XX ;TEST AC + ER3 AC,SN ;INCORRECT ROTATE + JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH +> +PAGE +SN=41300 + XX=0 + + ;ROTATE FROM 66 TO 105 TIMES +E41300: REPEAT ^D6,< +;SCAD SC COUNT TEST +;TEST THE ABILITY OF SCAD TO PROPERLY +;COUNT THE SHIFT COUNTER +;TEST SC-SCAD CONNECTION +;AC IS ROTATED FROM 3 THROUGH 105 TIMES +;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE +;THE CORRECT NUMBER OF BITS +;ROTATING TO THE LEFT EXERCISES MAXIMUM +;LOGIC + +SN=SN+1 + XX=XX*10 + ZZ=ZZ+3 + IFE XX, + MOVEI AC,1 ;SET BIT 35 + ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + MOVSS AC ;SWAP CONTENTS OF AC + CAIE AC,XX ;TEST AC + ER3 AC,SN ;INCORRECT ROTATE + JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH +> +SUBTTL DIAGNOSTIC SECTION - SHIFT COUNTER RELIABILITY TEST + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (461,230703,603700,230703,603700,ROT,0) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (462,230703,603700,700230,703603,ROT,77) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (463,230703,603700,740114,341701,ROT,76) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (464,230703,603700,370023,070360,ROT,74) +PAGE +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (465,230703,603700,017401,143417,ROT,70) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (466,230703,603700,036037,002307,ROT,60) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (467,230703,603700,011434,170174,ROT,40) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (470,230703,603700,600461,607407,ROT,100) +PAGE +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (471,230703,603700,461607,407600,ROT,1) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (472,230703,603700,143417,017401,ROT,2) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (473,230703,603700,307036,037002,ROT,3) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (474,230703,603700,434170,174011,ROT,5) +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (475,230703,603700,703603,700230,ROT,11) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (476,230703,603700,701740,114341,ROT,21) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (477,230703,603700,023070,360370,ROT,41) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (500,230703,603700,401143,417017,ROT,101) +SUBTTL DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST + +ADR=501-3 +N=-374-44 + + REPEAT ^D15, < +ADR=ADR+3 +N=N+44 + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + SR1 (\ADR,230703,603700,114341,701740,ROT,N-1) + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + SR1 (\,230703,603700,230703,603700,ROT,N) + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + SR1 (\,230703,603700,461607,407600,ROT,N+1) +PAGE> +N=-374-44 + + REPEAT ^D1, < +ADR=ADR+3 +N=N+44 + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + SR2 (\ADR,230703,603700,770037,600377,374017,700177,514341,701740,ROTC,N-1) + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + SR2 (\,230703,603700,770037,600377,770037,600377,230703,603700,ROTC,N) + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + SR2 (\,230703,603700,770037,600377,760077,400776,461607,407601,ROTC,N+1) +PAGE> + REPEAT ^D7, < +ADR=ADR+3 +N=N+44 + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + SR2 (\ADR,230703,603700,770037,600377,514341,701740,374017,700177,ROTC,N-1) + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + SR2 (\,230703,603700,770037,600377,230703,603700,770037,600377,ROTC,N) + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + SR2 (\,230703,603700,770037,600377,461607,407601,760077,400776,ROTC,N+1) +PAGE +ADR=ADR+3 +N=N+44 + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + SR2 (\ADR,230703,603700,770037,600377,374017,700177,514341,701740,ROTC,N-1) + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + SR2 (\,230703,603700,770037,600377,770037,600377,230703,603700,ROTC,N) + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + SR2 (\,230703,603700,770037,600377,760077,400776,461607,407601,ROTC,N+1) +PAGE> +;SHIFT COUNTER TEST +;TEST FOR MAXIMUM LEFT ROTATION (255 POSITIONS) + SR1 (633,230703,603700,307036,037002,ROT,377) + +;SHIFT COUNTER TEST +;TEST FOR MAXIMUM RIGHT ROTATION -1 (255 POSITIONS) + SR1 (634,230703,603700,023070,360370,ROT,-377) + +;SHIFT COUNTER TEST +;TEST FOR MAXIMUM LEFT ROTATION (255 POSITIONS) + SR2 (635,230703,603700,770037,600377,700376,003772,307036,037007,ROTC,377) + +;SHIFT COUNTER TEST +;TEST FOR MAXIMUM RIGHT ROTATION -1 (255 POSITIONS) + SR2 (636,230703,603700,770037,600377,077003,760037,723070,360370,ROTC,-377) +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (637,230703,603700,230703,603700,ROT,400) + +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (640,230703,603700,230703,603700,ROT,1000) + +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (641,230703,603700,230703,603700,ROT,2000) + +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (642,230703,603700,230703,603700,ROT,4000) +PAGE +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (643,230703,603700,230703,603700,ROT,10000) + +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (644,230703,603700,230703,603700,ROT,20000) + +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (645,230703,603700,230703,603700,ROT,40000) + +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (646,230703,603700,230703,603700,ROT,100000) +PAGE +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (647,230703,603700,230703,603700,ROT,200000) + +;SHIFT COUNTER TEST +;TEST FOR MAXIMUM RIGHT ROTATION (256 POSITIONS) + SR1 (650,230703,603700,011434,170174,ROT,400000) + +;SHIFT COUNTER TEST +;TEST FOR MAXIMUM RIGHT ROTATION (256 POSITIONS) + SR2 (651,230703,603700,770037,600377,037401,770017,751434,170174,ROTC,400000) +SUBTTL DIAGNOSTIC SECTION - ACCUMULATOR ADDRESSING TEST + +;TEST ACCUMULATOR ADDRESSING +;TEST THE ABILITY OF ROTC,LSHC,ASHC +;TO ADDRESS THE CORRECT ACCUMULATORS +;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS +;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING +;LEFT ZERO TIMES +;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER +;FROM AC'S ADDRESSED BY INSTRUCTION +;THE NUMBER OF THE AC REFERENCED IN ERROR +;IS IN AC +;INADVERTENT SHIFTING OR PICKING UP OF +;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + + AC=-2 + ZZ=-2 + ;SET UP ACCUMULATOR'S + REPEAT ^D7,< + ZZ=ZZ+2 + AC=AC+2 + MOVEI AC,ZZ ;AC NUMBER TO AC + MOVEI AC+1,ZZ+1 ;AC NUMBER TO AC+1 +> +PAGE + AC=1 + SAVEAC (1,1) + +SN=41400 + AC=14 + ZZ=14 + + ;TEST ROTC-ACCUMULATOR'S 7-14 +E41400: REPEAT ^D5,< +;TEST ACCUMULATOR ADDRESSING +;TEST THE ABILITY OF ROTC,LSHC,ASHC +;TO ADDRESS THE CORRECT ACCUMULATORS +;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS +;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING +;LEFT ZERO TIMES +;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER +;FROM AC'S ADDRESSED BY INSTRUCTION +;THE NUMBER OF THE AC REFERENCED IN ERROR +;IS IN AC +;INADVERTENT SHIFTING OR PICKING UP OF +;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + +SN=SN+1 + ZZ=ZZ-1 + AC=AC-1 + ROTC AC,0 ;*ROTATE LEFT ZERO TIMES + CAIE AC,ZZ ;TEST FOR CORRECT AC + ER3 AC,SN ;INCORRECT AC + CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + ER4 AC,SN ;INCORRECT AC+1 + JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH +> + AC=11 + SAVEAC (1,1) + +SN=41500 + AC=12 + ZZ=12 + + ;TEST LSHC-ACCUMULATORS 5-12 +E41500: REPEAT ^D5,< +;TEST ACCUMULATOR ADDRESSING +;TEST THE ABILITY OF ROTC,LSHC,ASHC +;TO ADDRESS THE CORRECT ACCUMULATORS +;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS +;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING +;LEFT ZERO TIMES +;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER +;FROM AC'S ADDRESSED BY INSTRUCTION +;THE NUMBER OF THE AC REFERENCED IN ERROR +;IS IN AC +;INADVERTENT SHIFTING OR PICKING UP OF +;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + +SN=SN+1 + ZZ=ZZ-1 + AC=AC-1 + LSHC AC,0 ;*SHIFT LEFT ZERO TIMES + CAIE AC,ZZ ;TEST FOR CORRECT AC + ER3 AC,SN ;INCORRECT AC + CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + ER4 AC,SN ;INCORRECT AC+1 + JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH +> + + + AC=4 + SAVEAC (1,1) + +SN=41600 + AC=5 + ZZ=5 + + ;TEST ASHC-ACCUMULATORS 0-5 +E41600: REPEAT ^D5,< +;TEST ACCUMULATOR ADDRESSING +;TEST THE ABILITY OF ROTC,LSHC,ASHC +;TO ADDRESS THE CORRECT ACCUMULATORS +;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS +;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING +;LEFT ZERO TIMES +;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER +;FROM AC'S ADDRESSED BY INSTRUCTION +;THE NUMBER OF THE AC REFERENCED IN ERROR +;IS IN AC +;INADVERTENT SHIFTING OR PICKING UP OF +;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + +SN=SN+1 + ZZ=ZZ-1 + AC=AC-1 + ASHC AC,0 ;*SHIFT LEFT ZERO TIMES + CAIE AC,ZZ ;TEST FOR CORRECT AC + ER3 AC,SN ;INCORRECT AC + CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + ER4 AC+1,SN ;INCORRECT AC+1 + JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH +> +PAGE +; AC=17 +; SAVEAC (1,1) + +SN=41700 + + ;TEST ASHC-ACUMMULATORS 17-0 +E41700: REPEAT ^D0,< +;TEST ACCUMULATOR ADDRESSING +;TEST THE ABILITY OF ROTC,LSHC,ASHC +;TO ADDRESS THE CORRECT ACCUMULATORS +;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS +;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING +;LEFT ZERO TIMES +;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER +;FROM AC'S ADDRESSED BY INSTRUCTION +;THE NUMBER OF THE AC REFERENCED IN ERROR +;IS IN AC +;INADVERTENT SHIFTING OR PICKING UP OF +;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + +SN=SN+1 + ASHC AC,0 ;*SHIFT LEFT ZERO TIMES + CAIE AC,17 ;TEST FOR CORRECT AC + ER3 AC,SN ;INCORRECT AC + CAIE AC+1,0 ;TEST FOR CORRECT AC+1 + ER4 AC+1,SN ;INCORRECT AC+1 + JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH +> +SUBTTL DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST + + AC=12 + SAVEAC (1,1) + +SN=42000 + WW=030303 ;USED FOR COMPARISON + XX=030303 ;SELECTED PATTERN + ZZ=0 + + ;ROT LEFT (011)-TEST AC,AC+1 +E42000: REPEAT ^D4,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW+WW + ZZ=ZZ+1 + SETACS (WW,XX) ;SET UP ACCUMULATORS + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD =0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD =0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> +PAGE + AC=14 + SAVEAC (1,1) + +SN=42100 + WW=606060 ;USED FOR COMPARISON + XX=606060 ;SELECTED PATTERN + ZZ=0 + + ;ROT RIGHT (110)-TEST AC,AC+1 +E42100: REPEAT ^D4,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW/2 + ZZ=ZZ-1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD =0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD =0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> + AC=13 + SAVEAC (1,1) + +SN=42200 + WW=050505 ;USED FOR COMPARISON + XX=050505 ;SELECTED PATTERN + ZZ=0 + + ;ROT LEFT (101)-TEST AC,AC+1 +E42200: REPEAT ^D3,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW+WW + ZZ=ZZ+1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD = 0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD = 0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> +PAGE + AC=12 + SAVEAC (1,1) + +SN=42300 + WW=505050 ;USED FOR COMPARISON + XX=505050 ;SELECTED PATTERN + ZZ=0 + + ;ROT RIGHT (101)-TEST AC,AC+1 +E42300: REPEAT ^D3,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW/2 + ZZ=ZZ-1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD =0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD = 0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> + AC=11 + SAVEAC (1,1) + +SN=42400 + WW=070707 ;USED FOR COMPARISON + XX=070707 ;SELECTED PATTERN + ZZ=0 + + ;ROT LEFT (111)-TEST AC,AC+1 +E42400: REPEAT ^D3,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW+WW + ZZ=ZZ+1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD = 0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD = 0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> +PAGE + AC=10 + SAVEAC (1,1) + +SN=42500 + WW=707070 ;USED FOR COMPARISON + XX=707070 ;SELECTED PATTERN + ZZ=0 + + ;ROT RIGHT (111)-TEST AC,AC+1 +E42500: REPEAT ^D3,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW/2 + ZZ=ZZ-1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE + SKIPE &17 ;SHOULD = 0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD = 0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> + AC=7 + SAVEAC (1,1) + +SN=42600 + WW=025025 ;USED FOR COMPARISON + XX=025025 ;SELECTED PATTERN + ZZ=0 + + ;ROT LEFT (010101)-TEST AC,AC+1 +E42600: REPEAT ^D4,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW+WW + ZZ=ZZ+1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD = 0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD = 0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> +PAGE + AC=6 + SAVEAC (1,1) + +SN=42700 + WW=520520 ;USED FOR COMPARISON + XX=520520 ;SELECTED PATTERN + ZZ=0 + + ;ROT RIGHT (101010)-TEST AC,AC+1 +E42700: REPEAT ^D4,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW/2 + ZZ=ZZ-1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD = 0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD = 0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> + AC=5 + SAVEAC (1,1) + +SN=43000 + WW=033033 ;USED FOR COMPARISON + XX=033033 ;SELECTED PATTERN + ZZ=0 + + ;ROT LEFT (011011)-TEST AC,AC+1 +E43000: REPEAT ^D4,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW+WW + ZZ=ZZ+1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD = 0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD = 0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> +PAGE + AC=4 + SAVEAC (1,1) + +SN=43100 + WW=660660 ;USED FOR COMPARISON + XX=660660 ;SELECTED PATTERN + ZZ=0 + + ;ROT RIGHT (110110)-TEST AC,AC+1 +E43100: REPEAT ^D4,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW/2 + ZZ=ZZ-1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD = 0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD = 0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> +SUBTTL DIAGNOSTIC SECTION - ARITHMETIC OVERFLOW FLAG TEST + +;TEST AROV FLAG-ASH,ASHC +;TEST THE ABILITY OF ASH,ASHC TO +;SET AROV FLAG +;TEST (00),(11) FOR SET NOT CONDITION +;TEST (01),(10) FOR SET CONDITION +;AN ERROR WILL OCCUR IF FLAG IS +;SET/SET NOT AS APPROPRIATE + + AC=10 + SAVEAC (1,1) + + ;ASH AROV SET NOT (11) +E43200: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + MOVSI AC,-1 ;SET LEFT,CLEAR RIGHT + ASH AC,1 ;*SHIFT LEFT ONE + JSP AC-2,.+1 ;SAVE FLAGS + JFCL 10,.+2 ;TEST FOR SET NOT COND + JRST 0,.+2 ;FLAG NOT SET + ER13 AC-2,43201 ;FLAG IS SET + JUMPL AC+2,E43200 ;LOOP ON ERROR SWITCH + + ;ASH AROV SET NOT (00) +E43300: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + SETZ AC, ;CLEAR AC + ASH AC,1 ;*SHIFT LEFT ONE + JSP AC-2,.+1 ;SAVE FLAGS + JFCL 10,.+2 ;TEST FOR SET NOT COND + JRST 0,.+2 ;FLAG NOT SET + ER13 AC-2,43301 ;FLAG IS SET + JUMPL AC+2,E43300 ;LOOP ON ERROR SWITCH +PAGE + AC=7 + SAVEAC (1,1) + + ;ASH AROV SET (01) +E43400: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + MOVSI AC,377777 ;CLEAR 0 AND RIGHT HALF + ASH AC,1 ;*SHIFT LEFT ONE + JSP AC-2,.+1 ;SAVE FLAGS + JFCL 10,.+2 ;TEST FOR SET COND + ER13 AC-2,43401 ;FLAG IS NOT SET + JUMPL AC+2,E43400 ;LOOP ON ERROR SWITCH + + ;ASH AROV SET (10) +E43500: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + MOVSI AC,400000 ;SET BIT 0 + ASH AC,1 ;*SHIFT LEFT ONE + JSP AC-2,.+1 ;SAVE FLAGS + JFCL 10,.+2 ;TEST FOR SET COND + ER13 AC-2,43501 ;FLAG IS NOT SET + JUMPL AC+2,E43500 ;LOOP ON ERROR SWITCH + AC=10 + SAVEAC (1,1) + + ;ASHC AROV SET NOT (11) +E43600: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + MOVSI AC,-1 ;SET LEFT, CLEAR RIGHT + ASHC AC,1 ;*SHIFT LEFT ONE + JSP AC-2,.+1 ;SAVE FLAGS + JFCL 10,.+2 ;TEST FOR SET NOT COND + JRST 0,.+2 ;FLAG NOT SET + ER13 AC-2,43601 ;FLAG IS SET + JUMPL AC+2,E43600 ;LOOP ON ERROR SWITCH + + + ;ASHC AROV SET NOT (00) +E43700: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + SETZ AC, ;CLEAR AC + ASHC AC,1 ;*SHIFT LEFT ONE + JSP AC-2,.+1 ;SAVE FLAGS + JFCL 10,.+2 ;TEST FOR SET NOT COND + JRST 0,.+2 ;FLAG NOT SET + ER13 AC-2,43701 ;FLAG IS SET + JUMPL AC+2,E43700 ;LOOP ON ERROR SWITCH + + AC=7 + SAVEAC (1,1) + + ;ASHC AROV SET (01) +E44000: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + MOVSI AC,377777 ;CLEAR 0 AND RIGHT HALF + ASHC AC,1 ;*SHIFT LEFT ONE + JSP AC-2,.+1 ;SAVE FLAGS + JFCL 10,.+2 ;TEST FOR SET COND + ER13 AC-2,44001 ;FLAG IS NOT SET + JUMPL AC+2,E44000 ;LOOP ON ERROR SWITCH + + ;ASHC AROV SET (10) +E44100: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + MOVSI AC,400000 ;SET BIT 0 + ASHC AC,1 ;*SHIFT LEFT ONE + JSP AC-2,.+1 ;SAVE FLAGS + JFCL 10,.+2 ;TEST FOR SET COND + ER13 AC-2,44101 ;FLAG IS NOT SET + JUMPL AC+2,E44100 ;LOOP ON ERROR SWITCH +SUBTTL DIAGNOSTIC SECTION - TEST INDEXING, INDIRECT ADDRESSING AND XCT OF ROT + +;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN IT IS +;INDEXED. THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO E + C(X), +;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD AND X IS THE INDEX REG. +;IN THIS CASE, C(AC)=230703,,603700, E=0, X=6 AND C(X)=3; +;HENCE, THE NET ROTATION SHOULD BE 3 BIT POSITIONS LEFT, +;AND THE RESULT IN THE AC SHOULD BE 307036,,037002 + + AC=7 + SAVEAC (1,1) + +E70000: MOVEI 6,3 ;PRELOAD INDEX REG WITH 3 + MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + ROT AC,(6) ;*ROT C(AC) 3 BIT POSITIONS LEFT + CAME AC,[307036,,037002] ;IS RESULT IN AC CORRECT? + ER3 AC,70001 ;INDEXING FAILED + JUMPL AC+2,E70000 ;LOOP ON ERROR SWITCH + +;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN IT IS +;INDEXED. THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO E + C(X), +;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD AND X IS THE INDEX REG. +;IN THIS CASE, C(AC)=230703,,603700, E=4, X=5 AND C(X)=0; +;HENCE, THE NET ROTATION SHOULD BE 4 BIT POSITIONS LEFT, +;AND THE RESULT IN THE AC SHOULD BE 616074,,076004. + +E70100: MOVEI 5,0 ;PRELOAD INDEX REG WITH 0 + MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + ROT AC,4(5) ;*ROT C(AC) 4 BIT POSITIONS LEFT + CAME AC,[616074,,076004] ;IS RESULT IN AC CORRECT? + ER3 AC,70101 ;INDEXING FAILED + JUMPL AC+2,E70100 ;LOOP ON ERROR SWITCH +;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN IT IS +;INDEXED. THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO E + C(X), +;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD AND X IS THE INDEX REG. +;IN THIS CASE, C(AC)=230703,,603700, E=16, X=6 AND C(X)=5; +;HENCE, THE NET ROTATION SHOULD BE 21 BIT POSITIONS LEFT, +;AND THE RESULT IN THE AC SHOULD BE 407600,,461607. + +E70200: MOVEI 6,5 ;PRELOAD INDEX REG WITH 5 + MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + ROT AC,16(6) ;*ROT C(AC) 21 BIT POSITIONS LEFT + CAME AC,[407600,,461607] ;IS RESULT IN AC CORRECT? + ER3 AC,70201 ;INDEXING FAILED + JUMPL AC+2,E70200 ;LOOP ON ERROR SWITCH +;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN E IS +;INDIRECTLY ADDRESSED. THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO C(E), +;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD. +;IN THIS CASE, C(AC)=230703,,603700, E=6 AND C(E)=35; +;HENCE, THE NET ROTATION SHOULD BE 35 BIT POSITIONS LEFT, +;AND THE RESULT IN THE AC SHOULD BE 401143,,417017. + +E70300: MOVEI 6,35 ;PRELOAD E WITH 35 + MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + ROT AC,@6 ;*ROT C(AC) 35 BIT POSITIONS LEFT + CAME AC,[401143,,417017] ;IS RESULT IN AC CORRECT? + ER3 AC,70301 ;INDIRECT ADDRESSING FAILED + JUMPL AC+2,E70400 ;LOOP ON ERROR SWITCH + +;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN E IS +;INDIRECTLY ADDRESSED. THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO THE RIGHT HALF OF C(E), +;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD. +;IN THIS CASE, C(AC)=230703,,603700, E=[0,,1] AND C(E)=15; +;HENCE, THE NET ROTATION SHOULD BE 1 BIT POSITION LEFT, +;AND THE RESULT IN THE AC SHOULD BE 461607,,407600. + +E70400: SETOM 1 ;PRELOAD AC1 WITH -1,,-1 IN CASE IND. ADR. FAILS + MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + ROT AC,@[0,,1] ;*ROT C(AC) 1 BIT POSITION LEFT + CAME AC,[461607,,407600] ;IS RESULT IN AC CORRECT? + ER3 AC,70401 ;INDIRECT ADDRESSING FAILED + JUMPL AC+2,E70400 ;LOOP ON ERROR SWITCH +;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN IT IS +;EXECUTED BY AN XCT INSTRUCTION. +;IN THIS CASE, C(AC)=230703,,603700 AND E=2. +;HENCE, THE NET ROTATION SHOULD BE 2 BIT POSITIONS LEFT, +;AND THE RESULT IN THE AC SHOULD BE 143417,,017401. + +E70500: MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + XCT [ROT AC,2] ;*XCT SHOULD ROT C(AC) 2 BIT POSITIONS LEFT + CAME AC,[143417,,017401] ;IS RESULT IN AC CORRECT? + ER3 AC,70501 ;XCT OF ROT FAILED + JUMPL AC+2,E70500 ;LOOP ON ERROR SWITCH + + ;JRST BEGEND ;REPEAT DIAGNOSTIC + + END START diff --git a/apps/pdp10/diags/klad/dakaj/DAKAJM.MAC.txt b/apps/pdp10/diags/klad/dakaj/DAKAJM.MAC.txt new file mode 100644 index 000000000..eb9a7ee2f --- /dev/null +++ b/apps/pdp10/diags/klad/dakaj/DAKAJM.MAC.txt @@ -0,0 +1,1727 @@ +SUBTTL DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC) + +EXIT: DROPDV ;CLOSE LOGICAL OUTPUT FILE + EXIT + +PGMNAM: ASCIZ/ +PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC #10 SHIFT-ROTATE [DAKAJ] +/ + +START: PGMINT + MOVE [ASCIZ/AJ/] + MOVEM TLET + +STARTA: JRST E00 ;GO PERFORM DIAGNOSTIC + AC=1 +E00: SAVEAC (1,1) + +;END CONNECTIONS-LSHC +;TEST AR-MQ END BIT INPUT GATES +;TEST LEFT-AR0,1,34,35 SHLT INP GATES +; MQ0,1,34,35 SHLT INP GATES +;TEST RIGHT-AR0,1,34,35 SHRT INP GATES +; MQ0,1,34,35 SHRT INPUT GATES +;AC,AC+1 ARE LOGICALLY SHIFTED LEFT/RIGHT AND +;END BITS ARE TESTED +;TEST ASSUMES BOTH REGISTERS ARE +;CAPABLE OF SHIFTING 1,-1 AND -2 BIT POSITIONS CORRECTLY +;INPUT GATES PREVIOUSLY TESTED ARE AGAIN +;TESTED HERE +;AN ERROR IS MOST LIKELY DUE TO FAILURE +;OF LSHC TO BRING UP ENABLING LEVEL + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHLT INP-ZERO'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (243,-1,-1,-1,-1,-1,-1,-1,-2,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHLT INP-ONE'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (244,0,0,0,1,0,0,0,2,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHLT INP-ZERO'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (245,-1,-1,-1,-2,-1,-1,-1,-4,LSHC,1) +PAGE +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHLT INP-ONE'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (246,0,0,100000,0,0,0,200000,0,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHLT INP-ZERO'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (247,-1,-1,677777,-1,-1,-1,577777,-2,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHLT INP-ONE'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (250,0,0,200000,0,0,0,400000,0,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHLT INP-ZERO'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (251,-1,-1,577777,-1,-1,-1,377777,-2,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHLT INP-ONE'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (252,0,0,400000,0,0,1,0,0,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHLT INP-ZERO'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (253,-1,-1,377777,-1,-1,-2,-1,-2,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR34 SHLT INP-ONE'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (254,0,1,0,0,0,2,0,0,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR34 SHLT INP-ZERO'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (255,-1,-2,-1,-1,-1,-3,-1,-2,LSHC,1) +PAGE +;SHIFT CONNECTIONS TEST +;TEST AR1 SHLT INP-ONE'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (256,100000,0,0,0,200000,0,0,0,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHLT INP-ZERO'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (257,677777,-1,-1,-1,577777,-1,-1,-2,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHLT INP-ONE'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (260,200000,0,0,0,400000,0,0,0,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHLT INP-ZERO'S - LSHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (261,577777,-1,-1,-1,377777,-1,-1,-2,LSHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHRT INP-ZERO'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (262,-1,-1,-1,-1,377777,-1,-1,-1,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHRT INP-ONE'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (263,400000,0,0,0,200000,0,0,0,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHRT INP-ZERO'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (264,377777,-1,-1,-1,177777,-1,-1,-1,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR34 SHRT INP-ONE'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (265,0,4,0,0,0,2,0,0,LSHC,-1) +PAGE +;SHIFT CONNECTIONS TEST +;TEST AR34 SHRT INP-ZERO'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (266,-1,-5,-1,-1,377777,-3,-1,-1,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHRT INP-ONE'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (267,0,2,0,0,0,1,0,0,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHRT INP-ZERO'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (270,-1,-3,-1,-1,377777,-2,-1,-1,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHRT INP-ONE'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (271,0,1,0,0,0,0,400000,0,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHRT INP-ZERO'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (272,-1,-2,-1,-1,377777,-1,377777,-1,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHRT INP-ONE'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (273,0,0,400000,0,0,0,200000,0,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHRT INP-ZERO'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (274,-1,-1,377777,-1,377777,-1,577777,-1,LSHC,-1) +PAGE +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHRT INP-ONE'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (275,0,0,0,4,0,0,0,2,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHRT INP-ZERO'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (276,-1,-1,-1,-5,377777,-1,-1,-3,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHRT INP-ONE'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (277,0,0,0,2,0,0,0,1,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHRT INP-ZERO'S - LSHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (300,-1,-1,-1,-3,377777,-1,-1,-2,LSHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHRT INP-ZERO'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (301,-1,-1,-1,-1,177777,-1,-1,-1,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHRT INP-ZERO'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (302,-1,-1,-1,-1,177777,-1,-1,-1,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR34 SHRT INP-ONE'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (303,0,10,0,0,0,2,0,0,LSHC,-2) +PAGE +;SHIFT CONNECTIONS TEST +;TEST AR34 SHRT INP-ZERO'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (304,-1,-11,-1,-1,177777,-3,-1,-1,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHRT INP-ONE'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (305,0,4,0,0,0,1,0,0,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHRT INP-ZERO'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (306,-1,-5,-1,-1,177777,-2,-1,-1,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHRT INP-ONE'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (307,0,2,0,0,0,0,400000,0,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHRT INP-ZERO'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (310,-1,-3,-1,-1,177777,-1,377777,-1,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHRT INP-ONE'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (311,0,1,0,0,0,0,200000,0,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHRT INP-ZERO'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (312,-1,-2,-1,-1,177777,-1,577777,-1,LSHC,-2) +PAGE +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHRT INP-ONE'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (313,0,0,0,10,0,0,0,2,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHRT INP-ZERO'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (314,-1,-1,-1,-11,177777,-1,-1,-3,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHRT INP-ONE'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (315,0,0,0,4,0,0,0,1,LSHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHRT INP-ZERO'S - LSHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (316,-1,-1,-1,-5,177777,-1,-1,-2,LSHC,-2) + +SUBTTL DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC) + +;END CONNECTIONS-ASHC +;TEST AR-MQ END BIT INPUT GATES +;TEST LEFT-AR0,1,34,35 SHLT INP GATES +; MQ0,1,34,35 SHLT INP GATES +;TEST RIGHT-AR0,1,34,35 SHRT INP GATES +; MQ0,1,34,35 SHRT INPUT GATES +;AC,AC+1 ARE ARITHMETICALLY SHIFTED LEFT/RIGHT AND +;END BITS ARE TESTED +;TEST ASSUMES BOTH REGISTERS ARE +;CAPABLE OF SHIFTING 1,-1 AND -2 BIT POSITIONS CORRECTLY + +;GATES PREVIOUSLY TESTED,ARE AGAIN TESTED +;ERRORS MOST LIKELY DUE TO FAILURE OF +;ASHC TO BRING UP ENABLING LEVELS + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHLT INP-ZERO'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (317,-1,-1,-1,-1,-1,-1,-1,-2,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHLT INP-ONE'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (320,0,0,0,1,0,0,0,2,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHLT INP-ZERO'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (321,-1,-1,-1,-2,-1,-1,-1,-4,ASHC,1) +PAGE +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHLT INP-ONE'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (322,0,0,100000,0,0,0,200000,0,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHLT INP-ZERO'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (323,-1,-1,677777,-1,-1,-1,577777,-2,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHLT INP-ONE'S - ASHC AC,1 +;RESULT IN MQ0 SHOULD AGREE WITH INITIAL AR0 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (324,400000,0,0,0,400000,0,400000,0,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHLT INP-ZERO'S - ASHC AC,1 +;RESULT IN MQ0 SHOULD AGREE WITH INITIAL AR0 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (325,377777,-1,-1,-1,377777,-1,377777,-2,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHLT INP-ONE'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (326,0,0,200000,0,0,1,0,0,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHLT INP-ZERO'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (327,-1,-1,577777,-1,-1,-2,-1,-2,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR34 SHLT INP-ONE'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (330,0,1,0,0,0,2,0,0,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR34 SHLT INP-ZERO'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (331,-1,-2,-1,-1,-1,-3,-1,-2,ASHC,1) +PAGE +;SHIFT CONNECTIONS TEST +;TEST AR1 SHLT INP-ONE'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (332,100000,0,0,0,200000,0,0,0,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHLT INP-ZERO'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (333,677777,-1,-1,-1,577777,-1,-1,-2,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHLT INP-ONE'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (334,400000,0,400000,0,400000,0,400000,0,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHLT INP-ZERO'S - ASHC AC,1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (335,377777,-1,377777,-1,377777,-1,377777,-2,ASHC,1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHRT INP-ONE'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (336,400000,0,400000,0,600000,0,400000,0,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHRT INP-ZERO'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (337,377777,-1,377777,-1,177777,-1,377777,-1,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHRT INP-ONE'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (340,400000,0,400000,0,600000,0,400000,0,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHRT INP-ZERO'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (341,377777,-1,377777,-1,177777,-1,377777,-1,ASHC,-1) +PAGE +;SHIFT CONNECTIONS TEST +;TEST AR34 SHRT INP-ONE'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (342,0,4,0,0,0,2,0,0,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR34 SHRT INP-ZERO'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (343,-1,-5,-1,-1,-1,-3,-1,-1,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHRT INP-ONE'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (344,0,2,0,0,0,1,0,0,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHRT INP-ZERO'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (345,-1,-3,-1,-1,-1,-2,-1,-1,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHRT INP-ONE'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (346,400000,0,0,0,600000,0,400000,0,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHRT INP-ZERO'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (347,377777,-1,-1,-1,177777,-1,377777,-1,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHRT INP-ONE'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (350,0,1,0,0,0,0,200000,0,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHRT INP-ZERO'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (351,-1,-2,-1,-1,-1,-1,577777,-1,ASHC,-1) +PAGE +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHRT INP-ONE'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (352,0,0,0,4,0,0,0,2,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHRT INP-ZERO'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (353,-1,-1,-1,-5,-1,-1,-1,-3,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHRT INP-ONE'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (354,0,0,0,2,0,0,0,1,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHRT INP-ZERO'S - ASHC AC,-1 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (355,-1,-1,-1,-3,-1,-1,-1,-2,ASHC,-1) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHRT INP-ONE'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (356,400000,0,400000,0,700000,0,400000,0,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR0 SHRT INP-ZERO'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 0 OF AR + SR2 (357,377777,-1,377777,-1,077777,-1,377777,-1,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHRT INP-ONE'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (360,400000,0,400000,0,700000,0,400000,0,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR1 SHRT INP-ZERO'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 1 OF AR + SR2 (361,377777,-1,377777,-1,077777,-1,377777,-1,ASHC,-2) +PAGE +;SHIFT CONNECTIONS TEST +;TEST AR34 SHRT INP-ONE'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (362,0,10,0,0,0,2,0,0,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR34 SHRT INP-ZERO'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 34 OF AR + SR2 (363,-1,-11,-1,-1,-1,-3,-1,-1,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHRT INP-ONE'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (364,0,4,0,0,0,1,0,0,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST AR35 SHRT INP-ZERO'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 35 OF AR + SR2 (365,-1,-5,-1,-1,-1,-2,-1,-1,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHRT INP-ONE'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (366,400000,0,0,0,700000,0,400000,0,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ0 SHRT INP-ZERO'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ + SR2 (367,377777,-1,-1,-1,077777,-1,377777,-1,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHRT INP-ONE'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (370,0,2,0,0,0,0,200000,0,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ1 SHRT INP-ZERO'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ + SR2 (371,-1,-3,-1,-1,-1,-1,577777,-1,ASHC,-2) +PAGE +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHRT INP-ONE'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (372,0,0,0,10,0,0,0,2,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ34 SHRT INP-ZERO'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ + SR2 (373,-1,-1,-1,-11,-1,-1,-1,-3,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHRT INP-ONE'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (374,0,0,0,4,0,0,0,1,ASHC,-2) + +;SHIFT CONNECTIONS TEST +;TEST MQ35 SHRT INP-ZERO'S - ASHC AC,-2 +;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ + SR2 (375,-1,-1,-1,-5,-1,-1,-1,-2,ASHC,-2) +SUBTTL DIAGNOSTIC SECTION - BIT POSITION RELIABILITY TEST + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR1 (445,252525,252525,525252,525252,ROT,1) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR1 (446,525252,525252,252525,252525,ROT,1) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR1 (447,252525,252525,525252,525252,ROT,-1) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR1 (450,525252,525252,252525,252525,ROT,-1) +PAGE +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR1 (451,146314,631463,631463,146314,ROT,-2) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR1 (452,631463,146314,146314,631463,ROT,-2) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR2 (453,252525,252525,252525,252525,525252,525252,525252,525252,ROTC,1) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR2 (454,525252,525252,525252,525252,252525,252525,252525,252525,ROTC,1) +PAGE +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR2 (455,252525,252525,252525,252525,525252,525252,525252,525252,ROTC,-1) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR2 (456,525252,525252,525252,525252,252525,252525,252525,252525,ROTC,-1) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR2 (457,146314,631463,146314,631463,631463,146314,631463,146314,ROTC,-2) + +;BIT POSITION RELIABILITY TEST +;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS + SR2 (460,631463,146314,631463,146314,146314,631463,146314,631463,ROTC,-2) +SUBTTL DIAGNOSTIC SECTION - SC GATING TEST + + AC=5 + SAVEAC (1,1) + +SN=37600 + ZZ=17 + + ;SHIFT LEFT +E37600: REPEAT ^D3,< +;TEST SC HIGH ORDER BITS +;TEST THE ABILITY TO SET THE FOUR MOST +;SIGNIFICANT BITS +;AC IS LOGICALLY SHIFTED LEFT +;AND TESTED +;FAILURE TO SET BIT 0 RESULTS IN NO SHIFT +;AN ERROR WILL OCCUR IF AC EQUALS ZERO +;FOLLOWING A SHIFT +;FAILURE TO SET SC BIT 1,2 OR +;3 WILL RESULT IN EXCESSIVE SHIFTING + +SN=SN+1 + ZZ=ZZ+1 + MOVEI AC,1 ;SET BIT 35 + LSH AC,ZZ ;*SHIFT LEFT (N) NUMBER OF TIMES + CAIN AC,1 ;TEST FOR SHIFT + ER3 AC,SN ;SC BIT 0 FAILED TO SET + SKIPN AC ;SHIFT EXCEEDED OCTAL 44 + ER3 AC,SN ;SC BIT (N) FAILED TO SET + JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH +> + +SUBTTL DIAGNOSTIC SECTION - SC AR CONTROL AND GATING TEST + +;TEST SC AR EN +;TEST THE ABILITY OF SC AR EN TO +;AFFECT A TRANSFER BETWEEN SC AND AR +;MALFUNCTION OF SCAD OR SC COUNT GATES +;WILL AFFECT TEST +;AC IS ROTATED LEFT/RIGHT AND TESTED FOR +;EVIDENCE OF ROTATE + + AC=7 + SAVEAC (1,1) + +E37700: MOVEI AC,1 ;SET BIT 35 + ROT AC,-5 ;*ROTATE RIGHT + ROT AC,7 ;*ROTATE LEFT + CAIN AC,1 ;TEST FOR PRESENCE + ER3 AC,37701 ;OF PULSE + JUMPL AC+2,E37700 ;LOOP ON ERROR SWITCH + + ;TEST PULSE WITH SC BITS 5-8 +E40000: MOVEI AC,1 ;SET BIT 35 + ROT AC,17 ;*ROTATE LEFT + CAIN AC,1 ;TEST FOR ROTATE LEFT + ER3 AC,40001 ;SC AR EN FAILED + JUMPL AC+2,E40000 ;LOOP ON ERROR SWITCH + + ;TEST PULSE WITH SC BITS 4-8 +E40100: MOVEI AC,1 ;SET BIT 35 + ROT AC,37 ;*ROTATE LEFT + CAIN AC,1 ;TEST FOR ROTATE LEFT + ER3 AC,40101 ;TEST FOR ROTATE LEFT + JUMPL AC+2,E40100 ;LOOP ON ERROR SWITCH + AC=6 + SAVEAC (1,1) + +SN=40200 + ZZ=0 + +E40200: REPEAT ^D8, < +;TEST SC-AR CONNECTION-ONE'S +;TEST THE ABILITY OF SC AR EN +;TO TRANSFER ONE'S TO SC +;SC BITS EIGHT THROUGH ONE ARE SET IN TURN +;MALFUNCTION OF SCAD OR SC COUNT GATES +;WILL AFFECT TEST +;FAILURE OF A SHIFT COUNTER BIT TO SET +;RESULTS IN NO ROTATE + +SN=SN+1 + ZZ=ZZ+ZZ + IFE ZZ, + MOVEI AC,1 ;SET BIT 35 + ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + CAIN AC,1 ;TEST FOR ROTATE + ER3 AC,SN ;SC BIT (N) FAILED TO SET + JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH +> + AC=5 + SAVEAC (1,1) + +SN=40300 + XX=0 + ZZ=-1 + +E40300: REPEAT ^D6, < +;TEST SC AR CONNETION-ZERO'S +;TEST THE ABILITY OF A SC BIT TO REMAIN +;A ZERO WHEN TRANSFERRING BR TO SC +;TEST DETECTS A SC F/F PERMENTLY SET TO A ONE +;TEST BY ROTATING RIGHT TWO,LEFT ONE +;MALFUNTION OF SCAD OR SC COUNT GATES +;WILL AFFECT TEST + +SN=SN+1 + XX=XX+XX + ZZ=ZZ+ZZ + IFE XX, + MOVEI AC,1 ;SET BIT 35 + ROT AC,ZZ ;*ROTATE RIGHT (N) NUMBER OF TIMES + ROT AC,XX ;*ROTATE LEFT (N) NUMBER OF TIMES + CAIN AC,1 ;TEST FOR ROTATE + ER3 AC,SN ;SC BIT (N) FAILED TO CLEAR + JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH +> +SUBTTL DIAGNOSTIC SECTION - SC-SCAD GATING TEST + +;TEST DIRECTION +;TEST THE ABILITY TO ROTATE IN THE +;SPECIFIED DIRECTION +;FAILURE OF AC TO ROTATE OR ROTATING IN THE +;WRONG DIRECTION WILL CAUSE AN ERROR +;MALFUNCTION OF SCAD OR SC COUNT GATES WILL +;CAUSE AN ERROR + + AC=4 + SAVEAC (1,1) + + ;TEST LEFT +E40400: MOVEI AC,400000 ;SET AC BIT 18 + MOVSI AC-1,-1 ;SET LEFT,CLEAR RIGHT + ROT AC,3 ;*ROTATE LEFT + TDNN AC,AC-1 ;TEST DIRECTION + ER3 AC,40401 ;FAILED OR WRONG DIRECTION + JUMPL AC+2,E40400 ;LOOP ON ERROR SWITCH + + ;TEST RIGHT +E40500: MOVSI AC,1 ;SET AC BIT 17 + MOVEI AC-1,-1 ;CLEAR LEFT,SET RIGHT + ROT AC,-3 ;*ROTATE RIGHT + TDNN AC,AC-1 ;TEST DIRECTION + ER3 AC,40501 ;FAILED OR WRONG DIRECTION + JUMPL AC+2,E40500 ;LOOP ON ERROR SWITCH + AC=3 + SAVEAC (1,1) + +SN=40600 + ZZ=0 + + ;TEST FOR NO ROTATE +E40600: REPEAT ^D8,< +;SCAD-SC NEGATE SET UP TEST +;TEST A BIT FAILING TO CLEAR ON COMPLEMENT +;TEST SC+1 ENABLE +;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE +;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS +;IN ROT LEFT ONE +;MALFUNCTION OF SCAD OR SC COUNT GATES +;WILL AFFECT TEST + +SN=SN+1 + ZZ=ZZ+ZZ + IFE ZZ, + MOVEI AC,1 ;SET BIT 35 + ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + CAIN AC,1 ;SC BIT (N) FAILED TO CLEAR + ER3 AC,SN ;ON NEGATE + JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH +> +PAGE +SN=40700 + ZZ=1 + + ;TEST FOR ROTATE LEFT ONE +E40700: REPEAT ^D7,< +;SCAD-SC NEGATE SET UP TEST +;TEST A BIT FAILING TO CLEAR ON COMPLEMENT +;TEST SC+1 ENABLE +;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE +;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS +;IN ROT LEFT ONE +;MALFUNCTION OF SCAD OR SC COUNT GATES +;WILL AFFECT TEST + +SN=SN+1 + ZZ=ZZ+ZZ + MOVEI AC,1 ;SET BIT 35 + ROT AC,ZZ ;*ROTATE LEFT (N) NUMBER OF TIMES + CAIN AC,2 ;SC BIT (N) FAILED TO CLEAR + ER3 AC,SN ;AND SC+1 FAILED + JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH +> + AC=2 + SAVEAC (1,1) + +SN=41000 + XX=1 + ZZ=0 + + ;ROTATE FROM 3 TO 17 TIMES +E41000: REPEAT ^D5,< +;SCAD SC COUNT TEST +;TEST THE ABILITY OF SCAD TO PROPERLY +;COUNT THE SHIFT COUNTER +;TEST SC-SCAD CONNECTION +;AC IS ROTATED FROM 3 THROUGH 105 TIMES +;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE +;THE CORRECT NUMBER OF BITS +;ROTATING TO THE LEFT EXERCISES MAXIMUM +;LOGIC + +SN=SN+1 + XX=XX*10 + ZZ=ZZ+3 + MOVEI AC,1 ;SET BIT 35 + ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + CAIE AC,XX ;TEST AC + ER3 AC,SN ;INCORRECT ROTATE + JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH +> +PAGE +SN=41100 + XX=0 + + ;ROTATE FROM 22 TO 41 TIMES +E41100: REPEAT ^D6,< +;SCAD SC COUNT TEST +;TEST THE ABILITY OF SCAD TO PROPERLY +;COUNT THE SHIFT COUNTER +;TEST SC-SCAD CONNECTION +;AC IS ROTATED FROM 3 THROUGH 105 TIMES +;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE +;THE CORRECT NUMBER OF BITS +;ROTATING TO THE LEFT EXERCISES MAXIMUM +;LOGIC + +SN=SN+1 + XX=XX*10 + ZZ=ZZ+3 + IFE XX, + MOVEI AC,1 ;SET BIT 35 + ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + MOVSS AC ;SWAP CONTENTS OF AC + CAIE AC,XX ;TEST AC + ER3 AC,SN ;INCORRECT ROTATE + JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH +> +SN=41200 + XX=0 + + ;ROTATE FROM 44 TO 36 TIMES +E41200: REPEAT ^D6,< +;SCAD SC COUNT TEST +;TEST THE ABILITY OF SCAD TO PROPERLY +;COUNT THE SHIFT COUNTER +;TEST SC-SCAD CONNECTION +;AC IS ROTATED FROM 3 THROUGH 105 TIMES +;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE +;THE CORRECT NUMBER OF BITS +;ROTATING TO THE LEFT EXERCISES MAXIMUM +;LOGIC + +SN=SN+1 + XX=XX*10 + ZZ=ZZ+3 + IFE XX, + MOVEI AC,1 ;SET BIT 35 + ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + CAIE AC,XX ;TEST AC + ER3 AC,SN ;INCORRECT ROTATE + JUMPL AC+2,.-4 ;LOOP ON ERROR SWITCH +> +PAGE +SN=41300 + XX=0 + + ;ROTATE FROM 66 TO 105 TIMES +E41300: REPEAT ^D6,< +;SCAD SC COUNT TEST +;TEST THE ABILITY OF SCAD TO PROPERLY +;COUNT THE SHIFT COUNTER +;TEST SC-SCAD CONNECTION +;AC IS ROTATED FROM 3 THROUGH 105 TIMES +;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE +;THE CORRECT NUMBER OF BITS +;ROTATING TO THE LEFT EXERCISES MAXIMUM +;LOGIC + +SN=SN+1 + XX=XX*10 + ZZ=ZZ+3 + IFE XX, + MOVEI AC,1 ;SET BIT 35 + ROT AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + MOVSS AC ;SWAP CONTENTS OF AC + CAIE AC,XX ;TEST AC + ER3 AC,SN ;INCORRECT ROTATE + JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH +> +SUBTTL DIAGNOSTIC SECTION - SHIFT COUNTER RELIABILITY TEST + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (461,230703,603700,230703,603700,ROT,0) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (462,230703,603700,700230,703603,ROT,77) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (463,230703,603700,740114,341701,ROT,76) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (464,230703,603700,370023,070360,ROT,74) +PAGE +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (465,230703,603700,017401,143417,ROT,70) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (466,230703,603700,036037,002307,ROT,60) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (467,230703,603700,011434,170174,ROT,40) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (470,230703,603700,600461,607407,ROT,100) +PAGE +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (471,230703,603700,461607,407600,ROT,1) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (472,230703,603700,143417,017401,ROT,2) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (473,230703,603700,307036,037002,ROT,3) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (474,230703,603700,434170,174011,ROT,5) +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (475,230703,603700,703603,700230,ROT,11) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (476,230703,603700,701740,114341,ROT,21) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (477,230703,603700,023070,360370,ROT,41) + +;SHIFT COUNTER TEST +;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1 + SR1 (500,230703,603700,401143,417017,ROT,101) +SUBTTL DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST + +ADR=501-3 +N=-374-44 + + REPEAT ^D15, < +ADR=ADR+3 +N=N+44 + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + SR1 (\ADR,230703,603700,114341,701740,ROT,N-1) + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + SR1 (\,230703,603700,230703,603700,ROT,N) + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + SR1 (\,230703,603700,461607,407600,ROT,N+1) +PAGE> +N=-374-44 + + REPEAT ^D1, < +ADR=ADR+3 +N=N+44 + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + SR2 (\ADR,230703,603700,770037,600377,374017,700177,514341,701740,ROTC,N-1) + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + SR2 (\,230703,603700,770037,600377,770037,600377,230703,603700,ROTC,N) + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + SR2 (\,230703,603700,770037,600377,760077,400776,461607,407601,ROTC,N+1) +PAGE> + REPEAT ^D7, < +ADR=ADR+3 +N=N+44 + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + SR2 (\ADR,230703,603700,770037,600377,514341,701740,374017,700177,ROTC,N-1) + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + SR2 (\,230703,603700,770037,600377,230703,603700,770037,600377,ROTC,N) + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + SR2 (\,230703,603700,770037,600377,461607,407601,760077,400776,ROTC,N+1) +PAGE +ADR=ADR+3 +N=N+44 + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION + SR2 (\ADR,230703,603700,770037,600377,374017,700177,514341,701740,ROTC,N-1) + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS + SR2 (\,230703,603700,770037,600377,770037,600377,230703,603700,ROTC,N) + +;SHIFT COUNTER TEST +;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION + SR2 (\,230703,603700,770037,600377,760077,400776,461607,407601,ROTC,N+1) +PAGE> +;SHIFT COUNTER TEST +;TEST FOR MAXIMUM LEFT ROTATION (255 POSITIONS) + SR1 (633,230703,603700,307036,037002,ROT,377) + +;SHIFT COUNTER TEST +;TEST FOR MAXIMUM RIGHT ROTATION -1 (255 POSITIONS) + SR1 (634,230703,603700,023070,360370,ROT,-377) + +;SHIFT COUNTER TEST +;TEST FOR MAXIMUM LEFT ROTATION (255 POSITIONS) + SR2 (635,230703,603700,770037,600377,700376,003772,307036,037007,ROTC,377) + +;SHIFT COUNTER TEST +;TEST FOR MAXIMUM RIGHT ROTATION -1 (255 POSITIONS) + SR2 (636,230703,603700,770037,600377,077003,760037,723070,360370,ROTC,-377) +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (637,230703,603700,230703,603700,ROT,400) + +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (640,230703,603700,230703,603700,ROT,1000) + +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (641,230703,603700,230703,603700,ROT,2000) + +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (642,230703,603700,230703,603700,ROT,4000) +PAGE +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (643,230703,603700,230703,603700,ROT,10000) + +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (644,230703,603700,230703,603700,ROT,20000) + +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (645,230703,603700,230703,603700,ROT,40000) + +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (646,230703,603700,230703,603700,ROT,100000) +PAGE +;SHIFT COUNTER TEST +;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR +;RESULT SHOULD INDICATE NO ROTATION + SR1 (647,230703,603700,230703,603700,ROT,200000) + +;SHIFT COUNTER TEST +;TEST FOR MAXIMUM RIGHT ROTATION (256 POSITIONS) + SR1 (650,230703,603700,011434,170174,ROT,400000) + +;SHIFT COUNTER TEST +;TEST FOR MAXIMUM RIGHT ROTATION (256 POSITIONS) + SR2 (651,230703,603700,770037,600377,037401,770017,751434,170174,ROTC,400000) +SUBTTL DIAGNOSTIC SECTION - ACCUMULATOR ADDRESSING TEST + +;TEST ACCUMULATOR ADDRESSING +;TEST THE ABILITY OF ROTC,LSHC,ASHC +;TO ADDRESS THE CORRECT ACCUMULATORS +;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS +;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING +;LEFT ZERO TIMES +;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER +;FROM AC'S ADDRESSED BY INSTRUCTION +;THE NUMBER OF THE AC REFERENCED IN ERROR +;IS IN AC +;INADVERTENT SHIFTING OR PICKING UP OF +;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + + AC=-2 + ZZ=-2 + ;SET UP ACCUMULATOR'S + REPEAT ^D7,< + ZZ=ZZ+2 + AC=AC+2 + MOVEI AC,ZZ ;AC NUMBER TO AC + MOVEI AC+1,ZZ+1 ;AC NUMBER TO AC+1 +> +PAGE + AC=1 + SAVEAC (1,1) + +SN=41400 + AC=14 + ZZ=14 + + ;TEST ROTC-ACCUMULATOR'S 7-14 +E41400: REPEAT ^D5,< +;TEST ACCUMULATOR ADDRESSING +;TEST THE ABILITY OF ROTC,LSHC,ASHC +;TO ADDRESS THE CORRECT ACCUMULATORS +;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS +;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING +;LEFT ZERO TIMES +;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER +;FROM AC'S ADDRESSED BY INSTRUCTION +;THE NUMBER OF THE AC REFERENCED IN ERROR +;IS IN AC +;INADVERTENT SHIFTING OR PICKING UP OF +;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + +SN=SN+1 + ZZ=ZZ-1 + AC=AC-1 + ROTC AC,0 ;*ROTATE LEFT ZERO TIMES + CAIE AC,ZZ ;TEST FOR CORRECT AC + ER3 AC,SN ;INCORRECT AC + CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + ER4 AC,SN ;INCORRECT AC+1 + JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH +> + AC=11 + SAVEAC (1,1) + +SN=41500 + AC=12 + ZZ=12 + + ;TEST LSHC-ACCUMULATORS 5-12 +E41500: REPEAT ^D5,< +;TEST ACCUMULATOR ADDRESSING +;TEST THE ABILITY OF ROTC,LSHC,ASHC +;TO ADDRESS THE CORRECT ACCUMULATORS +;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS +;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING +;LEFT ZERO TIMES +;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER +;FROM AC'S ADDRESSED BY INSTRUCTION +;THE NUMBER OF THE AC REFERENCED IN ERROR +;IS IN AC +;INADVERTENT SHIFTING OR PICKING UP OF +;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + +SN=SN+1 + ZZ=ZZ-1 + AC=AC-1 + LSHC AC,0 ;*SHIFT LEFT ZERO TIMES + CAIE AC,ZZ ;TEST FOR CORRECT AC + ER3 AC,SN ;INCORRECT AC + CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + ER4 AC,SN ;INCORRECT AC+1 + JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH +> + + + AC=4 + SAVEAC (1,1) + +SN=41600 + AC=5 + ZZ=5 + + ;TEST ASHC-ACCUMULATORS 0-5 +E41600: REPEAT ^D5,< +;TEST ACCUMULATOR ADDRESSING +;TEST THE ABILITY OF ROTC,LSHC,ASHC +;TO ADDRESS THE CORRECT ACCUMULATORS +;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS +;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING +;LEFT ZERO TIMES +;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER +;FROM AC'S ADDRESSED BY INSTRUCTION +;THE NUMBER OF THE AC REFERENCED IN ERROR +;IS IN AC +;INADVERTENT SHIFTING OR PICKING UP OF +;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + +SN=SN+1 + ZZ=ZZ-1 + AC=AC-1 + ASHC AC,0 ;*SHIFT LEFT ZERO TIMES + CAIE AC,ZZ ;TEST FOR CORRECT AC + ER3 AC,SN ;INCORRECT AC + CAIE AC+1,ZZ+1 ;TEST FOR CORRECT AC+1 + ER4 AC+1,SN ;INCORRECT AC+1 + JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH +> +PAGE +; AC=17 +; SAVEAC (1,1) + +SN=41700 + + ;TEST ASHC-ACUMMULATORS 17-0 +E41700: REPEAT ^D0,< +;TEST ACCUMULATOR ADDRESSING +;TEST THE ABILITY OF ROTC,LSHC,ASHC +;TO ADDRESS THE CORRECT ACCUMULATORS +;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS +;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING +;LEFT ZERO TIMES +;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER +;FROM AC'S ADDRESSED BY INSTRUCTION +;THE NUMBER OF THE AC REFERENCED IN ERROR +;IS IN AC +;INADVERTENT SHIFTING OR PICKING UP OF +;BITS DURING FAC OR SAC WILL CAUSE AN ERROR + +SN=SN+1 + ASHC AC,0 ;*SHIFT LEFT ZERO TIMES + CAIE AC,17 ;TEST FOR CORRECT AC + ER3 AC,SN ;INCORRECT AC + CAIE AC+1,0 ;TEST FOR CORRECT AC+1 + ER4 AC+1,SN ;INCORRECT AC+1 + JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH +> +SUBTTL DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST + + AC=12 + SAVEAC (1,1) + +SN=42000 + WW=030303 ;USED FOR COMPARISON + XX=030303 ;SELECTED PATTERN + ZZ=0 + + ;ROT LEFT (011)-TEST AC,AC+1 +E42000: REPEAT ^D4,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW+WW + ZZ=ZZ+1 + SETACS (WW,XX) ;SET UP ACCUMULATORS + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD =0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD =0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> +PAGE + AC=14 + SAVEAC (1,1) + +SN=42100 + WW=606060 ;USED FOR COMPARISON + XX=606060 ;SELECTED PATTERN + ZZ=0 + + ;ROT RIGHT (110)-TEST AC,AC+1 +E42100: REPEAT ^D4,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW/2 + ZZ=ZZ-1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD =0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD =0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> + AC=13 + SAVEAC (1,1) + +SN=42200 + WW=050505 ;USED FOR COMPARISON + XX=050505 ;SELECTED PATTERN + ZZ=0 + + ;ROT LEFT (101)-TEST AC,AC+1 +E42200: REPEAT ^D3,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW+WW + ZZ=ZZ+1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD = 0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD = 0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> +PAGE + AC=12 + SAVEAC (1,1) + +SN=42300 + WW=505050 ;USED FOR COMPARISON + XX=505050 ;SELECTED PATTERN + ZZ=0 + + ;ROT RIGHT (101)-TEST AC,AC+1 +E42300: REPEAT ^D3,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW/2 + ZZ=ZZ-1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD =0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD = 0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> + AC=11 + SAVEAC (1,1) + +SN=42400 + WW=070707 ;USED FOR COMPARISON + XX=070707 ;SELECTED PATTERN + ZZ=0 + + ;ROT LEFT (111)-TEST AC,AC+1 +E42400: REPEAT ^D3,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW+WW + ZZ=ZZ+1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD = 0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD = 0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> +PAGE + AC=10 + SAVEAC (1,1) + +SN=42500 + WW=707070 ;USED FOR COMPARISON + XX=707070 ;SELECTED PATTERN + ZZ=0 + + ;ROT RIGHT (111)-TEST AC,AC+1 +E42500: REPEAT ^D3,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW/2 + ZZ=ZZ-1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE + SKIPE &17 ;SHOULD = 0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD = 0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> + AC=7 + SAVEAC (1,1) + +SN=42600 + WW=025025 ;USED FOR COMPARISON + XX=025025 ;SELECTED PATTERN + ZZ=0 + + ;ROT LEFT (010101)-TEST AC,AC+1 +E42600: REPEAT ^D4,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW+WW + ZZ=ZZ+1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD = 0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD = 0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> +PAGE + AC=6 + SAVEAC (1,1) + +SN=42700 + WW=520520 ;USED FOR COMPARISON + XX=520520 ;SELECTED PATTERN + ZZ=0 + + ;ROT RIGHT (101010)-TEST AC,AC+1 +E42700: REPEAT ^D4,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW/2 + ZZ=ZZ-1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD = 0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD = 0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> + AC=5 + SAVEAC (1,1) + +SN=43000 + WW=033033 ;USED FOR COMPARISON + XX=033033 ;SELECTED PATTERN + ZZ=0 + + ;ROT LEFT (011011)-TEST AC,AC+1 +E43000: REPEAT ^D4,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW+WW + ZZ=ZZ+1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD = 0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD = 0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> +PAGE + AC=4 + SAVEAC (1,1) + +SN=43100 + WW=660660 ;USED FOR COMPARISON + XX=660660 ;SELECTED PATTERN + ZZ=0 + + ;ROT RIGHT (110110)-TEST AC,AC+1 +E43100: REPEAT ^D4,< +;TEST SELECTED BIT CONFIGURATIONS +;TEST ABILITY TO ROTATE SELECTED PATTERNS +;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED +;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0 +; AC-1 CONTAINS BIT(S) THAT FAILED +;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER +; ERROR WILL OCCUR IF AC DIFFERS FROM 0 +; AC CONTAINS BIT(S) THAT FAILED + +SN=SN+1 + WW=WW/2 + ZZ=ZZ-1 + SETACS (WW,XX) + ROTC AC,ZZ ;*ROTATE (N) NUMBER OF TIMES + XOR AC-1,AC ;COMPARE AC + SKIPE &17 ;SHOULD = 0 + ER3 AC,SN ;AC-1 CONTAINS BIT(S) THAT FAILED + XOR AC-2,&17 ;COMPARE AC+1 + SKIPE &17 ;SHOULD = 0 + ER4 AC+1,SN ;AC CONTAINS BIT(S) THAT FAILED + JUMPL AC+2,.-^D13 ;LOOP ON ERROR SWITCH +> +SUBTTL DIAGNOSTIC SECTION - ARITHMETIC OVERFLOW FLAG TEST + +;TEST AROV FLAG-ASH,ASHC +;TEST THE ABILITY OF ASH,ASHC TO +;SET AROV FLAG +;TEST (00),(11) FOR SET NOT CONDITION +;TEST (01),(10) FOR SET CONDITION +;AN ERROR WILL OCCUR IF FLAG IS +;SET/SET NOT AS APPROPRIATE + + AC=10 + SAVEAC (1,1) + + ;ASH AROV SET NOT (11) +E43200: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + MOVSI AC,-1 ;SET LEFT,CLEAR RIGHT + ASH AC,1 ;*SHIFT LEFT ONE + JSP AC-2,.+1 ;SAVE FLAGS + JFCL 10,.+2 ;TEST FOR SET NOT COND + JRST 0,.+2 ;FLAG NOT SET + ER13 AC-2,43201 ;FLAG IS SET + JUMPL AC+2,E43200 ;LOOP ON ERROR SWITCH + + ;ASH AROV SET NOT (00) +E43300: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + SETZ AC, ;CLEAR AC + ASH AC,1 ;*SHIFT LEFT ONE + JSP AC-2,.+1 ;SAVE FLAGS + JFCL 10,.+2 ;TEST FOR SET NOT COND + JRST 0,.+2 ;FLAG NOT SET + ER13 AC-2,43301 ;FLAG IS SET + JUMPL AC+2,E43300 ;LOOP ON ERROR SWITCH +PAGE + AC=7 + SAVEAC (1,1) + + ;ASH AROV SET (01) +E43400: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + MOVSI AC,377777 ;CLEAR 0 AND RIGHT HALF + ASH AC,1 ;*SHIFT LEFT ONE + JSP AC-2,.+1 ;SAVE FLAGS + JFCL 10,.+2 ;TEST FOR SET COND + ER13 AC-2,43401 ;FLAG IS NOT SET + JUMPL AC+2,E43400 ;LOOP ON ERROR SWITCH + + ;ASH AROV SET (10) +E43500: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + MOVSI AC,400000 ;SET BIT 0 + ASH AC,1 ;*SHIFT LEFT ONE + JSP AC-2,.+1 ;SAVE FLAGS + JFCL 10,.+2 ;TEST FOR SET COND + ER13 AC-2,43501 ;FLAG IS NOT SET + JUMPL AC+2,E43500 ;LOOP ON ERROR SWITCH + AC=10 + SAVEAC (1,1) + + ;ASHC AROV SET NOT (11) +E43600: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + MOVSI AC,-1 ;SET LEFT, CLEAR RIGHT + ASHC AC,1 ;*SHIFT LEFT ONE + JSP AC-2,.+1 ;SAVE FLAGS + JFCL 10,.+2 ;TEST FOR SET NOT COND + JRST 0,.+2 ;FLAG NOT SET + ER13 AC-2,43601 ;FLAG IS SET + JUMPL AC+2,E43600 ;LOOP ON ERROR SWITCH + + + ;ASHC AROV SET NOT (00) +E43700: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + SETZ AC, ;CLEAR AC + ASHC AC,1 ;*SHIFT LEFT ONE + JSP AC-2,.+1 ;SAVE FLAGS + JFCL 10,.+2 ;TEST FOR SET NOT COND + JRST 0,.+2 ;FLAG NOT SET + ER13 AC-2,43701 ;FLAG IS SET + JUMPL AC+2,E43700 ;LOOP ON ERROR SWITCH + + AC=7 + SAVEAC (1,1) + + ;ASHC AROV SET (01) +E44000: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + MOVSI AC,377777 ;CLEAR 0 AND RIGHT HALF + ASHC AC,1 ;*SHIFT LEFT ONE + JSP AC-2,.+1 ;SAVE FLAGS + JFCL 10,.+2 ;TEST FOR SET COND + ER13 AC-2,44001 ;FLAG IS NOT SET + JUMPL AC+2,E44000 ;LOOP ON ERROR SWITCH + + ;ASHC AROV SET (10) +E44100: JFCL 10,.+1 ;CLR FLAG EXEC NEXT INST + MOVSI AC,400000 ;SET BIT 0 + ASHC AC,1 ;*SHIFT LEFT ONE + JSP AC-2,.+1 ;SAVE FLAGS + JFCL 10,.+2 ;TEST FOR SET COND + ER13 AC-2,44101 ;FLAG IS NOT SET + JUMPL AC+2,E44100 ;LOOP ON ERROR SWITCH +SUBTTL DIAGNOSTIC SECTION - TEST INDEXING, INDIRECT ADDRESSING AND XCT OF ROT + +;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN IT IS +;INDEXED. THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO E + C(X), +;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD AND X IS THE INDEX REG. +;IN THIS CASE, C(AC)=230703,,603700, E=0, X=6 AND C(X)=3; +;HENCE, THE NET ROTATION SHOULD BE 3 BIT POSITIONS LEFT, +;AND THE RESULT IN THE AC SHOULD BE 307036,,037002 + + AC=7 + SAVEAC (1,1) + +E70000: MOVEI 6,3 ;PRELOAD INDEX REG WITH 3 + MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + ROT AC,(6) ;*ROT C(AC) 3 BIT POSITIONS LEFT + CAME AC,[307036,,037002] ;IS RESULT IN AC CORRECT? + ER3 AC,70001 ;INDEXING FAILED + JUMPL AC+2,E70000 ;LOOP ON ERROR SWITCH + +;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN IT IS +;INDEXED. THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO E + C(X), +;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD AND X IS THE INDEX REG. +;IN THIS CASE, C(AC)=230703,,603700, E=4, X=5 AND C(X)=0; +;HENCE, THE NET ROTATION SHOULD BE 4 BIT POSITIONS LEFT, +;AND THE RESULT IN THE AC SHOULD BE 616074,,076004. + +E70100: MOVEI 5,0 ;PRELOAD INDEX REG WITH 0 + MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + ROT AC,4(5) ;*ROT C(AC) 4 BIT POSITIONS LEFT + CAME AC,[616074,,076004] ;IS RESULT IN AC CORRECT? + ER3 AC,70101 ;INDEXING FAILED + JUMPL AC+2,E70100 ;LOOP ON ERROR SWITCH +;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN IT IS +;INDEXED. THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO E + C(X), +;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD AND X IS THE INDEX REG. +;IN THIS CASE, C(AC)=230703,,603700, E=16, X=6 AND C(X)=5; +;HENCE, THE NET ROTATION SHOULD BE 21 BIT POSITIONS LEFT, +;AND THE RESULT IN THE AC SHOULD BE 407600,,461607. + +E70200: MOVEI 6,5 ;PRELOAD INDEX REG WITH 5 + MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + ROT AC,16(6) ;*ROT C(AC) 21 BIT POSITIONS LEFT + CAME AC,[407600,,461607] ;IS RESULT IN AC CORRECT? + ER3 AC,70201 ;INDEXING FAILED + JUMPL AC+2,E70200 ;LOOP ON ERROR SWITCH +;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN E IS +;INDIRECTLY ADDRESSED. THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO C(E), +;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD. +;IN THIS CASE, C(AC)=230703,,603700, E=6 AND C(E)=35; +;HENCE, THE NET ROTATION SHOULD BE 35 BIT POSITIONS LEFT, +;AND THE RESULT IN THE AC SHOULD BE 401143,,417017. + +E70300: MOVEI 6,35 ;PRELOAD E WITH 35 + MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + ROT AC,@6 ;*ROT C(AC) 35 BIT POSITIONS LEFT + CAME AC,[401143,,417017] ;IS RESULT IN AC CORRECT? + ER3 AC,70301 ;INDIRECT ADDRESSING FAILED + JUMPL AC+2,E70400 ;LOOP ON ERROR SWITCH + +;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN E IS +;INDIRECTLY ADDRESSED. THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO THE RIGHT HALF OF C(E), +;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD. +;IN THIS CASE, C(AC)=230703,,603700, E=[0,,1] AND C(E)=15; +;HENCE, THE NET ROTATION SHOULD BE 1 BIT POSITION LEFT, +;AND THE RESULT IN THE AC SHOULD BE 461607,,407600. + +E70400: SETOM 1 ;PRELOAD AC1 WITH -1,,-1 IN CASE IND. ADR. FAILS + MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + ROT AC,@[0,,1] ;*ROT C(AC) 1 BIT POSITION LEFT + CAME AC,[461607,,407600] ;IS RESULT IN AC CORRECT? + ER3 AC,70401 ;INDIRECT ADDRESSING FAILED + JUMPL AC+2,E70400 ;LOOP ON ERROR SWITCH +;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN IT IS +;EXECUTED BY AN XCT INSTRUCTION. +;IN THIS CASE, C(AC)=230703,,603700 AND E=2. +;HENCE, THE NET ROTATION SHOULD BE 2 BIT POSITIONS LEFT, +;AND THE RESULT IN THE AC SHOULD BE 143417,,017401. + +E70500: MOVE AC,[230703,,603700] ;INITIALIZE AC WITH 230703,,603700 + XCT [ROT AC,2] ;*XCT SHOULD ROT C(AC) 2 BIT POSITIONS LEFT + CAME AC,[143417,,017401] ;IS RESULT IN AC CORRECT? + ER3 AC,70501 ;XCT OF ROT FAILED + JUMPL AC+2,E70500 ;LOOP ON ERROR SWITCH + + JRST BEGEND ;REPEAT DIAGNOSTIC diff --git a/apps/pdp10/diags/klad/dakaj/DAKAJT.MAC.txt b/apps/pdp10/diags/klad/dakaj/DAKAJT.MAC.txt new file mode 100644 index 000000000..9457cbc88 --- /dev/null +++ b/apps/pdp10/diags/klad/dakaj/DAKAJT.MAC.txt @@ -0,0 +1,135 @@ +;DAKAJ + + + MCNVER==0 + DECVER==2 + + XLIST +DEFINE NAME (MCNVER,DECVER)< + +TITLE DAKAJ PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (10) MCNVER,DECVER +> + LIST + LALL + + NAME \MCNVER,\DECVER + +;(LOGICAL SHIFT, ROTATE, ARITHMETIC SHIFT; SINGLE AND COMBINED) + +;COPYRIGHT 1975,1977 +;DIGITAL EQUIPMENT CORPORATION +;MARLBORO, MASS. 01752 + +;JOHN R. KIRCHOFF + + LOC 137 + MCNVER,,DECVER + + NOSYM +SUBTTL DIAGNOSTIC PARAMETERS + +;OPERATOR DEFINITIONS + +OPDEF ER1 [1B8] +OPDEF ER2 [2B8] +OPDEF ER3 [3B8] +OPDEF ER4 [4B8] +OPDEF ER5 [5B8] +OPDEF ER6 [6B8] +OPDEF ER7 [7B8] +OPDEF ER10 [10B8] +OPDEF ER11 [11B8] +OPDEF ER12 [12B8] +OPDEF ER13 [13B8] + +LUUO1=ERRMES +LUUO2=ERRMES +LUUO3=ERRMES +LUUO4=ERRMES +LUUO5=ERRMES +LUUO6=ERRMES +LUUO7=ERRMES +LUUO10=ERRMES +LUUO11=ERRMES +LUUO12=ERRMES +LUUO13=ERRMES +;SUBROUTINE ASSEMBLY DEFINITIONS + +DEBUG=40 +EXCASB=1 +USRASB=1 +KA10=1 +KL10=1 +KL10P0=1 +PGMEND=1 +ERDIAG=1 + +;SPECIAL FEATURE PARAMETERS + +SADR1=START +SADR2=START +SADR3=START +SADR4=START +SADR5=JRST START +SADR6=JRST START +SADR7=JRST START +SADR8=JRST START +SADR9=JRST START +SADR10=JRST START +SADR11=JRST START + +PAREA0=0 +PAREA1=0 +PAREA2=0 +PAREA3=SIXBIT/DAKAJ/ +PAREA4=SIXBIT/TMP/ +PAREA5=0 +PAREA6=0 +ITERAT==1000 + +;MACROS + +DEFINE SAVEAC (A,B)< + MOVEI AC+2,. ;SETUP TESTPC + MOVEM AC+2,TESTPC + MOVEI AC+2,&17 ;INFORM ERROR ROUTINE WHICH + MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION> + +DEFINE SETACS (WW,XX)< + MOVEI AC-1,WW ;SETUP AC-1 + HRLI AC-1,WW ;FOR COMPARISION + MOVE AC-2,&17 ;SETUP AC-2 FOR COMPARISON + MOVEI AC,XX ;SETUP AC RIGHT + HRLI AC,XX ;SETUP AC LEFT + MOVEM AC,&17 ;SETUP AC2> +;USER DEFINED MACROS + +DEFINE SR1 (T,D1A,D1B,R1A,R1B,OP,S)< +;THIS MACRO SHIFTS/ROTATES THE DATA SPECIFIED IN [XWD D1A,D1B] S BIT +;POSITIONS AND COMPARES THE RESULT IN THE AC TO THE DATA SPECIFIED IN [XWD R1A,R1B] +;IT ALSO CHECKS THAT C(AC+1) WAS NOT MODIFIED + +E'T'00: MOVE AC,[XWD D1A,D1B] ;INITIALIZE AC + MOVE AC+1,[XWD 741703,607417];INITIALIZE AC+1 + OP AC,S ;*SHIFT/ROTATE S BIT POSITIONS + CAME AC,[XWD R1A,R1B] ;IS RESULT IN AC CORRECT? + ER3 AC,T'01 ;RESULT IN AC IS INCORRECT + CAME AC+1,[XWD 741703,607417] + ER4 AC+1,T'01 ;C(AC+1) WAS MODIFIED INCORRECTLY + JUMPL AC+2,E'T'00 ;LOOP ON ERROR SWITCH> + + +DEFINE SR2 (T,D1A,D1B,D2A,D2B,R1A,R1B,R2A,R2B,OP,S)< +;THIS MACRO PERFORMS A COMBINED SHIFT/ROTATE OPERATION ON THE +;DATA SPECIFIED IN [XWD D1A,D1B] AND [XWD D2A,D2B] S BIT POSITIONS AND +;COMPARES THE RESULT IN AC AND AC+1 TO THE DATA SPECIFIED IN [XWD R1A,R1B] AND +;[XWD R2A,R2B] + +E'T'00: MOVE AC,[XWD D1A,D1B] ;INITIALIZE AC + MOVE AC+1,[XWD D2A,D2B] ;INITIALIZE AC+1 + OP AC,S ;*SHIFT/ROTATE COMBINED S PLACES + CAME AC,[XWD R1A,R1B] ;IS RESULT IN AC CORRECT? + ER3 AC,T'01 ;RESULT IN AC IS INCORRECT + CAME AC+1,[XWD R2A,R2B] ;IS RESULT IN AC+1 CORRECT? + ER4 AC+1,T'01 ;RESULT IN AC+1 IS INCORRECT + JUMPL AC+2,E'T'00 ;LOOP ON ERROR SWITCH> diff --git a/apps/pdp10/diags/klad/dakaj/README.md b/apps/pdp10/diags/klad/dakaj/README.md new file mode 100644 index 000000000..79e16fbcd --- /dev/null +++ b/apps/pdp10/diags/klad/dakaj/README.md @@ -0,0 +1,60 @@ +--- +layout: page +title: PDP-10 KA10 Basic Instruction Diagnostic #10 +permalink: /apps/pdp10/diags/klad/dakaj/ +machines: + - id: testka10 + type: pdp10 + config: /devices/pdp10/machine/ka10/test/debugger/machine.xml + debugger: true + commands: a DAKAJ.MAC +--- + +PDP-10 KA10 Basic Instruction Diagnostic #10 +-------------------------------------------- + +The *PDP-10 KA10 Basic Instruction Diagnostic #10* (MAINDEC-10-DAKAJ) test code has been extracted from +[DAKAJM.MAC](DAKAJM.MAC.txt) [[original](http://pdp-10.trailing-edge.com/klad_sources/01/klad.sources/dakajm.mac.html)] and +[DAKAJT.MAC](DAKAJT.MAC.txt) [[original](http://pdp-10.trailing-edge.com/klad_sources/01/klad.sources/dakajt.mac.html)] +for use with the [PDP-10 Test Machine with Debugger](/devices/pdp10/machine/ka10/test/debugger/) below. + +Resources for this test include: + +- [Instructions](#dakajtxt) +- [History](#dakajhst) +- [Source Code](#dakajmac) +- [MACRO-10 Listing](DAKAJ.LST.txt) +- [Additional Information](http://archive.pcjs.org/apps/pdp10/diags/klad/dakaj/DAKAJ.SEQ.txt) + +{% include machine.html id="testka10" %} + +The Debugger's assemble ("a") command can be used to test the new built-in +[MACRO-10 Mini-Assembler](/modules/pdp10/lib/macro10.js), which supports a subset +of the [MACRO-10](http://archive.pcjs.org/pubs/dec/pdp10/tops10/02_1973AsmRef_macro.pdf) assembly language. +This command: + + a DAKAJ.MAC + +will automatically read the [DAKAJ.MAC](DAKAJ.MAC.txt) source file (a slightly modified copy of [DAKAJM.MAC](DAKAJM.MAC.txt)), +assemble it, and then load the binary image at the location specified in the file. + +--- + +DAKAJ.TXT +--------- + +``` +``` + +DAKAJ.HST +--------- + + +DAKAJ.MAC +--------- + +[[Download](DAKAJ.MAC.txt)] + +{% highlight text %} +{% include_relative DAKAJ.MAC.txt %} +{% endhighlight %} diff --git a/modules/pdp10/lib/macro10.js b/modules/pdp10/lib/macro10.js index 4e939e641..e0dda0527 100644 --- a/modules/pdp10/lib/macro10.js +++ b/modules/pdp10/lib/macro10.js @@ -1132,6 +1132,48 @@ class Macro10 { return sReserved; } + /** + * getString(sValue, nConversion) + * + * Converts the given expression string (sValue) to one of the following, based on the conversion code (nConversion): + * + * 0: numeric string (default) + * 1: SIXBIT string + * 2: ASCII string + * + * If the expression cannot be evaluated, or if the requested conversion isn't recognized, the original value is returned. + * + * @this {Macro10} + * @param {string} sValue + * @param {number} [nConversion] + * @return {string} + */ + getString(sValue, nConversion = 0) + { + var c, s; + var value = this.parseExpression(sValue); + if (value !== undefined) { + var cchMax = 5; + switch(nConversion) { + case 0: + sValue = this.dbg.toStrBase(value, -1); + break; + case 6: + cchMax++; + /* falls through */ + case 7: + s = ""; + while (value && cchMax--) { + c = value & (Math.pow(2, nConversion) - 1); + s = String.fromCharCode(c + (nConversion == 6? 0x20 : 0)) + s; + value = Math.trunc(value / Math.pow(2, nConversion)); + } + break; + } + } + return sValue; + } + /** * getSymbol(sOperands) * @@ -1163,7 +1205,20 @@ class Macro10 { sOperands = sOperands.trim(); var sOperand = this.getExpression(sOperands); if (!sOperand) break; - aValues.push(sOperand); + var sValue = sOperand; + if (sOperand[0] == '\\') { + var cchPrefix = 1; + var nConversion = 0; + if (sOperand[1] == "'") { + cchPrefix++; + nConversion = 6; + } else if (sOperand[1] == '"') { + cchPrefix++; + nConversion = 7; + } + sValue = this.getString(sOperand.substr(cchPrefix), nConversion); + } + aValues.push(sValue); sOperands = sOperands.substr(sOperand.length + 1); } return aValues; diff --git a/versions/pdpjs/1.34.3/pdp10-dbg.js b/versions/pdpjs/1.34.3/pdp10-dbg.js index da41b4da0..fede68455 100644 --- a/versions/pdpjs/1.34.3/pdp10-dbg.js +++ b/versions/pdpjs/1.34.3/pdp10-dbg.js @@ -33,7 +33,7 @@ function ka(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.proto la("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});la("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); var ma={sc:0,Lb:1,uc:2,vc:3,wc:4,xc:5,yc:6,zc:7,xb:8,Ac:9,Mb:10,Bc:11,Cc:12,Nb:13,Dc:14,Ec:15,Fc:16,Gc:17,Hc:18,Ic:19,Jc:20,Kc:21,Lc:22,Mc:23,Nc:24,Oc:25,Pc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,wb:65,rc:66,tc:67,Qc:68,E:69,Rc:70,Sc:71,Tc:72,Uc:73,Vc:74,Wc:75,Xc:76,Yc:77,Zc:78,$c:79,ad:80,Q:81,bd:82,cd:83,dd:84,ed:85,fd:86,gd:87, hd:88,jd:89,Pb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,kd:97,ld:98,md:99,d:100,e:101,nd:102,od:103,pd:104,qd:105,rd:106,k:107,sd:108,td:109,n:110,ud:111,p:112,q:113,r:114,vd:115,t:116,xd:117,yd:118,zd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ob:127}; -function sa(a,b){var c;if(a){b||(b=10);var d,e,f=0g&&(g+=Math.pow(2,36)),g=0a&&-1a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));for(var g=e||-1;0=h?48:55),f=String.fromCharCode(h)+f;a=Math.trunc(a/b)}g--}return(void 0===d?"":d)+f}function ua(a,b,c){b?12=b?6:16777215>=b?8:12);return ta(a,8,b,c?"0o":"")} function va(a,b){b?11=Math.abs(a)?5:11;return ta(a,10,b)}function n(a,b,c){b?9=b?4:4294967295>=b?8:9);return ta(a,16,b,c?"0x":"")}function wa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*| )/);d=Oe(a,b,0,b.length,a.T,c);void 0!==d&&!1===c&&Ue(a,null,d)}return d} -function Pe(a,b,c,d,e){e=void 0===e?0:e;var f;if(null!=b)if(f=a.sb(b),0<=f?f=a.tb(f):(f=a.I[b],null==f&&(f=sa(b,1>>=2}f=Y(a,f)}else d||a.u("invalid "+(c?c:"value")+": "+b);else d||a.u("missing "+(c||"value"));return f} +function Pe(a,b,c,d,e){e=void 0===e?0:e;var f;if(null!=b)if(f=a.sb(b),0<=f?f=a.tb(f):(f=a.I[b],null==f&&(f=na(b,1>>=2}f=Y(a,f)}else d||a.u("invalid "+(c?c:"value")+": "+b);else d||a.u("missing "+(c||"value"));return f} function Ue(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.T?K(a,c,a.L,8,1)+" "+c+".":K(a,c,a.L,16,1)+" "+K(a,c,a.L,8,1)+" "+K(a,c,a.L,2,32>=a.L?8:6)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.u((null!=b?b+": ":"")+d);return e}function Ve(a){var b=a.I;a.I={};return b}function We(a,b){if(b)return Ue(a,b,a.I[b]);var c=0;for(b in a.I)Ue(a,b,a.I[b]),c++;return 0=a?8:262143>=a?18:36);b=ta(b,2,a,"",e);break;case 8:b=ua(b,0>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c} var Re={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"%":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},Qe={"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"%":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20},Le=Math.pow(2,32); @@ -218,16 +218,16 @@ function xg(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instr function zf(a,b,c,d){b=ff(a,b,a.M);void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Pe(a,c.substr(1)),null!=c&&(d=c);else{d=ff(a,c);if(d.Bh[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.u(l)}h[3]&&(g=h[3],f=null);h=a.ja;l=b;h.B=l.B;h.eb=l.eb;h.ra=l.ra;h.T=l.T;a.u(Bf(a,b,g,f));e-=b.B-k;c++}} function ng(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(xf+b):(a.V&&(a.u("ended assemble at "+K(a,a.ja.B,18)),a.V=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ba=null;if(Lb(a)&&0p||"z"oa.length&&(a.u("note: only "+oa.length+" available"),ea=oa.length);ja-=ea;0>ja&&(null==oa[oa.length-1].B?(ea=ja+ea,ja=0):ja+=oa.length);var Nd=[];"call"==Qf&&(Bb= -1E5,Nd=["CALL"]);for(void 0!==Pf&&a.u(ea+" instructions earlier:");0=oa.length&&(ja=0);a.Ea=ea;Sf++;Bb--}}Sf||(a.u("no "+Rf+"history available"),a.Ea=void 0)}else{var Ma=0,Vf="ds"==gb,Db=ff(a,na,a.pa);Da&&("l"==Da.charAt(0)?(Da=Da.substr(1)||Eh,Ma=Pe(a,Da)):Ma=ff(a,Da).B-Db.B,0>Ma&&(Ma=0),65536Eb?".":String.fromCharCode(Eb)),Hc=Hc-7}Na&&(Na+="\n");Na=Vf?Na+(pa+","):Na+(na+": "+pa+(0>Xf?" "+Qd:""))}Na&&a.u(Na);a.T=Gh}}}break;case "e":if("else"== +D)a.u("missing breakpoint address");else{var I="*"==D?Z():ff(a,D,a.M);"c"==P?null==I.B?(Ye(a),a.u("all breakpoints cleared")):Kf(a,a.b,I)||Kf(a,a.N,I)||Kf(a,a.K,I)||a.u("breakpoint missing: "+K(a,I.B,18)):null!=I.B&&(hf(a,I,H),"p"==P?a.Ra(a.b,I):"r"==P?a.Ra(a.N,I):"w"==P?a.Ra(a.K,I):a.u("unknown breakpoint command: "+P))}}break;case "c":a.za&&(a.za.value="");break;case "d":a:{var fb,gb=g[0],oa=g[1],Da=g[2],Eh=g[3];if("?"==oa){var hb="";for(fb in ac)a.xa[fb]&&(hb&&(hb+=","),hb+=fb);hb+=",state,symbols"; +a.u("dump memory commands:");a.u("\tdw [a] [n] dump n words at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");hb.length&&a.u("dump extension commands:\n\t"+hb)}else if("state"==oa){var Kd=yg(a.H,!0);"console"==Da?console.log(Kd):(a.za&&(a.za.value=""),Kd&&a.u(Kd))}else if("symbols"==oa)for(var Ld=0;Ldpa.length&&(a.u("note: only "+pa.length+" available"),ea=pa.length);ja-=ea;0>ja&&(null==pa[pa.length-1].B?(ea=ja+ea,ja=0):ja+=pa.length);var Nd=[];"call"==Qf&&(Bb= +1E5,Nd=["CALL"]);for(void 0!==Pf&&a.u(ea+" instructions earlier:");0=pa.length&&(ja=0);a.Ea=ea;Sf++;Bb--}}Sf||(a.u("no "+Rf+"history available"),a.Ea=void 0)}else{var Ma=0,Vf="ds"==gb,Db=ff(a,oa,a.pa);Da&&("l"==Da.charAt(0)?(Da=Da.substr(1)||Eh,Ma=Pe(a,Da)):Ma=ff(a,Da).B-Db.B,0>Ma&&(Ma=0),65536Eb?".":String.fromCharCode(Eb)),Hc=Hc-7}Na&&(Na+="\n");Na=Vf?Na+(qa+","):Na+(oa+": "+qa+(0>Xf?" "+Qd:""))}Na&&a.u(Na);a.T=Gh}}}break;case "e":if("else"== g[0])break;var Yf,Zf,$f=g[0],Sd=g[1];"e"==$f||"ew"==$f?(Yf=a.Ma,Zf=a.yb):Sd=null;if(null==Sd)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else for(var Td=ff(a,Sd,a.pa),Ud=2;UdWd;){for(var Oa=null,Lh=256;65536>Hb.B>>>0;){Xd.B=a.Ma(Hb,2);if(null==Hb.B||!Lh--)break;if(!(Xd.B& -1)){for(var Mh=a,Ic=Xd,cg=null,Ib=Ic.B,dg=Ib,Yd=1;6>=Yd&&Ib;Yd++){if(2jg)a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update"); +1)){for(var Mh=a,Ic=Xd,cg=null,Ib=Ic.B,dg=Ib,Yd=1;6>=Yd&&Ib;Yd++){if(2jg)a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update"); else if(a.P)a.u("step in progress");else{var kg=Z(a.v.i);a.Ma(kg);a.P?(a.Ra(a.b,kg,!0),vf(a)||(a.H&&id(a.H),a.P=0)):xg(a,jg?"tr":"t")}break;case "r":if("reset"==b){a.H&&a.H.reset();break}yf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var jb=+g[2];if(2==jb||8==jb||10==jb||16==jb)a.T=jb;else{a.u("invalid base: "+jb);break}}a.u("default base: "+a.T);break;case "cs":var Kb;void 0!==g[3]&&(Kb=+g[3]);switch(g[2]){case "int":a.v.oa=Kb;break;case "start":a.v.Ha=Kb;break;case "stop":a.v.qa=Kb; break;default:a.u("unknown cs option");break a}void 0!==Kb&&ad(a.v);a.u("checksums "+(a.v.A.Va?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(fd(a.v,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));a.u("target speed: "+(a.v.ia.toFixed(2)+"Mhz")+" ("+a.v.ja+"x)");break;default:if(g[1]){a.u("unknown option: "+g[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"),a.u("\tcs start #\tset checksum cycle start count to #"), a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":xg(a,g[0],g[1]);break;case "u":zf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){ug(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((Rb||"PDP10")+" version 1.34.3 ("+a.v.Db+",RELEASE)");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){wg(a,b.substr(1));break}var Zd="commands:",$d;for($d in zg)Zd+="\n"+Ba($d,9)+zg[$d];sd(a)||(Zd+="\nnote: history disabled if no exec breakpoints"); @@ -251,7 +251,7 @@ function th(a){if(a.w.length){var b=a.w[a.w.length-1].name;b&&a.M.push({name:b,R function vh(a,b){var c;c=void 0===c?",":c;for(var d=0,e=!1,f=null,g=0;d"==h&&0>--g){a.error("missing bracket(s): "+b);break}}}g?0=--c){g=e;break}}0>c&&a.error("missing bracket(s): "+b);0<=f&&(d=b.substr(f,g-f));return d}function Ug(a,b){var c=null;if(b=b.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)){c=b[0];b=b[1];var d="?"+b;if(!a.j[d]){var e,f,g;e=f=g=[];a.j[d]={name:d,Sa:wh,Ua:e,Ab:f,Qa:g,ma:b+": 0",da:a.da};a.L.push(d)}}return c} -function uh(a,b,c){var d=[];for(c&&(b=b.replace(/^\(?(.*?)\)?$/,"$1"));b;){b=b.trim();c=vh(a,b);if(!c)break;d.push(c);b=b.substr(c.length+1)}return d} +function uh(a,b,c){var d=[];for(c&&(b=b.replace(/^\(?(.*?)\)?$/,"$1"));b;){b=b.trim();c=vh(a,b);if(!c)break;var e=c;if("\\"==c[0]){var f=1,g=0;"'"==c[1]?(f++,g=6):'"'==c[1]&&(f++,g=7);var e=a,f=c.substr(f),g=void 0===g?0:g,h=Jg(e,f);if(void 0!==h){var k=5;switch(g){case 0:f=K(e.b,h,-1);break;case 6:k++;case 7:for(;h&&k--;)h=Math.trunc(h/Math.pow(2,g))}}e=f}d.push(e);b=b.substr(c.length+1)}return d} function Mg(a,b){var c=b;null==a.D&&(a.D=a.C="",b&&(a.D=b[0],c=b=b.substr(1)));if(a.D){var d=b.indexOf(a.D);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.D=null);a.C+=b}if(null==a.D){var d=b=0,e,f,g=a.C.length;a.K==Xg&&g++;for(var h=0;h=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,f);f-=e;b++;0>f&&(Hg(a,d),b=0)}b&&Hg(a,d)}return c} function Sg(a,b,c){var d,e,f,g,h,k;a.J="<";a.F=">";g=h=k=[];if(b==dh){e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*,?\s*(<|)([\s\S]*)/i);if(!e)return a.error("unrecognized "+b+": "+c),c;f=e[1];if(e[2]&&","!=e[2]){h=g=uh(a,e[2],!0);b=[];for(c=0;c");0>l&&(l=h[c].length);b[c]=h[c].substr(d,l-d);h[c]=h[c].substr(0,d)}h=b}b=xh;c=3}else if(b==ih){a.J="[";a.F="]";e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\[)([\s\S]*)/i);if(!e)return a.error("unrecognized "+ b+": "+c),c;f=e[1];b=rh;c=2}else if(b==Tg)a.J="[",a.F="]",f="?"+va(++a.V,5),a.j[f]&&a.error("literal symbol redefined: "+f),e=[c[0],c.substr(1)],b=yh,c=0;else if(b==Ng||b==Og){a.v||a.error(b+" outside of macro");e=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*,\s*(<|)([\s\S]*)/i);if(!e)return a.error("unrecognized "+b+": "+c),c;for(d=0;d