DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 1 DAKAFT MAC 19-JAN-77 17:08 DIAGNOSTIC PARAMETERS SEQ 0007 1 ;DAKAF 2 3 4 5 000002 DECVER==2 6 000000 MCNVER==0 7 8 XLIST 9 LIST 10 LALL 11 NAME \MCNVER,\DECVER^ 12 13 TITLE DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 14 ^ 15 16 ;TEST DESIGNED FOR INITIAL DEBUGGING OF PROCESSOR HARDWARE 17 ;AND TO DETECT (SOLID) FAILURES IN THE FIELD. 18 19 ;COPYRIGHT 1972,1977 20 ;DIGITAL EQUIPMENT CORPORATION 21 ;MARLBORO, MASS. 01752 22 23 ;JOHN R. KIRCHOFF 24 25 000137 LOC 137 26 000137 000000 000002 MCNVER,,DECVER 27 28 NOSYM DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 2 DAKAFT MAC 19-JAN-77 17:08 DIAGNOSTIC PARAMETERS SEQ 0008 29 SUBTTL DIAGNOSTIC PARAMETERS 30 31 ;PARAMETER DEFINITIONS 32 000001 EXCASB==1 33 000001 USRASB==1 34 000001 PGMEND==1 35 000100 DEBUG==100 36 37 ;FLAG DEFINITIONS 38 010000 USERF=10000 ;USER MODE FLAG 39 40 41 ;MACROS 42 43 ;SPECIAL FEATURE PARAMETERS 44 45 030712 SADR1=START 46 030712 SADR2=START 47 030712 SADR3=START 48 030712 SADR4=START 49 254000 030712 SADR5=JRST START 50 254000 030712 SADR6=JRST START 51 254000 030712 SADR7=JRST START 52 254000 030712 SADR8=JRST START 53 254000 030712 SADR9=JRST START 54 254000 030712 SADR10=JRST START 55 254000 030712 SADR11=JRST START 56 57 000000 PAREA0=0 58 000000 PAREA1=0 59 000000 PAREA2=0 60 444153 414600 PAREA3=SIXBIT/DAKAF/ 61 645560 000000 PAREA4=SIXBIT/TMP/ 62 000000 PAREA5=0 63 000000 PAREA6=0 64 001000 ITERAT==1000 65 000001 PGMEND==1 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 3 DAKAFT MAC 19-JAN-77 17:08 DIAGNOSTIC PARAMETERS SEQ 0009 66 SUBTTL DIAGNOSTIC PARAMETERS 67 68 ;ACCUMULATOR ASSIGNMENTS 69 70 ;CONTROL WORDS 71 72 400000 AROV=400000 ;ARITHMETIC OVERFLOW 73 200000 CRY0=200000 ;CARRY 0 74 100000 CRY1=100000 ;CARRY 1 75 040000 FOV=40000 ;FLOATING OVERFLOW 76 020000 BIS=20000 ;BYTE INTERRUPT 77 010000 USERF=10000 ;USER MODE FLAG 78 004000 EXIOT=4000 ;USER PRIV I/O FLAG 79 000100 FXU=100 ;FLOATING UNDERFLOW 80 000040 DCK=40 ;DIVIDE CHECK 81 82 83 ;MACROS 84 85 ; STOP - USED FOR SCOPE LOOP, IF INSTRUCTION FAILS, CHANGE (JUMPA .+1) 86 ; TO A (JUMPA X) TO CYCLE ON FAILING INSTRUCTION 87 88 DEFINE STOP (A)< 89 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 90 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 91 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 92 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 93 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1> 94 95 ; SFLAG - USED TO CLEAR ALL FLAGS THEN TO SET REQUESTED FLAG 96 97 DEFINE SFLAG (A)< 98 MOVSI 1,A 99 JFCL 17,.+1 ;RESET ALL FLAGS 100 JRST 2,.+1(1) ;SET A FLAG> DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 1 PARAM KLM 18-JAN-77 11:38 *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977 SEQ 0010 101 SUBTTL *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977 102 103 DEFINE S,<;*********************************************************************> 104 105 S^;*********************************************************************^ 106 ;*DATA SWITCHES (READ FROM CONSOLE IN EXEC MODE OR TYPED IN IN USER MODE) 107 ;*LEFT HALF SWITCHES ARE PRE-ASSIGNED FOR SUBROUTINE PACKAGE USE 108 ;*AND CONTROL LOOPING, PRINTING (TTY OR OTHER DEVICE) AND MISC. FUNCTIONS 109 S^;*********************************************************************^ 110 111 400000 ABORT== 400000 ;ABORT PROGRAM ON PASS COMPLETION 112 200000 RSTART==200000 ;RESTART TEST, PRINT TOTALS 113 100000 TOTALS==100000 ;PRINT TOTALS, CONTINUE 114 115 040000 NOPNT== 040000 ;INHIBIT ALL PRINT/TYPE OUT (EXCEPT FORCED) 116 020000 PNTLPT==020000 ;PRINT ALL DATA ON LPT (LOGICAL DEVICE, USER MODE) 117 010000 DING== 010000 ;RING BELL ON ERROR 118 119 004000 LOOPER==004000 ;ENTER EXERCISE/CHECK LOOP ON ERROR 120 002000 ERSTOP==002000 ;HALT ON TEST ERROR 121 001000 PALERS==001000 ;PRINT ALL ERRORS 122 123 000400 RELIAB==000400 ;RELIABILITY MODE 124 000200 TXTINH==000200 ;INHIBIT ERROR TEXT 125 000100 INHPAG==000100 ;INHIBIT PAGING 126 127 000040 MODDVC==000040 ;MODIFY DEVICE CODE 128 000020 INHCSH==000020 ;INHIBIT CACHE 129 000010 OPRSEL==000010 ;OPERATOR SELECTION 130 131 000004 CHAIN== 000004 ;CHAIN CONTROL SWITCH 132 133 000002 KAHZ50==000002 ;KA10 50 HERTZ POWER 134 135 ;SWITCH 17 RESERVED !!! DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 2 PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0011 136 SUBTTL *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 137 138 S^;*********************************************************************^ 139 ;*SPECIAL SUBPROGRAM LINKAGES 140 S^;*********************************************************************^ 141 142 027772 FSELNK= 27772 ;FILE SELECT LINK 143 027773 FRDLNK= 27773 ;FILE READ LINK 144 027774 LDLNK= 27774 ;LOAD LINKAGE ADDRESS 145 027775 DDTLNK= 27775 ;DDT LINKAGE ADDRESS 146 027776 MODLNK= 27776 ;OPERATIONAL MODE CHECK LINKAGE ADDRESS 147 027777 SUBLNK= 27777 ;SUBROUTINE LINKAGE ADDRESS 148 149 S^;*********************************************************************^ 150 ;*SPECIAL SUBROUTINE FATAL HALTS 151 ;*USED TO REPORT ERRORS THAT CAUSE THE SUBROUTINES TO BE UNUSABLE 152 S^;*********************************************************************^ 153 154 ;ADDRESS TAG REASON 155 ;--------------------- 156 157 ; 1010 NOEXEC ;PROGRAM NOT CODED FOR EXEC MODE OPERATION 158 ; 1011 PLERR ;FATAL PUSH LIST POINTER ERROR 159 ; 1012 PLERR1 ;INITIAL PUSH LIST POINTER ERROR 160 ; 1013 MUOERR ;MUUO WITH LUUO HANDLER WIPED OUT 161 ; 1014 DTEBER ;DTE20 INTERRUPT WITHOUT DOORBELL 162 ; 1015 DTECER ;DTE20 CLOCK INTERRUPT WITHOUT FLAG SET 163 ; 1016 CPIERR ;CPU INITIALIZATION ERROR 164 ; 1017 EOPERR ;END OF PROGRAM ERROR 165 ; 1020 LUOERR ;INTERRUPT WITH LUUO HANDLER WIPED OUT 166 167 S^;*********************************************************************^ DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 3 PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0012 168 S^;*********************************************************************^ 169 ;OPERATOR DEFINITIONS (NON-UUO'S) 170 S^;*********************************************************************^ 171 172 260740 000000 OPDEF GO [PUSHJ P,] ;SUBROUTINE CALL 173 263740 000000 OPDEF RTN [POPJ P,] ;SUBROUTINE RETURN 174 261740 000000 OPDEF PUT [PUSH P,] ;PUT DATA ON PUSH LIST 175 262740 000000 OPDEF GET [POP P,] ;GET DATA FROM PUSH LIST 176 254000 000000 OPDEF PJRST [JRST ] ;JRST TO ROUTINE THAT RTN'S 177 254200 000000 OPDEF HALT [JRST 4,] ;DEFINITION FOR DDT 178 254100 000000 OPDEF JRSTF [JRST 2,] ;DEFINITION FOR DDT 179 254500 000000 OPDEF JEN [JRST 12,] ;DEFINITION FOR DDT 180 181 S^;*********************************************************************^ 182 ;*SUBROUTINE INITIALIZATION CALL 183 S^;*********************************************************************^ 184 185 265000 030011 OPDEF PGMINT [JSP 0,SBINIT] ;SUBROUTINE INITIALIZATION 186 187 S^;*********************************************************************^ 188 ;*HALTING UUO'S (A MORE GRACEFUL HALT THAN SIMPLY USING THE HALT INSTRUCTION). 189 S^;*********************************************************************^ 190 191 037640 000004 OPDEF FATAL [37B8!15B12!4] ;FATAL PROGRAMMING HALT 192 037600 000004 OPDEF ERRHLT [37B8!14B12!4] ;PROGRAM ERROR HALT 193 194 S^;*********************************************************************^ 195 ;*TERMINAL INPUT UUO'S 196 ;*ALWAYS COME FROM THE CONSOLE TERMINAL IN EXEC MODE OR THE 197 ;*CONTROLLING TERMINAL (REAL TERMINAL OR PTY) IN USER MODE. 198 S^;*********************************************************************^ 199 200 037000 000003 OPDEF TTICHR [37B8!0B12!3] ;TTY, INPUT ANY CHARACTER 201 037040 000003 OPDEF TTIYES [37B8!1B12!3] ;TTY, NORMAL RETURN Y 202 037100 000003 OPDEF TTINO [37B8!2B12!3] ;TTY, NORMAL RETURN N 203 037140 000003 OPDEF TTIOCT [37B8!3B12!3] ;TTY, INPUT OCTAL WORD 204 037200 000003 OPDEF TTIDEC [37B8!4B12!3] ;TTY, INPUT DECIMAL WORD 205 037240 000003 OPDEF TTICNV [37B8!5B12!3] ;TTY, INPUT CONVERTABLE WORD 206 037300 000003 OPDEF TTLOOK [37B8!6B12!3] ;TTY, KEYBOARD CHECK 207 037340 000003 OPDEF TTALTM [37B8!7B12!3] ;TTY, ALT-MODE CHECK 208 037400 000003 OPDEF TTSIXB [37B8!10B12!3] ;TTY, INPUT SIXBIT WORD 209 037440 000003 OPDEF TTYINP [37B8!11B12!3] ;TTY, IMAGE MODE INPUT DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 4 PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0013 210 ;*TERMINAL OUTPUT UUO'S. 211 212 037000 000000 OPDEF PNTA [37B8!0B12!0] ;PRINT ASCII WORD 213 037000 000001 OPDEF PNTAF [37B8!0B12!1] ;PRINT ASCII WORD FORCED 214 037740 000000 OPDEF PNTAL [37B8!17B12!0] ;PRINT ASCIZ LINE 215 037740 000001 OPDEF PNTALF [37B8!17B12!1] ;PRINT ASCIZ LINE FORCED 216 037600 000003 OPDEF PSIXL [37B8!14B12!3] ;PRINT SIXBIT'Z LINE 217 037640 000003 OPDEF PSIXLF [37B8!15B12!3] ;PRINT SIXBIT'Z LINE FORCED 218 037000 000000 OPDEF PNTMSG [37B8!0B12!0] ;PRINT MESSAGE IMMEDIATE 219 037040 000000 OPDEF PNTMSF [37B8!1B12!0] ;PRINT MESSAGE IMMEDIATE FORCED 220 037100 000000 OPDEF PSIXM [37B8!2B12!0] ;PRINT SIXBIT'Z MSG IMMEDIATE 221 037200 000000 OPDEF PSIXMF [37B8!4B12!0] ;PRINT SIXBIT'Z MSG IMM FORCED 222 037000 000000 OPDEF PNTCI [37B8!0B12!0] ;PRINT CHARACTER IMMEDIATE 223 037040 000000 OPDEF PNTCIF [37B8!1B12!0] ;PRINT CHARACTER IMMEDIATE FORCED 224 037500 000000 OPDEF PNTCHR [37B8!12B12!0] ;PRINT CHARACTER 225 037500 000001 OPDEF PNTCHF [37B8!12B12!1] ;PRINT CHARACTER FORCED 226 037040 000000 OPDEF PNT1 [37B8!1B12!0] ;PRINT ONE OCTAL DIGIT 227 037040 000001 OPDEF PNT1F [37B8!1B12!1] ;PRINT 1 OCTAL DIGIT FORCED 228 037100 000000 OPDEF PNT2 [37B8!2B12!0] ;PRINT TWO OCTAL DIGITS 229 037100 000001 OPDEF PNT2F [37B8!2B12!1] ;PRINT 2 OCTAL DIGITS FORCED 230 037140 000000 OPDEF PNT3 [37B8!3B12!0] ;PRINT THREE OCTAL DIGITS 231 037140 000001 OPDEF PNT3F [37B8!3B12!1] ;PRINT THREE OCTAL DIGITS FORCED 232 037200 000000 OPDEF PNT4 [37B8!4B12!0] ;PRINT FOUR OCTAL DIGITS 233 037200 000001 OPDEF PNT4F [37B8!4B12!1] ;PRINT FOUR OCTAL DIGITS FORCED 234 037240 000000 OPDEF PNT5 [37B8!5B12!0] ;PRINT FIVE OCTAL DIGITS 235 037240 000001 OPDEF PNT5F [37B8!5B12!1] ;PRINT FIVE OCTAL DIGITS FORCED 236 037300 000000 OPDEF PNT6 [37B8!6B12!0] ;PRINT SIX OCTAL DIGITS 237 037300 000001 OPDEF PNT6F [37B8!6B12!1] ;PRINT SIX OCTAL DIGITS FORCED 238 037340 000000 OPDEF PNT7 [37B8!7B12!0] ;PRINT 7 OCTAL DIGITS 239 037340 000001 OPDEF PNT7F [37B8!7B12!1] ;PRINT 7 OCTAL DIGITS FORCED 240 037440 000000 OPDEF PNT11 [37B8!11B12!0] ;PRINT 11 OCTAL DIGITS 241 037440 000001 OPDEF PNT11F [37B8!11B12!1] ;PRINT 11 OCTAL DIGITS FORCED. 242 037400 000000 OPDEF PNTADR [37B8!10B12!0] ;PRINT PHYSICAL ADDRESS 243 037400 000001 OPDEF PNTADF [37B8!10B12!1] ;PRINT PHYSICAL ADDRESS FORCED 244 037600 000000 OPDEF PNTOCT [37B8!14B12!0] ;PRINT FULL WORD OCTAL 245 037600 000001 OPDEF PNTOTF [37B8!14B12!1] ;PRINT FULL WORD OCTAL FORCED 246 037540 000000 OPDEF PNTHW [37B8!13B12!0] ;PRINT OCTAL HALF WORDS, 6 SP 6 247 037540 000001 OPDEF PNTHWF [37B8!13B12!1] ;PRINT OCTAL HALF WORDS, 6 SP 6 FORCED 248 037700 000003 OPDEF PNTOCS [37B8!16B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S 249 037740 000003 OPDEF PNTOCF [37B8!17B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S FORCED 250 037640 000000 OPDEF PNTDEC [37B8!15B12!0] ;PRINT DECIMAL, SUPRESS LEADING 0'S 251 037640 000001 OPDEF PNTDCF [37B8!15B12!1] ;PRINT DECIMAL, SUPRESS LEADING 0'S FORCED 252 037700 000000 OPDEF PNTDS [37B8!16B12!0] ;PRINT DECIMAL, SPACES FOR LD 0'S 253 037700 000001 OPDEF PNTDSF [37B8!16B12!1] ;PRINT DECIMAL, SPACES FOR LD 0'S FORCED 254 037200 000002 OPDEF PNTNM [37B8!4B12!2] ;PRINT PROGRAM NAME 255 037000 000002 OPDEF PNTSIX [37B8!0B12!2] ;PRINT SIXBIT WORD 256 037040 000002 OPDEF PNTSXF [37B8!1B12!2] ;PRINT SIXBIT WORD FORCED 257 037240 000002 OPDEF DROPDV [37B8!5B12!2] ;CLOSE LOGICAL FILE, USER MODE 258 037100 000002 OPDEF PNTCW [37B8!2B12!2] ;PRINT DF10 CONTROL WORD 259 037140 000002 OPDEF PNTCWF [37B8!3B12!2] ;PRINT DF10 CONTROL WORD FORCED 260 037000 030242 OPDEF PCRL [37B8!0B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED 261 037040 030242 OPDEF PCRLF [37B8!1B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED FORCED 262 037000 000040 OPDEF PSP [37B8!0B12!40] ;PRINT SPACE 263 037040 000040 OPDEF PSPF [37B8!1B12!40] ;PRINT SPACE FORCED 264 037000 030243 OPDEF PCRL2 [37B8!0B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 4-1 PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0014 265 037040 030243 OPDEF PCRL2F [37B8!1B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) FORCED 266 037040 000007 OPDEF PBELL [37B8!1B12!7] ;PRINT TTY BELL 267 268 037040 000026 OPDEF PFORCE [37B8!1B12!26] ;PRINT FORCE, CONTROL O OVERRIDE 269 270 DEFINE PMSG (ARG),< 271 PSIXM [SIXBIT\ARG'_\]> 272 273 DEFINE PMSGF (ARG),< 274 PSIXMF [SIXBIT\ARG'_\]> 275 276 ;*SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING 277 ;* CONSERVES CORE OVER ASCIZ 278 279 DEFINE SIXBTZ (ARG),< [SIXBIT\ARG'_\]> 280 281 ;*CONSOLE SWITCH INPUT UUO. 282 ;*READS CONSOLE SWITCHES IF IN EXEC MODE OR ASKS FOR THEM IF 283 ;* USER MODE. 284 285 037400 000002 OPDEF SWITCH [37B8!10B12!2] ;INPUT CONSOLE SWITCHES 286 287 ;*CLOCK INITIALIZATION UUO - TO SET DESIRED CLOCK OPERATION 288 ;*EITHER IGNORE CLOCK, ONLY LET IT TICK OR CAUSE INTERRUPT TO OCCUR. 289 290 037540 000004 OPDEF CLOKOP [37B8!13B12!4] ;CLOCK OPERATION UUO - PDP-11 CLOCK 291 037200 000004 OPDEF MTROP [37B8!4B12!4] ;CLOCK OPERATION UUO - DK20 METER 292 293 ;*KL10 ONLY CACHE OPERATION UUO'S 294 295 037040 000004 OPDEF CINVAL [37B8!1B12!4] ;CACHE INVALIDATE 296 037100 000004 OPDEF CFLUSH [37B8!2B12!4] ;CACHE FLUSH 297 037140 000004 OPDEF CWRTBI [37B8!3B12!4] ;CACHE WRITE-BACK & INVALIDATE DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 5 PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0015 298 ;*END OF PASS/PROGRAM UUOS 299 300 ;PERFORMS THE END OF PASS FUNCTIONS. INCREMENT PASS COUNT, 301 ;*DECREMENT ITERATION COUNT, CHECK IF FINISHED WITH THIS PROGRAM ETC. 302 303 037500 000004 OPDEF ENDUUO [37B8!12B12!4] ;UUO TO DISPLAY LIGHTS 304 037700 000004 OPDEF EOPUUO [37B8!16B12!4] ;END OF PROGRAM UUO 305 306 ;*MEMORY MANAGEMENT UUO'S 307 ;*UUO'S TO PERFORM VARIOUS MEMORY FUNCTIONS. MAPPING, ZEROING, PAGING, 308 ;*ADDRESS CONVERSION, ETC... 309 310 037000 000004 OPDEF MAPMEM [37B8!0B12!4] ;MAP MEMORY 311 037500 000002 OPDEF MEMZRO [37B8!12B12!2] ;ZERO MEMORY 312 037440 000002 OPDEF MEMSEG [37B8!11B12!2] ;SETUP MEMORY SEGMENT 313 037540 000002 OPDEF MAPADR [37B8!13B12!2] ;VIRTUAL TO PHYSICAL ADR CONVERT 314 037640 000002 OPDEF MAPCNK [37B8!15B12!2] ;MAP MEMORY CHUNK 315 037600 000002 OPDEF MAPSET [37B8!14B12!2] ;SET KI10 EXEC PAGE MAP 316 037740 000002 OPDEF MAPPNT [37B8!17B12!2] ;PRINT MEMORY MAP 317 318 ;*DEVICE CODE MODIFICATION UUO 319 ;*ALLOWS THE MODIFICATION OF IOT'S TO ONE DEVICE TO BE CHANGED TO 320 ;*IOT'S TO A DIFFERENT DEVICE CODE. 321 322 037340 000002 OPDEF MODPCU [37B8!7B12!2] ;MODIFY PERHIPERAL CODE, USER 323 037300 000002 OPDEF MODPCP [37B8!6B12!2] ;MODIFY PERHIPERAL CODE, PROGRAM 324 325 030000 IFNDEF MODDVL, 326 030000 IFNDEF MODDVU, 327 328 ;*"DIAMON" FILE SELECTION AND READ UUOS 329 330 037240 000004 OPDEF FSELECT [37B8!5B12!4] ;FILE SELECTION 331 037300 000004 OPDEF FREAD [37B8!6B12!4] ;FILE READ - ASCII DATA 332 037340 000004 OPDEF FRD36 [37B8!7B12!4] ;FILE READ - 36 BIT DATA 333 037400 000004 OPDEF FRD8 [37B8!10B12!4] ;FILE READ - 8 BIT DATA 334 335 ;*KI10 ONLY UUO FOR PRINTING MARGIN VALUES 336 337 037700 000002 OPDEF PNTMGN [37B8!16B12!2] ;PRINT MARGIN VALUE 338 339 XLIST 340 IFNDEF KLOLD, 366 367 ;*A MACRO TO REPORT AN ERROR AND NOT LOOP 368 369 DEFINE ERROR1 (FORMAT,CORECT,ACTUAL,F,D,ERR)< 370 SALL 371 ERUUO FORMAT,[T,,[SIXBIT\F'_\] 372 CORECT,,ACTUAL 373 [SIXBIT\D'_\],,ERR] 374 XALL > 375 376 >;END OF KLOLD CONDITIONAL 377 378 XLIST 379 LIST DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 1 FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0017 380 SUBTTL *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 381 382 030000 LOC 30000 383 384 S^;*********************************************************************^ 385 ;*PROGRAM STARTING ADDRESSES 386 ;*THESE ADDRESSES CALL VARIOUS SPECIAL START ROUTINES AND OR OPTIONS 387 ;*NORMAL START ADDRESS IS 30000 ALL OTHERS ARE SPECIAL. INVOKED BECAUSE 388 ;*OF END OF PASS, POWER FAILURE, DDT START, RE-ENTERING(TYPICALLY USER 389 ;*MODE), OR ANY NUMBER OF SPECIAL FEATURE TESTS. 390 S^;*********************************************************************^ 391 392 030000 254 00 1 00 027776 BEGIN: JRST @MODLNK ;STAND-ALONE START 393 030001 254 00 0 00 030712 $START: JRST START ;MODE CHECK STARTING ADDRESS 394 395 030002 254 00 1 00 027774 DIAGMN: JRST @LDLNK ;DIAGNOSTIC MONITOR START 396 397 030003 254 00 1 00 027774 SYSEXR: JRST @LDLNK ;SYSTEM EXERCISER START 398 399 030004 254 00 0 00 030712 SFSTRT: JRST SADR1 ;SPECIAL FEATURE START 400 401 030005 254 00 0 00 030712 PFSTRT: JRST SADR2 ;POWER FAIL RESTART 402 403 030006 254 00 0 00 030712 REENTR: JRST SADR3 ;REENTER START(USUALLY USER MODE ONLY) 404 405 030007 SRTDDT: ;COMMONLY MISTAKEN NAME FOR "DDTSRT" 406 030007 254 00 1 00 027775 DDTSRT: JRST @DDTLNK ;DDT START 407 408 030010 254 00 0 00 030741 BEGIN1: JRST STARTA ;LOOP START(END OF PASS COMES HERE) 409 030011 254 00 1 00 027777 SBINIT: JRST @SUBLNK ;PMGINT LINKAGE 410 030012 000000 000000 RETURN: 0 ;RETURN ADDRESS STORAGE 411 412 030013 254000 030712 START1: SADR7 ;OPTIONAL STARTING ADR/INSTRUCTIONS 413 030014 254000 030712 START2: SADR8 ; " 414 030015 254000 030712 START3: SADR9 ; " 415 030016 254000 030712 START4: SADR10 ; " 416 030017 254000 030712 START5: SADR11 ; " DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 2 FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0018 417 S^;*********************************************************************^ 418 ;*PROGRAM FIXED PARAMETER AREA 419 S^;*********************************************************************^ 420 421 030020 444153 414600 PNTNAM: PAREA3 ;SIXBIT PROGRAM NAME 422 030021 645560 000000 PNTEXT: PAREA4 ;SIXBIT PROGRAM EXTENSION 423 030022 000000 000000 RANDBS: PAREA1 ;RANDOM BASE NUMBER 424 030023 000000 000000 SWTEXR: PAREA2 ;SYSTEM EXERCISER SWITCHES 425 030024 000000 001000 ITRCNT: ITERAT ;PROGRAM ITERATIONS 426 030025 000000 030725 $PNAME: PGMNAM ;POINTER TO PROGRAMS NAME 427 030026 000000 000002 $PVER: MCNVER,,DECVER ;MCN & DEC VERSION LEVEL 428 030027 000000 030000 $MODVL: MODDVL ;DEVICE CODE CHANGE LOWER LIMIT 429 030030 000000 030000 $MODVU: MODDVU ;DEVICE CODE CHANGE UPPER LIMIT 430 030031 777777 777777 $EMODE: IFNDEF EXCASB,<0> IFDEF EXCASB,<-1> ;EXEC ALLOWED 431 030032 777777 777777 $UMODE: IFNDEF USRASB,<0> IFDEF USRASB,<-1> ;USER ALLOWED 432 030033 000000 000000 $DSKUP: IFNDEF DSKUPD,<0> IFDEF DSKUPD,<-1> ;DISK UPDATE MODE 433 030034 000000 000000 $MMAP: IFNDEF MEMMAP,<0> IFDEF MEMMAP,<-1> ;ALLOW MEMORY RTNS 434 030035 000000 000000 PAREA7: PAREA5 ;OPTIONAL PARAMETER 435 030036 000000 000000 PAREA8: PAREA6 ;OPTIONAL PARAMETER 436 437 S^;*********************************************************************^ 438 ;*PROGRAM VARIABLE PARAMETER AREA 439 S^;*********************************************************************^ 440 441 030037 000000 000000 USER: 0 ; 0 = EXEC, -1 = USER MODE FLAG 442 030040 000000 000000 KAIFLG: 0 ;PROCESSOR TYPE, 0 = KA10, -1 = KI10 443 030041 000000 000000 KLFLG: 0 ;PROCESSOR TYPE, 0 = KA/KI, -1 = KL10 444 030042 777777 777777 MONFLG: -1 ;DIAG MONITOR SPECIAL USER FLAG 445 030043 000000 000000 MONCTL: 0 ;DIAG MON/SYS EXR FLAG 446 030044 000000 000000 MONTEN: 0 ;-1= LOADED BY 10 447 030045 000000 000000 CLOCKF: 0 ;CLOCK TICKED FLAG 448 030046 000000 000000 CONSW: 0 ;CONSOLE SWITCH SETTINGS 449 030047 000000 000000 PASCNT: 0 ;PROGRAM PASS COUNT 450 030050 000000 000000 RUNFLG: 0 ;PROGRAM RUN FLAG 451 030051 000000 000000 TESTPC: 0 ;SUBTEST PC 452 030052 000000 000000 ERRPC: 0 ;ERROR PC 453 030053 000000 000000 ERRTLS: 0 ;ERROR TOTALS 454 030054 000000 000000 TICKS: 0 ;PROGRAM RUNNING TIME 455 030055 000000 000000 MARGIN: 0 ;KI10 MARGIN WORD VALUE 456 030056 000000 000000 $ONETM: 0 ;SUBROUTINE INITIALIZATION FLAG DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 3 FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0019 457 S^;*********************************************************************^ 458 ;*SPECIAL PROGRAM DISPATCH ADDRESSES 459 S^;*********************************************************************^ 460 461 030057 037 12 0 00 000004 BEGEND: ENDUUO ;END OF PASS 462 030060 254 00 0 00 030010 $BEND1: JRST BEGIN1 ;KEEP RUNNING PROGRAM 463 030061 037 16 0 00 000004 $BEND2: EOPUUO ;END OF PROGRAM - NO RETURN 464 030062 254000 030712 CNTLC: SADR5 ;CONTROL C XFER ADDRESS 465 030063 254000 030712 ALTMGO: SADR6 ;ALTMODE XFER ADDRESS 466 030064 CPOPJ1: ;SKIP RETURN 467 030064 350 00 0 17 000000 UUOSKP: AOS (P) ;SKIP RETURN FROM UUO 468 030065 CPOPJ: ;NON-SKIP REGULAR RETURN 469 030065 263 17 0 00 000000 UUOEXT: RTN ;UUO RETURN 470 030066 255 00 0 00 000000 UUORTN: JFCL ;ADDITIONAL USERS UUO ROUTINE 471 030067 255 00 0 00 000000 $UORTX: JFCL ;ADDITIONAL UUO LINKAGE 472 030070 255 00 0 00 000000 $UUOER: JFCL ;INITED AS (JRST $UOERX) 473 030071 255 00 0 00 000000 $ITRHL: JFCL ;ADDITIONAL INTERRUPT LINKAGE 474 030072 255 00 0 00 000000 $ITRX1: JFCL ; " 475 030073 255 00 0 00 000000 $USRHL: JFCL ; " 476 030074 255 00 0 00 000000 $RSRTX: JFCL ;ADDITIONAL POWER FAIL LINKAGE 477 030075 255 00 0 00 000000 $RSRTY: JFCL ; " 478 030076 255 00 0 00 000000 RESRT1: JFCL ; INITED AS (JRST RESRTX) 479 030077 255 00 0 00 000000 RESRT2: JFCL ; " 480 030100 255 00 0 00 000000 $PARER: JFCL ;ADDITIONAL PARITY ERROR LINKAGE 481 030101 255 00 0 00 000000 ERMORE: JFCL ;ADDITIONAL ERROR HANDLER LINKAGE 482 030102 254 04 0 00 030102 HALT . ;IMPROPER TRANSFER HALT 483 484 030103 000000 000000 $PSHER: 0 ;INITED AS (JRST PSHERR) 485 030104 000000 000000 ITRCH1: 0 ;PC & FLAGS OF CURRENT INTERRUPT 486 030105 000000 000000 0 ;INITED AS (JRST $ITRC1) 487 488 S^;*********************************************************************^ 489 ;*PROCESSOR CONTROL STORAGE 490 S^;*********************************************************************^ 491 492 030106 000000 000000 $ACC0: 0 ;INTERRUPT SAVED AC0 493 030107 000000 000000 $SVPI: 0 ;INTERRUPT SAVED PI 494 030110 000000 000000 $SVAPR: 0 ;INTERRUPT SAVED APR 495 030111 000000 000000 $SVPAG: 0 ;INTERRUPT SAVED PAG (DATAI) 496 030112 000000 000000 $SPAG1: 0 ;INTERRUPT SAVED PAG (CONI) 497 498 030113 000000 000000 $SVUUO: 0 ;CURRENT USERS UUO 499 030114 000000 000000 $SVUPC: 0 ;PC OF CURRENT USERS UUO 500 501 030115 000000 000000 REPTU: 0 ;REPEAT UUO ITERATIONS 502 030116 000000 000000 SCOPE: 0 ;ERROR HANDLER SCOPE LOOP FLAG 503 030117 000000 000000 %CORFLG:0 ; " CORRECT FLAG 504 030120 000000 000000 %COREC: 0 ; " CORRECT DATA 505 030121 000000 000000 %ACTFL: 0 ; " ACTUAL FLAG 506 030122 000000 000000 %ACTUL: 0 ; " ACTUAL DATA 507 030123 000000 000000 %DISCR: 0 ; " DISCREPENCY DATA DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 4 FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0020 508 S^;*********************************************************************^ 509 ;*UUO DISPATCH TABLE 510 S^;*********************************************************************^ 511 XLIST 512 LIST 513 030124 030070 030070 UUODIS: LUUO1,,$UUOER 514 030125 030070 030070 LUUO3,,LUUO2 515 030126 030070 030070 LUUO5,,LUUO4 516 030127 030070 030070 LUUO7,,LUUO6 517 030130 030070 030070 LUUO11,,LUUO10 518 030131 030070 030070 LUUO13,,LUUO12 519 030132 030070 030070 LUUO15,,LUUO14 520 030133 030070 030070 LUUO17,,LUUO16 521 030134 030070 030070 LUUO21,,LUUO20 522 030135 030070 030070 LUUO23,,LUUO22 523 030136 030070 030070 LUUO25,,LUUO24 524 030137 030070 030070 LUUO27,,LUUO26 525 030140 030070 030070 LUUO31,,LUUO30 526 030141 030070 030070 LUUO33,,LUUO32 527 528 S^;*********************************************************************^ 529 ;*MEMORY MANAGMENT STORAGE 530 S^;*********************************************************************^ 531 532 030142 000000 000000 DF22F: 0 ;DF10 CONTROL FLAG, 0 = 18, -1 = 22 BIT 533 030143 000000 000000 MAPNEW: 0 ;MEMORY MAPPING CONTROL FLAG, -1 = 4096K MAPPING 534 030144 000000 000000 MEMTOT: 0 ;TOTAL MEMORY SIZE IN K (1024.) 535 030145 000000 000000 MEMLOW: 0 ;LOWEST USABLE MEMORY 536 030146 MEMSIZ: BLOCK ^D41 ;MEMORY SEGMENT POINTER TABLE 537 538 S^;*********************************************************************^ 539 ;*PRINT CONTROL STORAGE 540 S^;*********************************************************************^ 541 542 030217 000000 000000 PNTFLG: 0 ;PRINT FLAG, -1 WHILE IN PRINT ROUTINE 543 030220 000000 000000 PNTENB: 0 ;PRINT ENABLE 544 030221 000000 000000 PDISF: 0 ;PRINT DISABLED FLAG 545 030222 000000 000000 PNTINH: 0 ;INHIBIT PRINT INPUT CHECKS 546 030223 000000 000000 PNTSPC: 0 ;PRINT SPACE CONTROL 547 030224 000000 000000 OPTIME: 0 ;TYPE-IN WAIT TIME 548 030225 000000 000000 $TWCNT: 0 ;TIME WAITED 549 030226 000000 000000 $DVOFF: 0 ;LOGICAL DEVICE INITED FLAG 550 030227 000000 000000 TTYFIL: 0 ;TTY EXEC FILLERS FLAG 551 030230 000000 000000 TTYSPD: 0 ;TTY EXEC BAUD RATE 552 030231 000000 000000 $TTCHR: 0 ;ACTUAL TYPED IN CHAR 553 030232 000000 000000 $CHRIN: 0 ;UPPER CASED & PARITY STRIPPED CHAR 554 030233 000000 000000 $TYPNB: 0 ;TYPED IN NUMBER 555 030234 000000 000000 $CRLF: 0 ;FREE CR/LF FLAG 556 030235 000000 000000 $TABF: 0 ;TAB CONVERSION FLAG 557 030236 000000 000000 $FFF: 0 ;FORM FEED CONVERSION FLAG 558 030237 000000 000000 $VTF: 0 ;VERTICAL TAB CONVERSION FLAG 559 030240 000000 000000 USRLFF: 0 ;USER LF FILLERS 560 030241 000000 000000 USRCRF: 0 ;USER CR FILLERS DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 5 FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0021 561 S^;*********************************************************************^ 562 ;*THE FOLLOWING MISCELLANEOUS PRINT CHARACTERS ARE INCLUDED 563 ;*TO FACILITATE PRINTING AND ARE CALLED AS FOLLOWS: 564 ;* MOVEI NAME 565 ;* PNTA ;OR PNTAF 566 S^;*********************************************************************^ 567 568 030242 CRLF: ASCII/ 569 030242 015 012 000 000 000 / 570 030243 CRLF2: ASCII/ 571 572 030243 015 012 015 012 000 / 573 030244 054 000 000 000 000 COMMA: ASCII/,/ 574 030245 056 000 000 000 000 PERIOD: ASCII/./ 575 030246 040 000 000 000 000 SPACE: ASCII/ / 576 030247 011 000 000 000 000 TAB: ASCII/ / 577 030250 MINUS: 578 030250 055 000 000 000 000 HYPEN: ASCII/-/ 579 030251 053 000 000 000 000 PLUS: ASCII/+/ 580 030252 052 000 000 000 000 AST: ASCII/*/ 581 030253 100 000 000 000 000 ATSIN: ASCII/@/ 582 030254 050 000 000 000 000 LFP: ASCII/(/ 583 030255 051 000 000 000 000 RTP: ASCII/)/ 584 030256 007 0000000000 BELL: BYTE (7) 007 585 030257 077 000 000 000 000 QUEST: ASCII/?/ 586 030260 057 000 000 000 000 SLASH: ASCII!/! 587 030261 044 000 000 000 000 DOLLAR: ASCII/$/ 588 030262 000000 000012 RADIX: ^D10 ;DECIMAL PRINT RADIX 589 030263 000000 000040 RADLSP: 40 ;DECIMAL PRINT LEADING CHAR 590 030264 000000 000012 RADLSC: ^D10 ;DECIMAL PRINT LEADING CHAR COUNT 591 592 S^;*********************************************************************^ 593 ;*USER MODE OUTPUT FILE INFORMATION 594 S^;*********************************************************************^ 595 596 030265 $OBUF: BLOCK 3 ;LOGICAL FILE OUTPUT BUFFER HEADER 597 030270 60 62 51 56 64 00 $OUTNM: SIXBIT /PRINT/ ;FILE NAME 598 030271 60 56 64 00 00 00 $OUTEX: SIXBIT /PNT/ ;FILE NAME EXTENSION 599 030272 BLOCK 2 600 601 S^;*********************************************************************^ 602 ;*DISK UPDATE MODE FILE INFORMATION 603 S^;*********************************************************************^ 604 605 030274 $IBUF: BLOCK 3 606 030277 60 62 51 56 64 00 $INNM: SIXBIT /PRINT/ 607 030300 60 56 64 00 00 00 $INEXT: SIXBIT /PNT/ 608 030301 BLOCK 2 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 6 FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0022 609 S^;*********************************************************************^ 610 ;*PUSHDOWN LIST CONTROL INFORMATION 611 S^;*********************************************************************^ 612 613 030303 777577 030303 PLIST: PLIST-PLISTE,,PLIST 614 030304 PLISTS: BLOCK 200 615 030504 000000 000000 PLISTE: 0 ;END OF PUSHDOWN LIST 616 617 S^;*********************************************************************^ 618 ;*POWER LINE CLOCK FREQUENCY FLAG 619 S^;*********************************************************************^ 620 621 030505 000000 000000 CYCL60: 0 ;0 = 60, -1 = 50 CYCLE 622 623 S^;*********************************************************************^ 624 ;*KL10 CACHE CONTROL FLAGS 625 S^;*********************************************************************^ 626 627 030506 000000 000000 CSHFLG: 0 ;ALLOW CACHE IF 0 628 030507 000000 000000 CSHMEM: 0 ;CACHE MEMORY SEGMENTS IF 0 629 630 S^;*********************************************************************^ 631 ;*NUMBER INPUT DIGIT FLAG 632 S^;*********************************************************************^ 633 634 030510 000000 000000 TTNBRF: 0 ;-1 IF ANY DIGIT TYPED 635 636 S^;*********************************************************************^ 637 ;*KL10 & KI10 "INHPAG" SWITCH PAGING PREVENTION 638 S^;*********************************************************************^ 639 640 030511 000000 000000 PVPAGI: 0 ;IF NON-ZERO, OVERRIDE "INHPAG" SWITCH ACTION 641 642 S^;*********************************************************************^ 643 ;*ERROR REPORTING ROUTINE ADDITIONAL USERS CONTROL INSTRUCTIONS 644 S^;*********************************************************************^ 645 646 030512 000000 000000 %ERHI1: 0 ;IF NON-ZERO, XCT'D AT START OF %ERUUO 647 030513 000000 000000 %ERHI2: 0 ;IF NON-ZERO, XCT'D AT END OF %ERUUO 648 030514 000000 000000 %ERHI3: 0 ;IF NON-ZERO, XCT'D AFTER "PC" OF %ERUUO 649 650 S^;*********************************************************************^ 651 ;*SPECIAL USERS UUO INTERCEPT INSTRUCTION 652 S^;*********************************************************************^ 653 654 030515 000000 000000 $$UUO: 0 ;IF NON-ZERO, XCT'D AT START OF $UORTN DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 7 FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0023 655 S^;*********************************************************************^ 656 ;*KL10 PROCESSOR TYPE FLAG, 0=P0, 1=BBD NEW, 2=BBD OLD 657 S^;*********************************************************************^ 658 659 030516 000000 000000 KLTYP: 0 660 661 S^;*********************************************************************^ 662 ;*SPECIAL USERS MUUO INTERCEPT INSTRUCTION 663 S^;*********************************************************************^ 664 665 030517 000000 000000 $$MUUO: 0 ;IF NON-ZERO, XCT'D AT START OF MUUOER 666 667 S^;*********************************************************************^ 668 ;*SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION 669 S^;*********************************************************************^ 670 671 030520 000000 000000 $$OUTER:0 ;IF NON-ZERO, XCT'D AT END OF USER MODE ERROR 672 673 S^;*********************************************************************^ 674 ;*"SWITCH" CALL USAGE CONTROL 675 S^;*********************************************************************^ 676 677 030521 000000 000000 $$TOGGLE:0 ;IF NON-ZERO, USE C(CONSW) FOR SWITCHES 678 679 S^;*********************************************************************^ 680 ;*SPECIAL USERS ALTMODE SWITCH CALL INTERCEPT INSTRUCTIONS 681 S^;*********************************************************************^ 682 683 030522 000000 000000 $$TAX1: 0 ;IF NON-ZERO, XCT'D AT START OF ALTMODE SWITCH CALL 684 030523 000000 000000 $$TAX2: 0 ;IF NON-ZERO, XCT'D AT END OF ALTMODE SWITCH CALL 685 686 S^;*********************************************************************^ 687 ;*SPECIAL FUTURE EXPANSION ROOM 688 ;*IF ANY FIXED AREA TAGS ARE ADDED, REDUCE THE SIZE OF 689 ;*THIS BLOCK STATEMENT ACCORDINGLY. THIS MUST BE DONE 690 ;*SO THAT PREVIOUS FIXED ASSIGNMENTS DO NOT CHANGE. 691 S^;*********************************************************************^ 692 693 030524 BLOCK 53 ;HOPEFULLY THIS IS ENOUGH FOREVER 694 695 S^;*********************************************************************^ 696 ;*END OF FIXED STORAGE 697 S^;*********************************************************************^ 698 699 030577 $ENDFX=&<777700>-1 700 030577 LOC $ENDFX 701 030577 000000 000000 ENDFIX: 0 ;END OF FIXED STORAGE DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 1 SPCCPU KLM 26-FEB-76 05:50 *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76 SEQ 0024 702 SUBTTL *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76 703 704 ;NEW DEFINITIONS USED BY THE KL10 SUBROUTINE PACKAGE 705 706 000000 AC0= 0 707 030000 DIAGNOS=30000 ;PDP-10 DIAGNOSTIC START ADDRESS 708 010000 DDT= 10000 ;PDP-10 DDT START ADDRESS 709 020000 DIAMON= 20000 ;PDP-10 DIAMON LOADER START ADDRESS 710 020000 DONG11= 1B22 ;11 DOORBELL (FROM THE 10) 711 712 ;DTE20 DEVICE CODES 713 714 000200 DTE== 200 ;DTE0 715 000204 DTE0== 204 716 000204 DTE1== 204 717 000210 DTE2== 210 718 000214 DTE3== 214 719 720 ;KL10 EPT COMMUNICATION AREA 721 722 000440 $STD= 440 ;PDP-10 DIAGNOSTIC START ADDRESS 723 000441 $DDT= 441 ;PDP-10 DDT START ADDRESS 724 000442 $STL= 442 ;PDP-10 LOADER START ADDRESS 725 000443 $STM= 443 ;PDP-10 MONITOR START ADDRESS 726 727 000444 $DTFLG= 444 ;DTE20 OPERATION COMPLETE FLAG 728 000445 $DTCLK= 445 ;DTE20 CLOCK INTERRUPT FLAG 729 000446 $DTCI= 446 ;DTE20 CLOCK INTERRUPT INSTRUCTION 730 000447 $DTT11= 447 ;DTE20 10 TO 11 ARGUMENT 731 000450 $DTF11= 450 ;DTE20 11 TO 10 ARGUMENT 732 000451 $DTCMD= 451 ;DTE20 TO 11 COMMAND WORD 733 000452 $DTSEQ= 452 ;DTE20 OPERATION SEQUENCE NUMBER 734 000453 $DTOPR= 453 ;DTE20 OPERATIONAL DTE # 735 000454 $DTCHR= 454 ;DTE20 LAST TYPED CHARACTER 736 000455 $DTMTD= 455 ;DTE20 MONITOR TTY OUTPUT COMPLETE FLAG 737 000456 $DTMTI= 456 ;DTE20 MONITOR TTY INPUT FLAG 738 739 000457 $DTSWR= 457 ;DTE20 CONSOLE SWITCH REGISTER DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 2 SPCCPU KLM 26-FEB-76 05:50 *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76 SEQ 0025 740 ;SPECIAL "FIXED" REASSIGNMENTS 741 742 030600 $$LOC=. ;SAVE CURRENT LOCATION 743 744 030000 LOC 30000 745 030000 254 00 0 00 030600 $$BEGIN:JRST $$START ;SETUP SPECIAL START 746 030001 254 00 0 00 030600 JRST $$START ;"DIAMON" CHAIN START ADDRESS 747 748 000440 LOC 440 749 000440 254 00 0 00 030000 $STD: JRST BEGIN ;SETUP FOR "STD" 750 000443 LOC 443 751 000443 254 00 0 00 030636 $STM: JRST $SPEC ;SIMPLE RUN CONTROL 752 753 030057 LOC 30057 754 030057 254 00 0 00 030641 $BEGEND:JRST $SPBEND ;SETUP SPECIAL "BEGEND" 755 756 ;SPECIAL MUUO, TRAP & PAGE FAIL SETUP 757 758 000420 LOC 420 759 000420 254 04 0 00 000420 $$420: HALT . ;KI10 PAGE FAIL 760 000421 255 00 0 00 000000 $$421: JFCL ;OVERFLOW 761 000422 254 04 0 00 000422 $$422: HALT . ;PUSHDOWN OVERFLOW 762 000423 254 04 0 00 000423 $$423: HALT . ;TRAP 3 763 000424 000000 000000 $$424: 0 ;MMUO 764 000425 000000 000000 $$425: 0 ;MMUO PC 765 000426 000000 000000 $$426: 0 ;KI10-PAGE FAIL, KL10-PROCESS CONTEXT 766 000427 254 04 0 00 000427 $$427: HALT . 767 000430 000000 000427 $$430: 427 ;MMUO NEW PC'S 768 000431 000000 000427 $$431: 427 769 000432 000000 000427 $$432: 427 770 000433 000000 000427 $$433: 427 771 000434 000000 000427 $$434: 427 772 000435 000000 000427 $$435: 427 773 000436 000000 000427 $$436: 427 774 000437 000000 000427 $$437: 427 775 776 000500 LOC 500 777 000500 000000 000000 $$500: 0 ;KL10 PAGE FAIL WORD 778 000501 000000 000000 $$501: 0 ;KL10 PAGE FAIL PC 779 000502 000000 000503 $$502: 503 ;KL10 PAGE FAIL NEW PC 780 000503 254 04 0 00 000503 $$503: HALT . DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 3 SPCCPU KLM 26-FEB-76 05:50 *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76 SEQ 0026 781 030600 LOC $$LOC ;RESET CURRENT LOCATION 782 783 ;SPECIAL STARTUP SEQUENCE 784 785 030600 402 00 0 00 030037 $$START:SETZM USER 786 030601 265 00 0 00 030602 JSP 0,.+1 ;IN USER MODE ? 787 030602 603 00 0 00 010000 TLNE 0,USERF 788 030603 476 00 0 00 030037 SETOM USER ;YES, SET CONTROL WORD 789 030604 336 00 0 00 030042 SKIPN MONFLG ;SPECIAL USER MODE ? 790 030605 402 00 0 00 030037 SETZM USER ;YES, RUN AS EXEC 791 030606 332 00 0 00 030037 SKIPE USER 792 030607 254 00 0 00 030712 JRST START ;USER MODE, DON'T NEED CPU TYPE 793 794 030610 336 00 0 00 030044 $STKIL: SKIPN MONTEN ;LOADED BY "DIAMON" ? 795 030611 476 00 0 00 030024 SETOM ITRCNT ;NO, RUN FOREVER 796 030612 402 00 0 00 030516 SETZM KLTYP 797 030613 402 00 0 00 030041 SETZM KLFLG ;ASSUME KI10 798 030614 200 01 0 00 034277 MOVE 1,[1,,1] 799 030615 251 01 0 00 000001 BLT 1,1 ;HOPE THIS WORKS 800 030616 316 01 0 00 034277 CAMN 1,[1,,1] ;IF AC NE 1,,1 AFTER BLT, KL10 801 030617 254 00 0 00 030712 JRST START ;KI10, NO ADDITIONAL SETUP 802 803 030620 7 000 20 0 00 010040 $STKL: CONO APR,10040 ;SET BBD NOT BIT 804 030621 7 000 24 0 00 000000 CONI APR,0 805 030622 7 000 20 0 00 020040 CONO APR,20040 ;CLEAR BBD NOT BIT 806 030623 606 00 0 00 000040 TRNN 0,40 ;IF SET, KL10 807 030624 350 00 0 00 030516 AOS KLTYP ;IF NOT, BBD 808 030625 402 00 0 00 000444 SETZM $DTFLG 809 030626 402 00 0 00 000445 SETZM $DTCLK 810 030627 200 00 0 00 000453 MOVE $DTOPR ;GET DTE # 811 030630 436 00 0 00 030670 ORM $$DTE0 ;INSERT IN DTE I/O INSTS 812 030631 436 00 0 00 030672 ORM $$DTE1 813 030632 436 00 0 00 030704 ORM $$DTE2 814 030633 436 00 0 00 030706 ORM $$DTE3 815 030634 476 00 0 00 030041 SETOM KLFLG ;SET KL10 CONTROL FLAG 816 030635 254 00 0 00 030712 JRST START 817 818 030636 200 00 0 00 034300 $SPEC: MOVE [JRST STARTA] ;SIMPLE RUN CONTROL 819 030637 202 00 0 00 030643 MOVEM $SPB1 820 030640 254 00 0 00 030712 JRST START DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 4 SPCCPU KLM 26-FEB-76 05:50 *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76 SEQ 0027 821 ;SPECIAL "BEGEND" ROUTINE 822 823 030641 350 00 0 00 030047 $SPBEND:AOS PASCNT ;INCREMENT PASS COUNT 824 030642 370 00 0 00 030024 SOS ITRCNT ;DECREMENT ITERATION COUNT 825 030643 336 00 0 00 030037 $SPB1: SKIPN USER 826 030644 254 00 0 00 030652 JRST $SPBEX ;EXEC MODE 827 828 030645 332 00 0 00 030024 $SPBUS: SKIPE ITRCNT ;USER MODE, COMPLETED ? 829 030646 254 00 0 00 030741 JRST STARTA ;NO, KEEP RUNNING 830 030647 336 00 0 00 030044 SKIPN MONTEN ;DONE, LOADED BY "DIAMON" ? 831 030650 047 00 0 00 000012 EXIT ;NO, RETURN TO MONITOR 832 030651 254 00 1 00 030012 JRST @RETURN ;YES, RETURN TO "DIAMON" 833 834 030652 332 00 0 00 030041 $SPBEX: SKIPE KLFLG 835 030653 254 00 0 00 030660 JRST $SPBKL ;KL10 & EXEC 836 030654 7 004 14 0 00 030024 DATAO PI,ITRCNT ;KI10 & EXEC, DISPLAY ITER COUNT 837 030655 332 00 0 00 030024 SKIPE ITRCNT 838 030656 254 00 0 00 030741 JRST STARTA ;NOT COMPLETED YET 839 030657 254 00 1 00 030012 JRST @RETURN ;DONE 840 841 030660 336 00 0 00 030024 $SPBKL: SKIPN ITRCNT 842 030661 254 00 0 00 030676 JRST $SPKLD ;KL10, EXEC & COMPLETED 843 844 030662 335 00 0 00 030043 SKIPGE MONCTL 845 030663 254 00 0 00 030741 JRST STARTA ;"DIAMON" CONTROL 846 030664 201 00 0 00 000404 MOVEI 0,404 ;NOTIFY PDP-11 OF END OF PASS 847 030665 202 00 0 00 000451 MOVEM 0,$DTCMD 848 030666 402 00 0 00 000444 SETZM $DTFLG 849 030667 336 00 0 00 030516 SKIPN KLTYP 850 030670 7 200 20 0 00 020000 $$DTE0: CONO DTE,DONG11 851 030671 332 00 0 00 030516 SKIPE KLTYP 852 030672 7 200 20 0 00 010000 $$DTE1: CONO DTE,10000 853 030673 336 00 0 00 000444 SKIPN $DTFLG ;WAIT TILL 11 RESPONDS 854 030674 254 00 0 00 030673 JRST .-1 855 030675 254 00 0 00 030741 JRST STARTA ;KEEP RUNNING 856 857 ;SPECIAL KL10 COMPLETED ROUTINE 858 859 030676 332 00 0 00 030044 $SPKLD: SKIPE MONTEN 860 030677 254 00 1 00 030012 JRST @RETURN ;LOADED BY "DIAMON" 861 862 030700 201 00 0 00 000403 MOVEI 0,403 ;NOTIFY PDP-11 OF COMPLETION 863 030701 202 00 0 00 000451 MOVEM 0,$DTCMD 864 030702 402 00 0 00 000444 SETZM $DTFLG 865 030703 336 00 0 00 030516 SKIPN KLTYP 866 030704 7 200 20 0 00 020000 $$DTE2: CONO DTE,DONG11 867 030705 332 00 0 00 030516 SKIPE KLTYP 868 030706 7 200 20 0 00 010000 $$DTE3: CONO DTE,10000 869 030707 336 00 0 00 000444 SKIPN $DTFLG ;SHOULD NEVER HAPPEN 870 030710 254 00 0 00 030707 JRST .-1 ;11 NEVER RETURNS ON END OF PROGRAM 871 030711 254 04 0 00 030000 HALT BEGIN ;IF IT DOES, HALT. DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 1 DAKAFM MAC 19-JAN-77 17:08 DIAGNOSTIC SECTION SEQ 0028 872 SUBTTL DIAGNOSTIC SECTION 873 874 030712 402 00 0 00 030037 START: SETZM USER# ;CLEAR USER CONTROL WORD 875 030713 265 00 0 00 030714 JSP 0,.+1 ;GET FLAGS 876 030714 603 00 0 00 010000 TLNE USERF ;IN USER MODE? 877 030715 476 00 0 00 030037 SETOM USER ;YES, SET USER CONTROL WORD 878 030716 336 00 0 00 030042 SKIPN MONFLG ;SPECIAL USER MODE? 879 030717 402 00 0 00 030037 SETZM USER ;YES, CLEAR USER CONTROL WORD 880 030720 336 00 0 00 030037 SKIPN USER 881 030721 254 00 0 00 030741 JRST STARTA 882 030722 331 00 0 00 030043 SKIPL MONCTL 883 030723 051 03 0 00 030725 TTCALL 3,PGMNAM ;MENTION OUR NAME 884 030724 254 00 0 00 030741 JRST STARTA 885 886 030725 PGMNAM: ASCIZ/ 887 030725 015 012 120 104 120 PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) [DAKAF] 888 030726 055 061 060 040 113 889 030727 101 061 060 040 102 890 030730 101 123 111 103 040 891 030731 111 116 123 124 122 892 030732 125 103 124 111 117 893 030733 116 040 104 111 101 894 030734 107 116 117 123 124 895 030735 111 103 040 050 066 896 030736 051 040 133 104 101 897 030737 113 101 106 135 015 898 030740 012 000 000 000 000 / 899 900 030741 254 00 0 00 030742 STARTA: JRST .+1 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 2 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0029 901 SUBTTL TEST OF MSCL BOOLEAN INSTRUCTIONS 902 903 ;********** 904 905 ;THIS TEST VERIFIES THAT SETZI CLEARS THE AC AND DOES NOT AFFECT E. 906 ;FIRST, AC AND E ARE PRELOADED WITH -1,,-1, THEN, SETZI IS EXECUTED. 907 ;AC IS THEN CHECKED FOR 0 AND E IS CHECKED FOR -1,,-1 908 909 030742 474 01 0 00 000000 C56100: SETO 1, ;PRELOAD AC WITH -1,,-1 910 030743 474 02 0 00 000000 SETO 2, ;PRELOAD E WITH -1,,-1 911 030744 401 01 0 00 000002 SETZI 1,2 ;*SETZI SHOULD CLEAR THE AC 912 030745 332 00 0 00 000001 SKIPE 1 ;PASS IF C(AC)=0 913 STOP^ 914 030746 254 04 0 00 030747 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 915 030747 324 00 0 00 030750 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 916 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 917 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 918 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 919 030750 312 02 0 00 034301 CAME 2,[-1] ;PASS IF C(E)=-1,,-1 920 STOP^ 921 030751 254 04 0 00 030752 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 922 030752 324 00 0 00 030753 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 923 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 924 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 925 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 926 927 ;********** 928 929 ;THIS TEST VERIFIES THAT SETZM CLEARS C(E) AND DOES NOT AFFECT C(AC) 930 ;FIRST, AC AND E ARE PRELOADED WITH -1,,-1; THEN SETZM IS EXECUTED. 931 ;AC IS THEN CHECKED FOR -1,,-1 AND E IS CHECKED FOR 0. 932 933 030753 474 01 0 00 000000 C56200: SETO 1, ;PRELOAD AC WITH -1,,-1 934 030754 474 02 0 00 000000 SETO 2, ;PRELOAD E WITH -1,,-1 935 030755 402 01 0 00 000002 SETZM 1,2 ;*SETZM SHOULD CLEAR E 936 030756 312 01 0 00 034301 CAME 1,[-1] ;PASS IF C(AC)=-1,,-1 937 STOP^ 938 030757 254 04 0 00 030760 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 939 030760 324 00 0 00 030761 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 940 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 941 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 942 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 943 030761 332 00 0 00 000002 SKIPE 2 ;PASS IF C(E)=0 944 STOP^ 945 030762 254 04 0 00 030763 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 946 030763 324 00 0 00 030764 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 947 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 948 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 949 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 950 951 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 3 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0030 952 ;THIS TEST VERIFIES THAT SETOI PLACES ALL ONES INTO THE AC. 953 ;FIRST, THE AC AND E ARE CLEARED; THEN, SETOI IS EXECUTED. 954 ;AC AND E ARE CHECKED FOR -1,,-1 AND 0 RESPECTIVELY 955 956 030764 403 01 0 00 000002 C56300: SETZB 1,2 ;CLEAR AC,E 957 030765 475 01 0 00 000002 SETOI 1,2 ;*SETOI SHOULD PLACE -1,,-1 INTO THE AC 958 030766 312 01 0 00 034301 CAME 1,[-1] ;PASS IF C(AC)=-1,,-1 959 STOP^ 960 030767 254 04 0 00 030770 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 961 030770 324 00 0 00 030771 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 962 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 963 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 964 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 965 030771 332 00 0 00 000002 SKIPE 2 ;PASS IF C(E)=0 966 STOP^ 967 030772 254 04 0 00 030773 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 968 030773 324 00 0 00 030774 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 969 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 970 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 971 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 972 973 ;********** 974 975 ;THIS TEST VERIFIES THAT SETOM PLACES ALL ONES INTO E 976 ;FIRST, THE AC AND E ARE CLEARED, THEN SETOM IS EXECUTED. 977 ;AC AND E ARE THEN CHECKED FOR 0 AND -1,,-1 RESPECTIVELY. 978 979 030774 403 01 0 00 000002 C56400: SETZB 1,2 ;CLEAR AC,E 980 030775 476 01 0 00 000002 SETOM 1,2 ;*SETOM SHOULD PLACE -1,,-1 INTO E 981 030776 332 00 0 00 000001 SKIPE 1 ;PASS IF C(AC)=0 982 STOP^ 983 030777 254 04 0 00 031000 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 984 031000 324 00 0 00 031001 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 985 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 986 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 987 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 988 031001 312 02 0 00 034301 CAME 2,[-1] ;PASS IF C(E)=-1,,-1 989 STOP^ 990 031002 254 04 0 00 031003 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 991 031003 324 00 0 00 031004 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 992 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 993 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 994 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 995 996 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 4 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0031 997 ;THIS TEST VERIFIES THAT SETOB PLACES ALL ONES INTO BOTH AC AND E. 998 ;FIRST, BOTH AC AND E ARE CLEARED; THEN, SETOB IS EXECUTED. 999 ;AC AND E ARE BOTH CHECKED FOR -1,,-1 1000 1001 031004 403 01 0 00 000002 C56500: SETZB 1,2 ;CLEAR AC,E 1002 031005 477 01 0 00 000002 SETOB 1,2 ;*SETOB SHOULD PUT -1,,-1 INTO BOTH AC AND E 1003 031006 312 01 0 00 034301 CAME 1,[-1] ;PASS IF C(AC)=-1,,-1 1004 STOP^ 1005 031007 254 04 0 00 031010 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1006 031010 324 00 0 00 031011 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1007 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1008 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1009 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1010 031011 312 02 0 00 034301 CAME 2,[-1] ;PASS IF C(E)=-1,,-1 1011 STOP^ 1012 031012 254 04 0 00 031013 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1013 031013 324 00 0 00 031014 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1014 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1015 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1016 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1017 1018 ;********** 1019 1020 ;THIS TEST VERIFIES THAT ANDI PLACES THE LOGICAL AND FUNCTION 1021 ;OF C(AC) AND 0,,E INTO THE AC. 1022 ;IN THIS CASE, C(AC)=777000,,707070 AND E=0,,123123. 1023 ;HENCE, THE RESULT IN THE AC SHOULD BE 0,,103103 1024 1025 031014 200 01 0 00 034302 C56600: MOVE 1,[777000,,707070] ;PRELOAD AC WITH 777000,,707070 1026 031015 405 01 0 00 123123 ANDI 1,123123 ;*ANDI SHOULD PLACE 0,,103103 INTO THE AC 1027 031016 302 01 0 00 103020 CAIE 1,103020 ;PASS IF C(AC)=103103 1028 STOP^ 1029 031017 254 04 0 00 031020 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1030 031020 324 00 0 00 031021 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1031 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1032 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1033 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1034 1035 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 5 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0032 1036 ;THIS TEST VERIFIES THAT ANDM PLACES THE LOGICAL AND FUNCTION OF 1037 ;C(AC) AND C(E) INTO E. 1038 ;IN THIS CASE, C(AC)=777000,,000777 AND C(E)=123456,,123456. 1039 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 777000,,000777 AND 1040 ;123000,,00456 RESPECTIVELY 1041 1042 031021 200 01 0 00 034303 C56700: MOVE 1,[777000,,777] ;PRELOAD E WITH 777000,,000777 1043 031022 200 02 0 00 034304 MOVE 2,[123456,,123456] ;PRELOAD AC WITH 123456,,123456 1044 031023 406 02 0 00 000001 ANDM 2,1 ;*ANDM SHOULD PLACE 123000,,000456 INTO E 1045 031024 312 02 0 00 034304 CAME 2,[123456,,123456] ;PASS IF C(AC) NOT MODIFIED 1046 STOP^ 1047 031025 254 04 0 00 031026 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1048 031026 324 00 0 00 031027 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1049 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1050 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1051 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1052 031027 312 01 0 00 034305 CAME 1,[123000,,000456] ;PASS IF C(E)=123000,,000456 1053 STOP^ 1054 031030 254 04 0 00 031031 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1055 031031 324 00 0 00 031032 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1056 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1057 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1058 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1059 1060 ;********** 1061 1062 ;THIS TEST VERIFIES THAT ANDM PLACES THE LOGICAL AND FUNCTION OF 1063 ;C(AC) AND C(E) INTO E. 1064 ;IN THIS CASE, C(AC)=777000,,000777 AND C(E)=123456,,123456. 1065 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 777000,,000777 AND 1066 ;123000,,00456 RESPECTIVELY 1067 1068 031032 200 01 0 00 034303 C56701: MOVE 1,[777000,,777] ;PRELOAD E WITH 777000,,000777 1069 031033 202 01 0 00 031046 MOVEM 1,E56701 1070 031034 200 02 0 00 034304 MOVE 2,[123456,,123456] ;PRELOAD AC WITH 123456,,123456 1071 031035 406 02 0 00 031046 ANDM 2,E56701 ;*ANDM SHOULD PLACE 123000,,000456 INTO E 1072 031036 312 02 0 00 034304 CAME 2,[123456,,123456] ;PASS IF C(AC) NOT MODIFIED 1073 STOP^ 1074 031037 254 04 0 00 031040 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1075 031040 324 00 0 00 031041 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1076 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1077 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1078 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1079 031041 200 01 0 00 031046 MOVE 1,E56701 1080 031042 312 01 0 00 034305 CAME 1,[123000,,000456] ;PASS IF C(E)=123000,,000456 1081 STOP^ 1082 031043 254 04 0 00 031044 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1083 031044 324 00 0 00 031045 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1084 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1085 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1086 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1087 1088 031045 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST 1089 031046 000000 000000 E56701: 0 ;TEST WORD MEMORY 1090 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 5-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0033 1091 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 6 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0034 1092 ;THIS TEST VERIFIES THAT ANDCB PLACES THE LOGICAL AND FUNCTION OF 1093 ;C(AC) AND C(E) INTO BOTH AC AND E 1094 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=121212,,-1 1095 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 121212,,0, 1096 1097 031047 561 03 0 00 000000 C57000: HRROI 3,0 ;PRELOAD AC WITH -1,,0 1098 031050 525 06 0 00 121212 HRLOI 6,121212 ;PRELOAD E WITH 121212,,-1 1099 031051 407 03 0 00 000006 ANDB 3,6 ;*ANDB SHOULD PLACE 121212,,0 INTO BOTH AC AND E 1100 031052 312 03 0 00 034306 CAME 3,[121212,,0] ;PASS IF C(AC)=121212,,0 1101 STOP^ 1102 031053 254 04 0 00 031054 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1103 031054 324 00 0 00 031055 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1104 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1105 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1106 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1107 031055 312 06 0 00 034306 CAME 6,[121212,,0] ;PASS IF C(E)=121212,,0 1108 STOP^ 1109 031056 254 04 0 00 031057 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1110 031057 324 00 0 00 031060 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1111 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1112 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1113 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1114 1115 ;********** 1116 1117 ;THIS TEST VERIFIES THAT ANDCB PLACES THE LOGICAL AND FUNCTION OF 1118 ;C(AC) AND C(E) INTO BOTH AC AND E 1119 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=121212,,-1 1120 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 121212,,0, 1121 1122 031060 561 03 0 00 000000 C57001: HRROI 3,0 ;PRELOAD AC WITH -1,,0 1123 031061 525 06 0 00 121212 HRLOI 6,121212 ;PRELOAD E WITH 121212,,-1 1124 031062 202 06 0 00 031074 MOVEM 6,E57001 1125 031063 407 03 0 00 031074 ANDB 3,E57001 ;*ANDB SHOULD PLACE 121212,,0 INTO BOTH AC AND E 1126 031064 312 03 0 00 034306 CAME 3,[121212,,0] ;PASS IF C(AC)=121212,,0 1127 STOP^ 1128 031065 254 04 0 00 031066 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1129 031066 324 00 0 00 031067 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1130 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1131 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1132 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1133 031067 200 06 0 00 031074 MOVE 6,E57001 1134 031070 312 06 0 00 034306 CAME 6,[121212,,0] ;PASS IF C(E)=121212,,0 1135 STOP^ 1136 031071 254 04 0 00 031072 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1137 031072 324 00 0 00 031073 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1138 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1139 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1140 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1141 1142 031073 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST 1143 031074 000000 000000 E57001: 0 ;TEST WORD MEMORY 1144 1145 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 7 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0035 1146 ;THIS TEST VERIFIES THAT ANDCAI PLACES THE LOGICAL AND FUNCTION 1147 ;OF THE WORD 0,E AND THE COMPLEMENT OF C(AC) INTO THE AC 1148 ;IN THIS CASE, C(AC)=777,000,,707070 AND E=0,135246 1149 ;HENCE, THE RESULT IN THE AC SHOULD BE 0,,030206 1150 1151 031075 200 05 0 00 034302 C57100: MOVE 5,[777000,,707070] ;PRELOAD AC WITH 777000,,707070 1152 031076 411 05 0 00 135246 ANDCAI 5,135246 ;*ANDCAI SHOULD PLACE 0,,30206 INTO THE AC 1153 031077 302 05 0 00 030206 CAIE 5,030206 ;PASS IF C(AC)=030206 1154 STOP^ 1155 031100 254 04 0 00 031101 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1156 031101 324 00 0 00 031102 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1157 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1158 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1159 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1160 1161 ;********** 1162 1163 ;THIS TEST VERIFIES THAT ANDCAM PLACES THE LOGICAL AND FUNCTION OF 1164 ;C(E) AND THE COMPLEMENT OF C(AC) INTO E. 1165 ;IN THIS CASE, C(AC)=000767,,-1 AND C(E)=777350,,-2 1166 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 000767,,-1 AND 1167 ;777010,,0 RESPECTIVELY. 1168 1169 031102 525 04 0 00 000767 C57200: HRLOI 4,767 ;PRELOAD AC WITH 000767,,-1 1170 031103 200 06 0 00 034307 MOVE 6,[777350,,-2] ;PRELOAD E WITH 777350,,-2 1171 031104 412 04 0 00 000006 ANDCAM 4,6 ;*ANDCAM SHOULD PLACE 777010,,0 1172 ;INTO E 1173 031105 312 04 0 00 034310 CAME 4,[767,,-1] ;PASS IF C(AC) IS UNCHANGED 1174 STOP^ 1175 031106 254 04 0 00 031107 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1176 031107 324 00 0 00 031110 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1177 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1178 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1179 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1180 031110 312 06 0 00 034311 CAME 6,[777010,,0] ;PASS IF C(E)=777010,,0 1181 STOP^ 1182 031111 254 04 0 00 031112 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1183 031112 324 00 0 00 031113 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1184 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1185 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1186 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1187 1188 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 8 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0036 1189 ;THIS TEST VERIFIES THAT ANDCAB PLACES THE LOGICAN AND FUNCTION OF 1190 ;C(E) AND THE COMPLEMENT OF C(AC) INTO BOTH AC AND E. 1191 ;IN THIS CASE, C(AC)=000777,,770077 AND C(E)=123456,246123 1192 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 123000,,006100 1193 1194 031113 200 01 0 00 034312 C57300: MOVE 1,[000777,,770077] ;PRELOAD AC WITH 000777,770077 1195 031114 200 02 0 00 034313 MOVE 2,[123456,,246123] ;PRELOAD E WITH 123456,246123 1196 031115 413 01 0 00 000002 ANDCAB 1,2 ;*ANDCAB SHOULD PLACE 123000,006100 1197 ;INTO BOTH AC AND E 1198 031116 312 01 0 00 034314 CAME 1,[123000,,006100] ;PASS IF C(AC)=123000,006100 1199 STOP^ 1200 031117 254 04 0 00 031120 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1201 031120 324 00 0 00 031121 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1202 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1203 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1204 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1205 031121 312 02 0 00 034314 CAME 2,[123000,,006100] ;PASS IF C(E)=123000,006100 1206 STOP^ 1207 031122 254 04 0 00 031123 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1208 031123 324 00 0 00 031124 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1209 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1210 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1211 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1212 1213 ;********** 1214 1215 ;THIS TEST VERIFIES THAT SETMI MOVES THE WORD 0,,E INTO THE AC 1216 ;IN THIS CASE, C(AC)=-1,,-1 AND E=0,,123456. HENCE, THE RESULT 1217 ;IN THE AC SHOULD BE 0,,123456 1218 1219 031124 474 05 0 00 000000 C57400: SETO 5, ;PRELOAD AC WITH -1,,-1 1220 031125 415 05 0 00 123456 SETMI 5,123456 ;*SETMI SHOULD PLACE 0,,123456 INTO THE AC 1221 031126 302 05 0 00 123456 CAIE 5,123456 ;PASS IF C(AC)=0,123456 1222 STOP^ 1223 031127 254 04 0 00 031130 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1224 031130 324 00 0 00 031131 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1225 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1226 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1227 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1228 1229 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 9 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0037 1230 ;THIS TEST VERIFIES THAT SETMM IS A NO-OP. HENCE, IT SHOULD 1231 ;NOT MODIFY AC OR E. 1232 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1; AND NEITHER SHOULD NOT BE CHANGED 1233 1234 031131 400 16 0 00 000000 C57500: SETZ 16, ;CLEAR C(AC) 1235 031132 474 17 0 00 000000 SETO 17, ;PRELOAD E WITH -1,,-1 1236 031133 416 16 0 00 000017 SETMM 16,17 ;*SETMM IS A NO-OP 1237 031134 332 00 0 00 000016 SKIPE 16 ;PASS IF C(AC) UNCHANGED 1238 STOP^ 1239 031135 254 04 0 00 031136 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1240 031136 324 00 0 00 031137 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1241 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1242 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1243 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1244 031137 312 17 0 00 034301 CAME 17,[-1] ;PASS IF C(E) UNCHANGED 1245 STOP^ 1246 031140 254 04 0 00 031141 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1247 031141 324 00 0 00 031142 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1248 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1249 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1250 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1251 1252 ;********** 1253 1254 ;THIS TEST VERIFIES THAT SETMB PLACES C(E) INTO THE AC 1255 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=100,,-200 HENCE, THE RESULT 1256 ;IN BOTH AC AND E SHOULD BE 000100,,-200. 1257 1258 031142 474 00 0 00 000000 C57600: SETO 0, ;CLEAR AC 1259 031143 200 01 0 00 034315 MOVE 1,[100,,-200] ;PRELOAD E WITH 100,,-200 1260 031144 417 00 0 00 000001 SETMB 0,1 ;*SETMB SHOULD PLACE 100,,-200 INTO THE AC 1261 031145 312 00 0 00 034315 CAME 0,[100,,-200] ;PASS IF C(AC)=100,,-200 1262 STOP^ 1263 031146 254 04 0 00 031147 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1264 031147 324 00 0 00 031150 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1265 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1266 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1267 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1268 031150 312 01 0 00 034315 CAME 1,[100,,-200] ;PASS IF C(E)=100,,-200 1269 STOP^ 1270 031151 254 04 0 00 031152 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1271 031152 324 00 0 00 031153 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1272 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1273 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1274 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1275 1276 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 10 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0038 1277 ;THIS TEST VERIFIES THAT ANDCMI PLACES THE LOGICAL AND FUNCTION 1278 ;OF C(AC) AND THE COMPLEMENT OF THE WORD 0,,E INTO THE AC. 1279 ;IN THIS CASE, C(AC)=123456,,246135 AND E=0,,717273. 1280 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,040104. 1281 1282 031153 200 15 0 00 034316 C57700: MOVE 15,[123456,,246135] ;PRELOAD AC WITH 123456,,246135 1283 031154 421 15 0 00 717273 ANDCMI 15,717273 ;*ANDCMI SHOULD PLACE 123456,,040104 1284 ;INTO THE AC 1285 031155 312 15 0 00 034317 CAME 15,[123456,,040104] ;PASS IF C(AC)=123456,,040104 1286 STOP^ 1287 031156 254 04 0 00 031157 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1288 031157 324 00 0 00 031160 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1289 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1290 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1291 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1292 1293 ;********** 1294 1295 ;THIS TEST VERIFIES THAT ANDCMM PLACES THE LOGICAL AND FUNCTION OF 1296 ;C(AC) AND THE COMPLEMENT OF C(E) INTO E. 1297 ;IN THIS CASE,C(AC)=12321,,456654 AND C(E)= 770077,,007770 1298 ;HENCE, THE RESULT IN E SHOULD BE 003300,,450004 1299 1300 031160 200 14 0 00 034320 C60000: MOVE 14,[123321,,456654] ;PRELOAD AC WITH 123321,,456654 1301 031161 200 15 0 00 034321 MOVE 15,[770077,,007770] ;PRELOAD E WITH 77007770 1302 031162 422 14 0 00 000015 ANDCMM 14,15 ;*ANDCMM SHOULD PLACE 003300,,450004 INTO THE AC 1303 031163 312 14 0 00 034320 CAME 14,[123321,,456654] ;PASS IF C(AC) UNCHANGED 1304 STOP^ 1305 031164 254 04 0 00 031165 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1306 031165 324 00 0 00 031166 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1307 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1308 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1309 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1310 031166 312 15 0 00 034322 CAME 15,[3300,,450004] ;PASS IF C(E) = 003300,,450004 1311 STOP^ 1312 031167 254 04 0 00 031170 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1313 031170 324 00 0 00 031171 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1314 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1315 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1316 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1317 1318 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 11 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0039 1319 ;THIS TEST VERIFIES THAT ANDCMB PLACES THE LOGICAL AND FUNCTION OF 1320 ;C(AC) AND THE COMPLEMENT OF C(E) INTO BOTH AC AND E. 1321 ;IN THIS CASE, C(AC)123456,,663322 AND C(E) = 777000,,700770 1322 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 000456,,063002 1323 1324 031171 200 13 0 00 034323 C60100: MOVE 13,[123456,,663322] ;PRELOAD AC WITH 123456,,663322 1325 031172 200 14 0 00 034324 MOVE 14,[777000,,700770] ;PRELOAD E WITH 777000,,700770 1326 031173 423 13 0 00 000014 ANDCMB 13,14 ;*ANDCMB SHOULD PLACE 000456,,063002 1327 ;INTO BOTH AC AND E 1328 031174 312 13 0 00 034325 CAME 13,[456,,63002] ;PASS IF C(AC)=000456,,063002 1329 STOP^ 1330 031175 254 04 0 00 031176 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1331 031176 324 00 0 00 031177 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1332 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1333 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1334 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1335 031177 312 14 0 00 034325 CAME 14,[456,,63002] ;PASS IF C(E)=000456,,063002 1336 STOP^ 1337 031200 254 04 0 00 031201 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1338 031201 324 00 0 00 031202 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1339 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1340 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1341 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1342 1343 ;********** 1344 1345 1346 ;THIS TEST VERIFIES THAT SETA IS A NO-OP. IT AFFECTS NEITHER 1347 ;AC OR E. IN THIS CASE, C(AC)=123456,,777776 AND C(E)=010203,,123450. 1348 ;SETA SHOULD NOT MODIFY C(AC) OR C(E) 1349 1350 031202 200 12 0 00 034326 C60200: MOVE 12,[123456,,777776] ;PRELOAD AC WITH 123456,,-2 1351 031203 200 13 0 00 034327 MOVE 13,[010203,,123450] ;PRELOAD E WITH 010203,,123450 1352 031204 424 12 0 00 000013 SETA 12,13 ;*SETA IS A NO-OP 1353 031205 312 12 0 00 034326 CAME 12,[123456,,-2] ;PASS IF C(AC) UNCHANGED 1354 STOP^ 1355 031206 254 04 0 00 031207 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1356 031207 324 00 0 00 031210 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1357 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1358 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1359 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1360 031210 312 13 0 00 034327 CAME 13,[010203,,123450] ;PASS IF C(E) UNCHANGED 1361 STOP^ 1362 031211 254 04 0 00 031212 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1363 031212 324 00 0 00 031213 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1364 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1365 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1366 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1367 1368 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 12 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0040 1369 ;THIS TEST VERIFIES THAT SETAI IS A NO-OP. IT DOES NOT AFFECT THE AC. 1370 ;IN THIS CASE, C(AC)=123456,,777776 AND E=0,,123450 1371 ;SETA SHOULD NOT MODIFY C(AC) 1372 1373 031213 200 12 0 00 034326 C60300: MOVE 12,[123456,,777776] ;PRELOAD AC WITH 123456,,-2 1374 031214 425 12 0 00 123450 SETAI 12,123450 ;*SETAI IS A NO-OP 1375 031215 312 12 0 00 034326 CAME 12,[123456,,-2] ;PASS IF C(AC) UNCHANGED 1376 STOP^ 1377 031216 254 04 0 00 031217 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1378 031217 324 00 0 00 031220 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1379 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1380 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1381 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1382 1383 ;********** 1384 1385 ;THIS TEST VERIFIES THAT SETAM PLACES C(AC) INTO E. 1386 ;IN THIS CASE, C(AC)=123456,,0 AND C(E)=-1,,-1. HENCE, THE 1387 ;RESULT IN E SHOULD BE 123456,,0 1388 1389 031220 515 11 0 00 123456 C60400: HRLZI 11,123456 ;PRELOAD AC WITH 123456,,0 1390 031221 474 12 0 00 000000 SETO 12, ;PRELOAD E WITH -1,,-1 1391 031222 426 11 0 00 000012 SETAM 11,12 ;SETAM SHOULD PLACE 123456,,0 INTO E 1392 031223 312 11 0 00 034330 CAME 11,[123456,,0] ;PASS IF C(AC) UNCHANGED 1393 STOP^ 1394 031224 254 04 0 00 031225 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1395 031225 324 00 0 00 031226 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1396 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1397 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1398 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1399 031226 312 12 0 00 034330 CAME 12,[123456,,0] ;PASS IF C(E)=123456,,0 1400 STOP^ 1401 031227 254 04 0 00 031230 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1402 031230 324 00 0 00 031231 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1403 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1404 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1405 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1406 1407 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 13 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0041 1408 ;THIS TEST VERIFIES THAT XORI PLACES THE LOGICAL EXCLUSIVE OR FUNCTION 1409 ;OF C(AC) AND THE WORD 0,,E INTO THE AC. 1410 ;IN THIS CASE, C(AC)=000777,,123456 AND E=0,,434431 1411 ;HENCE, THE RESULT IN THE AC SHOULD BE 000777,,517067. 1412 1413 031231 200 10 0 00 034331 C60500: MOVE 10,[777,,123456] ;PRELOAD AC WITH 000777,,123456 1414 031232 431 10 0 00 434431 XORI 10,434431 ;*XORI SHOULD PLACE 000777,,517067 INTO THE AC 1415 031233 312 10 0 00 034332 CAME 10,[777,,517067] ;PASS IF C(AC)=000777,,517067 1416 STOP^ 1417 031234 254 04 0 00 031235 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1418 031235 324 00 0 00 031236 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1419 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1420 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1421 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1422 1423 ;********** 1424 1425 ;THIS TEST VERIFIES THAT XORB PLACES THE LOGICAL EXCLUSIVE OR FUNCTION 1426 ;OF C(AC) AND C(E) INTO BOTH AC AND E. 1427 ;IN THIS CASE, C(AC)=707077,,555666 AND C(E)=123456,,765432 1428 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 624421,,230254 1429 1430 031236 200 07 0 00 034333 C60600: MOVE 7,[707077,,555666] ;PRELOAD AC WITH 707077,,555666 1431 031237 200 10 0 00 034334 MOVE 10,[123456,,765432] ;PRELOAD E WITH 123456,,765432 1432 031240 433 07 0 00 000010 XORB 7,10 ;*XORB SHOULD PLACE 624421,,230254 1433 ;INTO BOTH AC AND E 1434 031241 312 07 0 00 034335 CAME 7,[624421,,230254] ;PASS IF C(AC)=624421,,230254 1435 STOP^ 1436 031242 254 04 0 00 031243 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1437 031243 324 00 0 00 031244 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1438 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1439 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1440 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1441 031244 312 10 0 00 034335 CAME 10,[624421,,230254] ;PASS IF C(E)=624421,,230254 1442 STOP^ 1443 031245 254 04 0 00 031246 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1444 031246 324 00 0 00 031247 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1445 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1446 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1447 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1448 1449 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 14 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0042 1450 ;THIS TEST VERIFIES THAT IORI PLACES THE INCLUSIVE OR FUNCTION 1451 ;OF C(AC) AND THE WORD 0,,E INTO THE AC. 1452 ;IN THIS CASE, C(AC)=707070,,123456 AND E=0,,765567 1453 ;HENCE, THE RESULT IN THE AC SHOULD BE 707070,,767577 1454 1455 031247 200 06 0 00 034336 C60700: MOVE 6,[707070,,123456] ;PRELOAD AC WITH 707070,,123456 1456 031250 435 06 0 00 765567 IORI 6,765567 ;*IORI SHOULD PLACE 707070,,767577 INTO THE AC 1457 031251 312 06 0 00 034337 CAME 6,[707070,,767577] ;PASS IF C(AC)=707070,,767577 1458 STOP^ 1459 031252 254 04 0 00 031253 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1460 031253 324 00 0 00 031254 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1461 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1462 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1463 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1464 1465 ;********** 1466 1467 ;THIS TEST VERIFIES THAT IORM PLACES THE INCLUSIVE OR FUNCTION 1468 ;OF C(AC) AND C(E) INTO E. 1469 ;IN THIS CASE, C(AC)=123456,,777666 AND C(E)=777001,,123470 1470 ;HENCE, THE RESULT IN E SHOULD BE 777457,,777676 1471 1472 031254 200 05 0 00 034340 C61000: MOVE 5,[123456,,777666] ;PRELOAD AC WITH 123456,777666 1473 031255 200 06 0 00 034341 MOVE 6,[777001,,123470] ;PRELOAD E WITH 777001,,123470 1474 031256 436 05 0 00 000006 IORM 5,6 ;*IORM SHOULD PLACE 1475 ;777457,777676 INTO E 1476 031257 312 05 0 00 034340 CAME 5,[123456,,777666] ;PASS IF C(AC) UNMODIFIED 1477 STOP^ 1478 031260 254 04 0 00 031261 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1479 031261 324 00 0 00 031262 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1480 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1481 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1482 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1483 031262 312 06 0 00 034342 CAME 6,[777457,,777676] ;PASS IF C(E)=777457,777676 1484 STOP^ 1485 031263 254 04 0 00 031264 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1486 031264 324 00 0 00 031265 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1487 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1488 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1489 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1490 1491 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 15 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0043 1492 ;THIS TEST VERIFIES THAT IORB PLACES THE INCLUSIVE OR FUNCTION 1493 ;OF C(AC) AND C(E) INTO E. 1494 ;IN THIS CASE, C(AC)=123456,,777666 AND C(E)=777001,,123470 1495 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 777457,,777676 1496 1497 031265 200 05 0 00 034340 C61100: MOVE 5,[123456,,777666] ;PRELOAD AC WITH 123456,777666 1498 031266 200 06 0 00 034341 MOVE 6,[777001,,123470] ;PRELOAD E WITH 777001,,123470 1499 031267 437 05 0 00 000006 IORB 5,6 ;*IORB SHOULD PLACE 1500 ;777457,,777676 INTO 1501 031270 312 05 0 00 034342 CAME 5,[777457,,777676] ;PASS IF C(AC)=777457,,777676 1502 STOP^ 1503 031271 254 04 0 00 031272 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1504 031272 324 00 0 00 031273 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1505 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1506 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1507 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1508 031273 312 06 0 00 034342 CAME 6,[777457,,777676] ;PASS IF C(E)=777457,,777676 1509 STOP^ 1510 031274 254 04 0 00 031275 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1511 031275 324 00 0 00 031276 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1512 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1513 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1514 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1515 1516 ;********** 1517 1518 ;THIS TEST VERIFIES THAT ANDCBI PLACES THE LOGICAL AND FUNCTION 1519 ;OF THE COMPLEMENTS OF BOTH C(AC) AND THE WORD 0,,E INTO THE AC 1520 ;IN THIS CASE, C(AC)=777000,,123456 AND E=0,,706050. 1521 ;HENCE, THE RESULT IN THE AC SHOULD BE 000777,,050321. 1522 1523 031276 200 04 0 00 034343 C61200: MOVE 4,[777000,,123456] ;PRELOAD AC WITH 777000,,123456 1524 031277 441 04 0 00 706050 ANDCBI 4,706050 ;*ANDCBI SHOULD PLACE 000777,,050321 1525 ;INTO THE AC 1526 031300 312 04 0 00 034344 CAME 4,[777,,50321] ;PASS IF C(AC)=000777,,050321 1527 STOP^ 1528 031301 254 04 0 00 031302 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1529 031302 324 00 0 00 031303 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1530 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1531 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1532 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1533 1534 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 16 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0044 1535 ;THIS TEST VERIFIES THAT ANDCBM PLACES THE LOGICAL AND FUNCTION 1536 ;OF THE COMPLEMENTS OF BOTH C(AC) AND C(E) INTO 1537 ;IN THE CASE, C(AC)=777007,,771100 AND C(E)=063202,,123477 1538 ;HENCE, THE RESULT IN E SHOULD BE 000570,,004200 1539 1540 031303 200 03 0 00 034345 C61300: MOVE 3,[777007,,771100] ;PRELOAD AC WITH 777007,,771100 1541 031304 200 04 0 00 034346 MOVE 4,[63202,,123477] ;PRELOAD E WITH 063202,,123477 1542 031305 442 03 0 00 000004 ANDCBM 3,4 ;*ANDCBM SHOULD PLACE 1543 ;000570,,004200 INTO E. 1544 031306 312 03 0 00 034345 CAME 3,[777007,,771100] ;PASS IF C(AC) IS UNCHANGED 1545 STOP^ 1546 031307 254 04 0 00 031310 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1547 031310 324 00 0 00 031311 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1548 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1549 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1550 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1551 031311 312 04 0 00 034347 CAME 4,[570,,4200] ;PASS IF C(E)=000570,,004200 1552 STOP^ 1553 031312 254 04 0 00 031313 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1554 031313 324 00 0 00 031314 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1555 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1556 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1557 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1558 1559 ;********** 1560 1561 ;THIS TEST VERIFIES THAT ANDCBB PLACES THE LOGICAL AND FUNCTION 1562 ;OF THE COMPLEMENTS OF BOTH C(AC) AND C(E) INTO BOTH AC AND E 1563 ;IN THIS CASE, C(AC)=777007,,771100 AND C(E)=063202,,123477 1564 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 000570,,004200 1565 1566 031314 200 03 0 00 034345 C61400: MOVE 3,[777007,,771100] ;PRELOAD WITH 777007,,771100 1567 031315 200 04 0 00 034346 MOVE 4,[63202,,123477] ;PRELOAD E WITH 063202,,123477 1568 031316 443 03 0 00 000004 ANDCBB 3,4 ;*ANDCBB SHOULD PLACE 1569 ;000570,,004200 INTO BOTH AC AND E 1570 031317 312 03 0 00 034347 CAME 3,[570,,4200] ;PASS IF C(AC)=000570,,004200 1571 STOP^ 1572 031320 254 04 0 00 031321 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1573 031321 324 00 0 00 031322 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1574 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1575 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1576 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1577 031322 312 04 0 00 034347 CAME 4,[570,,4200] ;PASS IF C(E)=000570,,004200 1578 STOP^ 1579 031323 254 04 0 00 031324 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1580 031324 324 00 0 00 031325 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1581 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1582 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1583 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1584 1585 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 17 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0045 1586 ;THIS TEST VERIFIES THAT EQVI PLACES THE LOGICAL EQUIVALENCE FUNCTION 1587 ;OF C(AC) AND THE WORD 0,,E INTO THE AC 1588 ;IN THIS CASE, C(AC)=707070,,123426 AND E=0,,123363 1589 ;HENCE, THE RESULT IN THE AC SHOULD BE 070707,,777032 1590 1591 031325 200 02 0 00 034350 C61500: MOVE 2,[707070,,123426] ;PRELOAD AC WITH 707070,,123426 1592 031326 445 02 0 00 123363 EQVI 2,123363 ;*EQVI SHOULD PLACE 1593 ;070707,,777032 INTO THE AC 1594 031327 312 02 0 00 034351 CAME 2,[70707,,777032] ;PASS IF C(AC)=070707,,777032 1595 STOP^ 1596 031330 254 04 0 00 031331 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1597 031331 324 00 0 00 031332 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1598 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1599 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1600 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1601 1602 ;********** 1603 1604 ;THIS TEST VERIFIES THAT EQVM PLACES THE LOGICAL EQUIVALENCE FUNCTION 1605 ;OF C(AC) AND C(E) INTO E. 1606 ;IN THIS CASE, C(AC)= 123456,,123457 AND C(E) = 707633,,121212 1607 ;HENCE, THE RESULT IN E SHOULD BE 153512,,775132 1608 1609 031332 200 01 0 00 034352 C61600: MOVE 1,[123456,,123457] ;PRELOAD AC WITH 123456,,123457 1610 031333 200 02 0 00 034353 MOVE 2,[707633,,121212] ;PRELOAD AC WITH 707633,,121212 1611 031334 446 01 0 00 000002 EQVM 1,2 ;*EQVM SHOULD PLACE 153512,,775132 INTO E. 1612 031335 312 01 0 00 034352 CAME 1,[123456,,123457] ;PASS IF C(AC) UNCHANGED 1613 STOP^ 1614 031336 254 04 0 00 031337 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1615 031337 324 00 0 00 031340 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1616 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1617 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1618 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1619 031340 312 02 0 00 034354 CAME 2,[153512,,775132];PASS IF C(E) = 153512,,775132 1620 STOP^ 1621 031341 254 04 0 00 031342 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1622 031342 324 00 0 00 031343 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1623 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1624 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1625 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1626 1627 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 18 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0046 1628 ;THIS TEST VERIFIES THAT EQVB PLACES THE LOGICAL EQUIVALENCE FUNCTION 1629 ;OF C(AC)AND C(E) INTO BOTH AC AND E. 1630 ;IN THIS CASE, C(AC) = 123456,,123457 AND C(E) = 707633,,121212 1631 ;HENSE, THE RSULT IN BOTH AC AND E SHOULD BE 153512,,775132 1632 1633 031343 200 01 0 00 034352 C61700: MOVE 1,[123456,,123457] ;PRELOAD AC WITH 123456,,12345 1634 031344 200 02 0 00 034353 MOVE 2,[707633,,121212] ;PRELOAD AC WITH 707633,,121212 1635 031345 447 01 0 00 000002 EQVB 1,2 ;*EQVB SHOULD PLACE 153512,,775132 1636 ;INTO BOTHE AC AND E. 1637 031346 312 01 0 00 034354 CAME 1,[153512,,775132] ;PASS IC C(AC)=153512,,775132 1638 STOP^ 1639 031347 254 04 0 00 031350 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1640 031350 324 00 0 00 031351 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1641 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1642 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1643 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1644 031351 312 02 0 00 034354 CAME 2,[153512,,775132] ;PASS IF C(E)=153512,,775132 1645 STOP^ 1646 031352 254 04 0 00 031353 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1647 031353 324 00 0 00 031354 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1648 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1649 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1650 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1651 1652 ;********** 1653 1654 ;THIS TEST VERIFIES THAT SETCAI PLACES THE COMPLEMENT OF C(AC) 1655 ;INTO THE AC. 1656 ;IN THIS CASE, C(AC)=777000,,123456 AND E=0,,707070 1657 ;HENCE, THE RESULT IN THE AC SHOULD BE 000777,,654321 1658 1659 031354 200 00 0 00 034343 C62000: MOVE 0,[777000,,123456] ;PRELOAD AC WITH 777000,,123456 1660 031355 451 00 0 00 707070 SETCAI 0,707070 ;*SETCAI SHOULD PLACE 000777,,654321 1661 ;INTO THE AC 1662 031356 312 00 0 00 034355 CAME 0,[777,,654321] ;PASS IF C(AC)=000777,,654321 1663 STOP^ 1664 031357 254 04 0 00 031360 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1665 031360 324 00 0 00 031361 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1666 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1667 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1668 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1669 1670 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 19 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0047 1671 ;THIS TEST VERIFIES THAT SETCAM PLACES THE COMPLEMENT OF C(AC) 1672 ;INTO E. 1673 ;IN THIS CASE, C(AC)=123456,,765432 AND C(E)=-1,,-1. 1674 ;HENCE, THE RESULT IN E SHOULD BE 654321,,012345 1675 1676 031361 200 17 0 00 034334 C62100: MOVE 17,[123456,,765432] ;PRELOAD AC WITH 123456,,765432 1677 031362 474 00 0 00 000000 SETO 0, ;PRELOAD E WITH -1,,-1 1678 031363 452 17 0 00 000000 SETCAM 17,0 ;*SETCAM SHOULD PLACE 1679 ;654321,,012345 INTO E 1680 031364 312 17 0 00 034334 CAME 17,[123456,,765432] ;PASS IF C(AC) IS UNCHANGED 1681 STOP^ 1682 031365 254 04 0 00 031366 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1683 031366 324 00 0 00 031367 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1684 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1685 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1686 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1687 031367 312 00 0 00 034356 CAME 0,[654321,,12345] ;PASS IF C(E)=654321,,012345 1688 STOP^ 1689 031370 254 04 0 00 031371 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1690 031371 324 00 0 00 031372 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1691 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1692 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1693 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1694 1695 ;********** 1696 1697 ;THIS TEST VERIFIES THAT SETCAB PLACES THE COMPLEMENT OF C(AC) 1698 ;INTO BOTH AC AND E. 1699 ;IN THIS CASE, C(AC)=123456,,765432 AND C(E)=-1,,-1. 1700 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 654321,,012345 1701 1702 031372 200 17 0 00 034334 C62200: MOVE 17,[123456,,765432] ;PRELOAD AC WITH 123456,,76543 1703 031373 474 00 0 00 000000 SETO 0, ;PRELOAD E WITH -1,,-1 1704 031374 453 17 0 00 000000 SETCAB 17,0 ;*SETCAB SHOULD PLACE 1705 ;654321,,012345 INTO BOTH AC AND E 1706 031375 312 17 0 00 034356 CAME 17,[654321,,12345] ;PASS IF C(AC)=654321,,012345 1707 STOP^ 1708 031376 254 04 0 00 031377 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1709 031377 324 00 0 00 031400 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1710 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1711 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1712 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1713 031400 312 00 0 00 034356 CAME 0,[654321,,12345] ;PASS IF C(E)=654321,,012345 1714 STOP^ 1715 031401 254 04 0 00 031402 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1716 031402 324 00 0 00 031403 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1717 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1718 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1719 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1720 1721 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 20 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0048 1722 ;THIS TEST VERIFIES THAT ORCAI PLACES THE INCLUSIVE OR FUNCTION 1723 ;OF THE WORD 0,,E AND THE COMPLEMENT OF C(AC) INTO THE AC. 1724 ;IN THIS CASE, C(AC)=777000,,123477 AND E=0,,765401 1725 ;HENCE, THE RESULT IN THE AC SHOULD BE 000777,,775701 1726 1727 031403 200 16 0 00 034357 C62300: MOVE 16,[777000,,123477] ;PRELOAD AC WITH 777000,,123477 1728 031404 455 16 0 00 765401 ORCAI 16,765401 ;*ORCAI SHOULD PLACE 000777,,767477 1729 ;INTO THE AC 1730 031405 312 16 0 00 034360 CAME 16,[777,,775701] ;PASS IF C(AC)=000777,,775701 1731 STOP^ 1732 031406 254 04 0 00 031407 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1733 031407 324 00 0 00 031410 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1734 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1735 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1736 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1737 1738 ;********** 1739 1740 ;THIS TEST VERIFIES THAT ORCAM PLACES THE INCLUSIVE OR FUNCTION 1741 ;OF C(E) AND THE COMPLEMENT OF C(AC) INTO 1742 ;IN THIS CASE, C(AC)=777000,,123477 AND C(E)=707070,,707072 1743 ;HENCE, THE RESULT IN E SHOULD BE 707777,,757372 1744 1745 031410 200 15 0 00 034357 C62400: MOVE 15,[777000,,123477] ;PRELOAD AC WITH 777000,,123477 1746 031411 200 16 0 00 034361 MOVE 16,[707070,,707072] ;PRELOAD E WITH 707070,,707072 1747 031412 456 15 0 00 000016 ORCAM 15,16 ;*ORCAM SHOULD PLACE 707777,,757372 1748 ;INTO E 1749 031413 312 15 0 00 034357 CAME 15,[777000,,123477] ;PASS IF C(AC) IS UNCHANGED 1750 STOP^ 1751 031414 254 04 0 00 031415 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1752 031415 324 00 0 00 031416 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1753 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1754 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1755 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1756 031416 312 16 0 00 034362 CAME 16,[707777,,757372] ;PASS IF C(E)=707777,,757372 1757 STOP^ 1758 031417 254 04 0 00 031420 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1759 031420 324 00 0 00 031421 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1760 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1761 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1762 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1763 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 21 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0049 1764 ;********** 1765 ;THIS TEST VERIFIES THAT ORCAB PLACES THE INCLUSIVE OR FUNCTION 1766 ;OF C(E) AND THE COMPLEMENT OF C(AC) INTO BOTH AC AND E. 1767 ;IN THIS CASE, C(AC)=777000,,123477 AND C(E)=707070,,707072 1768 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 707777,,757372 1769 1770 031421 200 15 0 00 034357 C62500: MOVE 15,[777000,,123477] ;PRELOAD AC WITH 777000,,123477 1771 031422 200 16 0 00 034361 MOVE 16,[707070,,707072] ;PRELOAD E WITH 707070,,707072 1772 031423 457 15 0 00 000016 ORCAB 15,16 ;*ORCAB SHOULD PLACE 707777,,757372 1773 ;INTO BOTHE AC AND E 1774 031424 312 15 0 00 034362 CAME 15,[707777,,757372] ;PASS IF C(AC)=707777,,757372 1775 STOP^ 1776 031425 254 04 0 00 031426 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1777 031426 324 00 0 00 031427 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1778 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1779 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1780 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1781 031427 312 16 0 00 034362 CAME 16,[707777,,757372] ;PASS IF C(E)=707777,,757372 1782 STOP^ 1783 031430 254 04 0 00 031431 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1784 031431 324 00 0 00 031432 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1785 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1786 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1787 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1788 1789 ;********** 1790 1791 ;THIS TEST VERIFIES THAT SETCMI PLACES THE COMPLEMENT OF THE 1792 ;WORD 0,,E INTO THE AC 1793 ;IN THIS CASE, C(AC)=777000,,123456 AND E=0,,707070 1794 ;HENCE, THE RESULT IN THE AC SHOULD BE -1,,070707 1795 1796 031432 200 00 0 00 034343 C62600: MOVE 0,[777000,,123456] ;PRELOAD AC WITH 777000,,123456 1797 031433 461 00 0 00 707070 SETCMI 0,707070 ;*SETCMI SHOULD PLACE -1,,070707 1798 ;INTO THE AC 1799 031434 312 00 0 00 034363 CAME 0,[-1,,070707] ;PASS IF C(AC)=-1,,070707 1800 STOP^ 1801 031435 254 04 0 00 031436 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1802 031436 324 00 0 00 031437 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1803 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1804 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1805 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1806 1807 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 22 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0050 1808 ;THIS TEST VERIFIES THAT SETCMM PLACES THE COMPLEMENT OF C(E) 1809 ;INTO E. 1810 ;IN THIS CASE, C(E)=123456,,765432 AND C(AC)=-1,,-1. 1811 ;HENCE, THE RESULT IN E SHOULD BE 654321,,012345 1812 1813 031437 200 17 0 00 034334 C62700: MOVE 17,[123456,,765432] ;PRELOAD E WITH 123456,,76543 1814 031440 474 00 0 00 000000 SETO 0, ;PRELOAD AC WITH -1,,-1 1815 031441 462 00 0 00 000017 SETCMM 0,17 ;*SETCMM SHOULD PLACE 1816 ;654321,012345 INTO E 1817 031442 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED 1818 STOP^ 1819 031443 254 04 0 00 031444 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1820 031444 324 00 0 00 031445 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1821 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1822 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1823 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1824 031445 312 17 0 00 034356 CAME 17,[654321,,12345] ;PASS IF C(E)=654321,,012345 1825 STOP^ 1826 031446 254 04 0 00 031447 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1827 031447 324 00 0 00 031450 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1828 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1829 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1830 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1831 1832 ;********** 1833 1834 ;THIS TEST VERIFIES THAT SETCMB PLACES THE COMPLEMENT OF C(E) 1835 ;INTO BOTH AC AND E. 1836 ;IN THIS CASE, C(E)=123456,,765432 AND C(AC)=-1,,-1. 1837 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 654321,,012345 1838 1839 031450 200 17 0 00 034334 C63000: MOVE 17,[123456,,765432] ;PRELOAD E WITH 123456,,76543 1840 031451 474 00 0 00 000000 SETO 0, ;PRELOAD AC WITH -1,,-1 1841 031452 463 00 0 00 000017 SETCMB 0,17 ;*SETCMB SHOULD PLACE 1842 ;654321,,012345 INTO BOTH AC AND E 1843 031453 312 00 0 00 034356 CAME 0,[654321,,12345] ;PASS IF C(AC)=654321,,012345 1844 STOP^ 1845 031454 254 04 0 00 031455 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1846 031455 324 00 0 00 031456 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1847 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1848 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1849 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1850 031456 312 17 0 00 034356 CAME 17,[654321,,12345] ;PASS IF C(E)=654321,,012345 1851 STOP^ 1852 031457 254 04 0 00 031460 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1853 031460 324 00 0 00 031461 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1854 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1855 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1856 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1857 1858 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 23 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0051 1859 ;THIS TEST VERIFIES THAT ORCMI PLACES THE INCLUSIVE OR FUNCTION 1860 ;OF C(AC) AND THE COMPLEMENT OF THE WORD 0,,E INTO THE AC. 1861 ;IN THIS CASE, C(AC)=777000,,123477 AND E=0,,765401 1862 ;HENCE, THE RESULT IN THE AC SHOULD BE -1,,133777 1863 1864 031461 200 16 0 00 034357 C63100: MOVE 16,[777000,,123477] ;PRELOAD AC WITH 777000,,123477 1865 031462 465 16 0 00 765401 ORCMI 16,765401 ;*ORCMI SHOULD PLACE -1,,133777 1866 ;INTO THE AC 1867 031463 312 16 0 00 034364 CAME 16,[-1,,133777] ;PASS IF C(AC)=-1,,133777 1868 STOP^ 1869 031464 254 04 0 00 031465 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1870 031465 324 00 0 00 031466 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1871 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1872 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1873 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1874 1875 ;********** 1876 1877 ;THIS TEST VERIFIES THAT ORCMM PLACES THE INCLUSIVE OR FUNCTION 1878 ;OF C(AC) AND THE COMPLEMENT OC C(E) INTO 1879 ;IN THIS CASE, C(E)=777000,,123477 AND C (AC)=707070,,707072 1880 ;HENCE, THE RESULT IN E SHOULD BE 707777,,757372 1881 1882 031466 200 15 0 00 034357 C63200: MOVE 15,[777000,,123477] ;PRELOAD E WITH 777000,,123477 1883 031467 200 16 0 00 034361 MOVE 16,[707070,,707072] ;PRELOAD AC WITH 707070,,707072 1884 031470 466 16 0 00 000015 ORCMM 16,15 ;*ORCMM SHOULD PLACE 707777,,757372 1885 ;INTO E 1886 031471 312 16 0 00 034361 CAME 16,[707070,,707072] ;PASS IF C(AC) IS UNCHANGED 1887 STOP^ 1888 031472 254 04 0 00 031473 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1889 031473 324 00 0 00 031474 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1890 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1891 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1892 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1893 031474 312 15 0 00 034362 CAME 15,[707777,,757372] ;PASS IF C(E)=707777,,757372 1894 STOP^ 1895 031475 254 04 0 00 031476 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1896 031476 324 00 0 00 031477 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1897 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1898 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1899 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1900 1901 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 24 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0052 1902 ;THIS TEST VERIFIES THAT ORCMB PLACES THE INCLUSIVE OR FUNCTION 1903 ;OF C(AC) AND THE COMPLEMENT OF C(E) INTO BOTH AC AND E. 1904 ;IN THIS CASE, C(E)=777000,,123477 AND C(AC)=707070,,707072 1905 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 707777,,757372 1906 1907 031477 200 15 0 00 034357 C63300: MOVE 15,[777000,,123477] ;PRELOAD E WITH 777000,,123477 1908 031500 200 16 0 00 034361 MOVE 16,[707070,,707072] ;PRELOAD AC WITH 707070,,707072 1909 031501 467 16 0 00 000015 ORCMB 16,15 ;*ORCMB SHOULD PLACE 707777,,757372 1910 ;INTO BOTH AC AND E 1911 031502 312 16 0 00 034362 CAME 16,[707777,,757372] ;PASS IF C(AC)=707777,,757372 1912 STOP^ 1913 031503 254 04 0 00 031504 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1914 031504 324 00 0 00 031505 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1915 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1916 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1917 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1918 031505 312 15 0 00 034362 CAME 15,[707777,,757372] ;PASS OF C(E)=707777,,757372 1919 STOP^ 1920 031506 254 04 0 00 031507 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1921 031507 324 00 0 00 031510 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1922 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1923 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1924 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1925 1926 ;********** 1927 1928 ;THIS TEST VERIFIES THAT ORCBI PLACES THE LOGICAL INCLUSIVE OR 1929 ;FUNCTION OF THE COMPLEMENTS OF BOTH C(AC) AND THE WORD 0,,E INTO THE AC. 1930 ;IN THIS CASE, C(AC)=707070,,070706 AND E=0,,770011. 1931 ;HENCE, THE RESULT IN THE AC SHOULD BE -1,,707777 1932 1933 031510 200 15 0 00 034365 C63400: MOVE 15,[707070,,070706] ;PRELOAD AC WITH 707070,,070706 1934 031511 471 15 0 00 770011 ORCBI 15,770011 ;*ORCBI SHOULD PLACE -1,,707777 INTO THE AC 1935 031512 312 15 0 00 034366 CAME 15,[-1,,707777] ;PASS IF C(AC)=-1,707777 1936 STOP^ 1937 031513 254 04 0 00 031514 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1938 031514 324 00 0 00 031515 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1939 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1940 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1941 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1942 1943 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 25 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0053 1944 ;THIS TEST VERIFIES THAT ORCBM PLACES THE LOGICAL INCLUSIVE OR 1945 ;FUNCTION OF THE COMPLEMENTS OF BOTH C(AC) AND C(E) INTO 1946 ;IN THIS CASE, C(AC)=123456,,770077 AND C(E)=777001,,123324 1947 ;HENCE, THE RESULT IN E SHOULD BE 654777,,657753 1948 1949 031515 200 14 0 00 034367 C63500: MOVE 14,[123456,,770077] ;PRELOAD AC WITH 123456,,770077 1950 031516 200 15 0 00 034370 MOVE 15,[777001,,123324] ;PRELOAD E WITH 777001,,123324 1951 031517 472 14 0 00 000015 ORCBM 14,15 ;*ORCBM SHOULD PLACE 654777,,657753 1952 ;INTO E 1953 031520 312 14 0 00 034367 CAME 14,[123456,,770077] ;PASS IF C(AC) IS UNCHANGED 1954 STOP^ 1955 031521 254 04 0 00 031522 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1956 031522 324 00 0 00 031523 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1957 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1958 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1959 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1960 031523 312 15 0 00 034371 CAME 15,[654777,,657753] ;PASS IF C(E)=654777,,657753 1961 STOP^ 1962 031524 254 04 0 00 031525 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1963 031525 324 00 0 00 031526 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1964 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1965 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1966 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1967 1968 ;********** 1969 1970 ;THIS TEST VERIFIES THAT ORCBB PLACES THE LOGICAL INCLUSIVE OR 1971 ;FUNCTIONOF THE COMPLEMENTS OF BOTH C(AC) AND C(E) INTO BOTH AC AND E 1972 ;IN THIS CASE, C(AC)=123456,,770077 AND C(E)=777001,,657753 1973 1974 031526 200 14 0 00 034367 C63600: MOVE 14,[123456,,770077] ;PRELOAD AC WITH 123456,,770077 1975 031527 200 15 0 00 034370 MOVE 15,[777001,,123324] ;PRELOAD E WITH 777001,,123324 1976 031530 473 14 0 00 000015 ORCBB 14,15 ;*ORCBB SHOULD PLACE 654777,,657753 1977 ;INTO BOTH AC AND E 1978 031531 312 14 0 00 034371 CAME 14,[654777,,657753] ;PASS IF C(AC)=654777,,657753 1979 STOP^ 1980 031532 254 04 0 00 031533 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1981 031533 324 00 0 00 031534 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1982 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1983 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1984 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1985 031534 312 15 0 00 034371 CAME 15,[654777,,657753] ;PASS IF C(E)=654777,,657753 1986 STOP^ 1987 031535 254 04 0 00 031536 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 1988 031536 324 00 0 00 031537 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 1989 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 1990 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 1991 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 1992 1993 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 26 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0054 1994 SUBTTL TEST OF MSCL HWT INSTRUCTIONS 1995 1996 ;********** 1997 1998 ;THIS TEST VERIFIES THAT HLLI CLEARS AC LEFT 1999 ;IN THIS CASE, C(AC)=707070,,123456 AND E=777000 2000 ;HENCE, THE RESULT IN THE AC SHOULD BE 0,,123456 2001 2002 031537 200 17 0 00 034336 C63700: MOVE 17,[707070,,123456] ;PRELOAD AC WITH 707070,,123456 2003 031540 501 17 0 00 777000 HLLI 17,777000 ;*HLLI SHOULD PLACE 0,,123456 INTO THHE AC 2004 031541 302 17 0 00 123456 CAIE 17,123456 ;PASS IF C(AC)=0,,123456 2005 STOP^ 2006 031542 254 04 0 00 031543 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2007 031543 324 00 0 00 031544 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2008 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2009 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2010 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2011 2012 ;********** 2013 2014 ;THIS TEST VERIFIES THAT HLLS PLACES C(E) INTO THE AC IF AC IS NON-ZERO 2015 ;AND IS A NO-OP IF AC=0 2016 ;IN THIS CASE, AC=0, C(AC)=-1,,-1 AND C(E)=123456,,765432 2017 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1 2018 ;AND 123456,,765432 RESPECTIVELY 2019 2020 031544 474 00 0 00 000000 C64000: SETO 0 ;PRELOAD AC WITH -1,,-1 2021 031545 200 02 0 00 034334 MOVE 2,[123456,,765432] ;PRELOAD E WITH 123456,,765432 2022 031546 503 00 0 00 000002 HLLS 0,2 ;*HLLS SHOULD NOT AFFECT AC OR E 2023 031547 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED 2024 STOP^ 2025 031550 254 04 0 00 031551 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2026 031551 324 00 0 00 031552 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2027 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2028 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2029 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2030 031552 312 02 0 00 034334 CAME 2,[123456,,765432] ;PASS IF C(C) IS UNCHANGED 2031 STOP^ 2032 031553 254 04 0 00 031554 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2033 031554 324 00 0 00 031555 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2034 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2035 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2036 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2037 2038 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 27 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0055 2039 ;THIS TEST VERIFIES THAT HLLS PLACES C(E) INTO THE AC IF AC IS NON-ZERO? 2040 ;AND IS A NO-OP IF AC=0 2041 ;IN THIS CASE, AC=1, C(AC)=1,,-1 AND C(E)=123456,,765432 2042 ;HENCE, THE RESULTS IN AC AND E WHOULD BE 123456,,765432 2043 ;AND 123456,,765432 RESPECTVIELY 2044 2045 031555 474 01 0 00 000000 C64010: SETO 1, ;PRELOAD AC WITH -1,,-1 2046 031556 200 02 0 00 034334 MOVE 2,[123456,,765432] ;PRELOAD E WITH 123456,,765432 2047 031557 503 01 0 00 000002 HLLS 1,2 ;*HLLS SHOULD PLACE 123456,,765432 INTO THE AC 2048 031560 312 01 0 00 034334 CAME 1,[123456,,765432] ;PASS IF C(AC)=123456,,765432 2049 STOP^ 2050 031561 254 04 0 00 031562 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2051 031562 324 00 0 00 031563 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2052 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2053 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2054 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2055 031563 312 02 0 00 034334 CAME 2,[123456,,765432] ;PASS IF C(C) IS UNCHANGED 2056 STOP^ 2057 031564 254 04 0 00 031565 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2058 031565 324 00 0 00 031566 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2059 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2060 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2061 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2062 2063 ;********** 2064 2065 ;THIS TEST VERIFIES THAT HRLS PLACES C(E-RIGHT) INTO E-LEFT, BUT 2066 ;DOES NOT AFFECT E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E 2067 ;IS ALSO PLACED INTO THE AC. 2068 ;IN THIS CASE, AC=0, C(AC)=1,,-1 AND C(E)=123456,707070 2069 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE -1,,-1 2070 ;AND 707070,,707070. 2071 2072 031566 474 00 0 00 000000 C64100: SETO 0, ;PRELOAD AC WITH -1,,-1 2073 031567 200 03 0 00 034372 MOVE 3,[123456,,707070] ;PRELOAD E WITH 123456,,707070 2074 031570 507 00 0 00 000003 HRLS 0,3 ;*HRLS SHOULD PLACE 707070,,707070 2075 ;INTO E. 2076 031571 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED 2077 STOP^ 2078 031572 254 04 0 00 031573 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2079 031573 324 00 0 00 031574 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2080 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2081 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2082 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2083 031574 312 03 0 00 034373 CAME 3,[707070,,707070] ;PASS IF C(E)=707070,,707070 2084 STOP^ 2085 031575 254 04 0 00 031576 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2086 031576 324 00 0 00 031577 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2087 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2088 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2089 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2090 2091 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 28 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0056 2092 ;THIS TEST VERIFIES THAT HRLS PLACES C(E-RIGHT) INTO E-LEFT, BUT 2093 ;DOES NOT AFFECT E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E 2094 ;IS ALSO PLACED INTO THE AC. 2095 ;IN THIS CASE, AC=1, C(AC)=-1,,-1 AND C(E)=123456,,707070 2096 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE 707070,,707070 2097 ;AND 707070,,707070. 2098 2099 031577 474 01 0 00 000000 C64110: SETO 1, ;PRELOAD AC WITH -1,,-1 2100 031600 200 03 0 00 034372 MOVE 3,[123456,,707070] ;PRELOAD E WITH 123456,,707070 2101 031601 507 01 0 00 000003 HRLS 1,3 ;*HRLS SHOULD PLACE 707070,,707070 2102 ;INTO BOTH AC AND E. 2103 031602 312 01 0 00 034373 CAME 1,[707070,,707070] ;PASS IF C(AC)=707070,,707070 2104 STOP^ 2105 031603 254 04 0 00 031604 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2106 031604 324 00 0 00 031605 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2107 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2108 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2109 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2110 031605 312 03 0 00 034373 CAME 3,[707070,,707070] ;PASS IF C(E)=707070,,707070 2111 STOP^ 2112 031606 254 04 0 00 031607 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2113 031607 324 00 0 00 031610 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2114 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2115 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2116 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2117 2118 ;********** 2119 2120 ;THIS TEST VERIFIES THAN HLLZM PLACES C(AC-LEFT) INTO E-LEFT AND 2121 ;PLACES 0 INTO E-RIGHT 2122 ;IN THIS CASE, C(AC)=123456,,123422 AND C(E)=707070,717171 2123 ;HENCE, THE RESULT IN E SHOULD BE 123456,,0 2124 2125 031610 200 01 0 00 034374 C64200: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422 2126 031611 200 02 0 00 034375 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171 2127 031612 512 01 0 00 000002 HLLZM 1,2 ;*HLLZM SHOULD PLACE 123456,,0 INTO E 2128 031613 312 01 0 00 034374 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED 2129 STOP^ 2130 031614 254 04 0 00 031615 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2131 031615 324 00 0 00 031616 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2132 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2133 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2134 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2135 031616 312 02 0 00 034330 CAME 2,[123456,,0] ;PASS IF C(E)=123456,,0 2136 STOP^ 2137 031617 254 04 0 00 031620 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2138 031620 324 00 0 00 031621 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2139 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2140 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2141 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2142 2143 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 29 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0057 2144 ;THIS TEST VERIFIES THAT HLLZS CLEARS THE RIGHT HALF OF E, BUT DOESN'T 2145 ;AFFECT THE LEFT HALF OF E. IF AC IS NON-ZERO, THE RESULT IN E IS 2146 ;ALSO PLACED INTO THE AC. 2147 ;IN THIS CASE, AC=0, C(AC)=-1,,-1 AND C(E)=123456,,707070 2148 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1 2149 ;AND 123456,,0 RESPECTIVELY 2150 2151 031621 474 00 0 00 000000 C64300: SETO 0, ;PRELOAD AC WITH -1,,-1 2152 031622 200 17 0 00 034372 MOVE 17,[123456,,707070] ;PRELOAD E WITH 123456,,707070 2153 031623 513 00 0 00 000017 HLLZS 0,17 ;*HLLZS SHOULD PLACE 123456,,0 INTO E. 2154 031624 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED 2155 STOP^ 2156 031625 254 04 0 00 031626 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2157 031626 324 00 0 00 031627 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2158 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2159 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2160 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2161 031627 312 17 0 00 034330 CAME 17,[123456,,0] ;PASS IF C(E)=123456,,0 2162 STOP^ 2163 031630 254 04 0 00 031631 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2164 031631 324 00 0 00 031632 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2165 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2166 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2167 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2168 2169 2170 ;********** 2171 2172 ;THIS TEST VERIFIES THAT HLLZS CLEARS THE RIGHT HALF OF E, BUT DOESN'T 2173 ;AFFECT THE LEFT HALF OF E. IF AC IS NON-ZERO, THE RESULT IN E IS 2174 ;ALSO PLACED INTO THE AC. 2175 ;IN THIS CASE, AC=1, C(AC)=-1,,-1 AND C(E)=123456,,707070 2176 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 123456,,0 2177 ;AND 123456,,0 RESPECTIVELY. 2178 2179 031632 474 01 0 00 000000 C64310: SETO 1, ;PRELOAD AC WITH -1,,-1 2180 031633 200 17 0 00 034372 MOVE 17,[123456,,707070] ;PRELOAD E WITH 123456,,707070 2181 031634 513 01 0 00 000017 HLLZS 1,17 ;*HLLZS SHOULD PLACE 123456,,0 INTO 2182 ;BOTH AC AND E 2183 031635 312 01 0 00 034330 CAME 1,[123456,,0] ;PASS IF C(AC)=123456,,0 2184 STOP^ 2185 031636 254 04 0 00 031637 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2186 031637 324 00 0 00 031640 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2187 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2188 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2189 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2190 031640 312 17 0 00 034330 CAME 17,[123456,,0] ;PASS IF C(E)=123456,,0 2191 STOP^ 2192 031641 254 04 0 00 031642 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2193 031642 324 00 0 00 031643 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2194 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2195 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2196 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2197 2198 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 30 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0058 2199 ;THIS TEST VERIFIES THAT HRLZM PLACES C(AC-RIGHT) INTO E-LEFT AND 2200 ;PLACES O INTO E-RIGHT. 2201 ;IN THIS CASE, C(AC)=123456,,123422 AND C(E)=707070,,717171 2202 ;HENCE, THE RESULT IN E SHOULD BE 123422,,0 2203 2204 031643 200 01 0 00 034374 C64400: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422 2205 031644 200 02 0 00 034375 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171 2206 031645 516 01 0 00 000002 HRLZM 1,2 ;*HRLZM SHOULD PLACE 123422,,0 INTO E 2207 031646 312 01 0 00 034374 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED 2208 STOP^ 2209 031647 254 04 0 00 031650 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2210 031650 324 00 0 00 031651 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2211 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2212 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2213 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2214 031651 312 02 0 00 034376 CAME 2,[123422,,0] ;PASS IF C(E)=123422,,0 2215 STOP^ 2216 031652 254 04 0 00 031653 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2217 031653 324 00 0 00 031654 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2218 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2219 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2220 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2221 2222 ;********** 2223 2224 ;THIS TEST VERIFIES THAT HRLZS PLACES C(E-RIGHT) INTO E-LEFT AND 2225 ;CLEARS E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E IS ALSO 2226 ;PLACED INTO THE AC. 2227 ;IN THIS CASE, AC=0, C(AC)=-1,,-1 AND C(E)=123456,,707076 2228 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE -1,,-1 2229 ;AND 707076,,0 2230 2231 031654 474 00 0 00 000000 C64500: SETO 0, ;PRELOAD AC WITH -1,,-1 2232 031655 200 16 0 00 034377 MOVE 16,[123456,,707076] ;PRELOAD E WITH 123456,,707076 2233 031656 517 00 0 00 000016 HRLZS 0,16 ;*HRLZS SHOULD PLACE 707076,,0 2234 ;INTO E. 2235 031657 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED 2236 STOP^ 2237 031660 254 04 0 00 031661 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2238 031661 324 00 0 00 031662 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2239 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2240 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2241 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2242 031662 312 16 0 00 034400 CAME 16,[707076,,0] ;PASS IF C(AC)=707076,,0 2243 STOP^ 2244 031663 254 04 0 00 031664 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2245 031664 324 00 0 00 031665 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2246 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2247 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2248 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2249 2250 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 31 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0059 2251 ;THIS TEST VERIFIES THAT HRLZS PLACES C(E-RIGHT) INTO E-LEFT AND 2252 ;CLEARS E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E IS ALSO 2253 ;PLACED INTO THE AC. 2254 ;IN THIS CASE, AC=1, C(AC)=-1,,-1 AND C(E)=123456,,707076 2255 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE 707076,,0 2256 ;AND 707076,,0 2257 2258 031665 474 01 0 00 000000 C64510: SETO 1, ;PRELOAD AC WITH -1,,-1 2259 031666 200 16 0 00 034377 MOVE 16,[123456,,707076] ;PRELOAD E WITH 123456,,707076 2260 031667 517 01 0 00 000016 HRLZS 1,16 ;*HRLZS SHOULD PLACE 707076,,0 2261 ;INTO BOTH AC AND E. 2262 031670 312 01 0 00 034400 CAME 1,[707076,,0] ;PASS IF C(AC)=707076,,0 2263 STOP^ 2264 031671 254 04 0 00 031672 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2265 031672 324 00 0 00 031673 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2266 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2267 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2268 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2269 031673 312 16 0 00 034400 CAME 16,[707076,,0] ;PASS IF C(AC)=707076,,0 2270 STOP^ 2271 031674 254 04 0 00 031675 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2272 031675 324 00 0 00 031676 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2273 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2274 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2275 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2276 2277 ;********** 2278 2279 ;THIS TEST VERIFIES THAT HLLOM PLACES C(AC-LEFT) INTO E-LEFT AND 2280 ;PLACES -1 INTO E-RIGHT. 2281 ;IN THIS CASE, C(AC)=123456,,123422 AND C(E)=707070,,717171 2282 ;HENCE, THE RESULT IN E SHOULD BE 123456,,-1. 2283 2284 031676 200 01 0 00 034374 C64600: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422 2285 031677 200 02 0 00 034375 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171 2286 031700 522 01 0 00 000002 HLLOM 1,2 ;*HLLOM SHOULD PLACE 123456,,-1 INTO E 2287 031701 312 01 0 00 034374 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED 2288 STOP^ 2289 031702 254 04 0 00 031703 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2290 031703 324 00 0 00 031704 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2291 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2292 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2293 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2294 031704 312 02 0 00 034401 CAME 2,[123456,,-1] ;PASS IF C(E)=123456,,-1 2295 STOP^ 2296 031705 254 04 0 00 031706 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2297 031706 324 00 0 00 031707 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2298 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2299 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2300 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2301 2302 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 32 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0060 2303 ;THIS TEST VERIFIES THAT HRLO, C(E-RIGHT) INTO AC=LEFT AND 2304 ;PLACES -1 INTO AC-RIGHT. IN THIS CASE, C(AC)=123456,,135724 AND 2305 ;C(E)=765432,,246135. HENCE, THE RESULT IN THE AC SHOULD BE 246135,,-1 2306 2307 031707 200 15 0 00 034402 C64700: MOVE 15,[123456,,135724] ;PRELOAD AC WITH 123456,,135724 2308 031710 200 16 0 00 034403 MOVE 16,[765432,,246135] ;PRELOAD E WITH 765432,,246135 2309 031711 524 15 0 00 000016 HRLO 15,16 ;*HRLO SHOULD PLACE 246135,,-1 INTO AC 2310 031712 312 15 0 00 034404 CAME 15,[246135,,-1] ;PASS IF C(AC)=246135,,-1 2311 STOP^ 2312 031713 254 04 0 00 031714 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2313 031714 324 00 0 00 031715 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2314 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2315 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2316 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2317 031715 312 16 0 00 034403 CAME 16,[765432,,246135] ;PASS IF C(E) UNCHANGED 2318 STOP^ 2319 031716 254 04 0 00 031717 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2320 031717 324 00 0 00 031720 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2321 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2322 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2323 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2324 2325 ;********** 2326 2327 ;THIS TEST VERIFIES THAT HRLOI PLACES 0,,E INTO AC-LEFT AND 2328 ;PLACES ONES INTO AC-RIGHT. IN THIS CASE, C(AC)=0 AND E=0,,123456. 2329 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,-1 2330 2331 031720 400 14 0 00 000000 C65000: SETZ 14, ;CLEAR AC 2332 031721 525 14 0 00 123456 HRLOI 14,123456 ;*HRLOI SHOULD PLACE 123456,,-1 INTO THE AC 2333 031722 312 14 0 00 034401 CAME 14,[123456,,-1] ;PASS IF C(AC)=123456,,-1 2334 STOP^ 2335 031723 254 04 0 00 031724 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2336 031724 324 00 0 00 031725 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2337 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2338 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2339 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2340 2341 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 33 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0061 2342 ;THIS TEST VERIFIES THAT HRLOM PLACES C(AC-RIGHT) INTO E-LEFT 2343 ;AND PLACES -1 INTO E-RIGHT. IN THIS CASE, C(E)=0 AND C(AC)=123123,,456765 2344 ;HENCE, THE RESULT IN E SHOULD BE 456765,,-1. 2345 2346 031725 402 00 0 00 000014 C65100: SETZM 14 ;CLEAR E 2347 031726 200 13 0 00 034405 MOVE 13,[123123,,456765] ;PRELOAD AC WITH 123123,,456765 2348 031727 526 13 0 00 000014 HRLOM 13,14 ;*HRLOM SHOULD PLACE 456765,,-1 INTO E 2349 031730 312 13 0 00 034405 CAME 13,[123123,,456765] ;PASS IF C(AC) UNCHANGED 2350 2351 STOP^ 2352 031731 254 04 0 00 031732 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2353 031732 324 00 0 00 031733 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2354 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2355 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2356 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2357 031733 312 14 0 00 034406 CAME 14,[456765,,-1] ;PASS IF C(E)=456765,,-1 2358 STOP^ 2359 031734 254 04 0 00 031735 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2360 031735 324 00 0 00 031736 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2361 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2362 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2363 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2364 2365 ;********** 2366 2367 2368 ;THIS TEST VERIFIES THAT HRLOS PLACES C(E-RIGHT) INTO E-LEFT AND 2369 ;PLACES -1 INTO E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E IS ALOS 2370 ;PLACED INTO THE AC. 2371 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123456,,707076 2372 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE 0 2373 ;AND 707076,,0 2374 2375 031736 400 00 0 00 000000 C65200: SETZ 0, ;PRELOAD AC WITH 0 2376 031737 200 16 0 00 034377 MOVE 16,[123456,,707076] ;PRELOAD E WITH 123456,,707076 2377 031740 527 00 0 00 000016 HRLOS 0,16 ;*HRLZS SHOULD PLACE 707076,,-1 2378 ;INTO E. 2379 031741 312 00 0 00 034407 CAME 0,[0] ;PASS IF C(AC) UNCHANGED 2380 STOP^ 2381 031742 254 04 0 00 031743 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2382 031743 324 00 0 00 031744 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2383 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2384 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2385 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2386 031744 312 16 0 00 034410 CAME 16,[707076,,-1] ;PASS IF C(AC)=707076,,-1 2387 STOP^ 2388 031745 254 04 0 00 031746 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2389 031746 324 00 0 00 031747 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2390 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2391 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2392 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2393 2394 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 34 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0062 2395 ;THIS TEST VERIFIES THAT HRLOS PLACES C(E-RIGHT) INTO E-LEFT AND 2396 ;PLACES -1 INTO E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E IS ALSO 2397 ;PLACED INTO THE AC. 2398 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=123456,,707076 2399 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE 707076,,-1 2400 ;AND 707076,,-1 2401 2402 031747 400 01 0 00 000000 C65210: SETZ 1, ;PRELOAD AC WITH 0 2403 031750 200 16 0 00 034377 MOVE 16,[123456,,707076] ;PRELOAD E WITH 123456,,707076 2404 031751 527 01 0 00 000016 HRLOS 1,16 ;*HRLZS SHOULD PLACE 707076,,-1 2405 ;INTO BOTH AC AND E 2406 031752 312 01 0 00 034410 CAME 1,[707076,,-1] ;PASS IF C(AC)=707076,,-1 2407 STOP^ 2408 031753 254 04 0 00 031754 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2409 031754 324 00 0 00 031755 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2410 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2411 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2412 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2413 031755 312 16 0 00 034410 CAME 16,[707076,,-1] ;PASS IF C(AC)=707076,,-1 2414 STOP^ 2415 031756 254 04 0 00 031757 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2416 031757 324 00 0 00 031760 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2417 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2418 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2419 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2420 2421 ;********** 2422 2423 ;THIS TEST VERIFIES THAT HLLEM PLACES C(AC-LEFT) INTO E-LEFT 2424 ;AND PLACES BIT 0 OF THE AC INTO BITS 18 THRU 35 OF E. IN THIS CASE, 2425 ;C(AC)=123456,,707076 AND C(E)=-1,,-1. HENCE, THE RESULT IN E 2426 ;SHOULD BE 123456,,0. 2427 2428 031760 200 12 0 00 034377 C65300: MOVE 12,[123456,,707076] ;PRELOAD AC WITH 123456,,707076 2429 031761 476 00 0 00 000013 SETOM 13 ;PRELOAD E WITH -1,,-1 2430 031762 532 12 0 00 000013 HLLEM 12,13 ;*HLLEM SHOULD PLACE 123456,,0 INTO E 2431 031763 312 12 0 00 034377 CAME 12,[123456,,707076] ;PASS IF C(AC) UNCHANGED 2432 STOP^ 2433 031764 254 04 0 00 031765 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2434 031765 324 00 0 00 031766 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2435 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2436 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2437 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2438 031766 312 13 0 00 034330 CAME 13,[123456,,0] ;PASS IF C(E)=123456,,0 2439 STOP^ 2440 031767 254 04 0 00 031770 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2441 031770 324 00 0 00 031771 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2442 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2443 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2444 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2445 2446 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 35 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0063 2447 ;THIS TEST VERIFIES THAT HLLES PLACES C(E-LEFT) INTO E-LEFT AND 2448 ;PLACES BIT 0 OF E INTO BITS 18 THRU 35 OF E. IF AC IS NON-ZERO 2449 ;THE RESULT IN E IS ALSO PLACED INTO THE AC. 2450 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=765432,,0. 2451 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0 2452 ;AND 765432,,-1 RESPECTIVELY. 2453 2454 031771 400 00 0 00 000000 C65400: SETZ 0, ;CLEAR AC 2455 031772 515 02 0 00 765432 HRLZI 2,765432 ;PRELOAD E WITH 765432,,0 2456 031773 533 00 0 00 000002 HLLES 0,2 ;*HLLES SHOULD PLACE 765432,,-1 2457 ;INTO E 2458 031774 312 00 0 00 034407 CAME 0,[0] ;PASS IF C(AC) UNCHANGED 2459 STOP^ 2460 031775 254 04 0 00 031776 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2461 031776 324 00 0 00 031777 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2462 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2463 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2464 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2465 031777 312 02 0 00 034411 CAME 2,[765432,,-1] ;PASS IF C(E)=765432,,-1 2466 STOP^ 2467 032000 254 04 0 00 032001 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2468 032001 324 00 0 00 032002 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2469 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2470 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2471 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2472 2473 ;********** 2474 2475 ;THIS TEST VERIFIES THAT HLLES PLACES C(E-LEFT) INTO E-LEFT AND 2476 ;PLACES BIT 0 OF E INTO BITS 18 THRU 35 OF E. IF AC IS NON-ZERO, 2477 ;THE RESULT IN E IS ALSO PLACED INTO THE AC. 2478 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=765432,,0 2479 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 765432,,-1 2480 ;AND 765432,,-1 RESPECTIVELY 2481 2482 032002 400 01 0 00 000000 C65410: SETZ 1, ;CLEAR AC 2483 032003 515 02 0 00 765432 HRLZI 2,765432 ;PRELOAD E WITH 765432,,0 2484 032004 533 01 0 00 000002 HLLES 1,2 ;*HLLES SHOULD PLACE 765432,,-1 2485 ;INTO BOTH AC AND E 2486 032005 312 01 0 00 034411 CAME 1,[765432,,-1] ;PASS IF C(AC)=765432,,-1 2487 STOP^ 2488 032006 254 04 0 00 032007 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2489 032007 324 00 0 00 032010 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2490 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2491 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2492 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2493 032010 312 02 0 00 034411 CAME 2,[765432,,-1] ;PASS IF C(E)=765432,,-1 2494 STOP^ 2495 032011 254 04 0 00 032012 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2496 032012 324 00 0 00 032013 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2497 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2498 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2499 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2500 2501 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 36 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0064 2502 ;THIS TEST VERIFIES THAT HLLEM PLACES C(AC-RIGHT) INTO E-LEFT 2503 ;AND PLACES BIT 18 OF THE AC INTO BITS 18 THRU 35 OF E. IN THIS CASE, 2504 ;C(AC)=365432,123456 AND C(E)=-1,,-1. HENCE, THE RESULT IN E 2505 ;SHOULD BE 365432,,0. 2506 2507 032013 200 12 0 00 034412 C65500: MOVE 12,[365432,,123456] ;PRELOAD AC WITH 365432,,123456 2508 032014 476 00 0 00 000013 SETOM 13 ;PRELOAD E WITH -1,,-1 2509 032015 532 12 0 00 000013 HLLEM 12,13 ;*HLLEM SHOULD PLACE 365432,,0 INTO E 2510 032016 312 12 0 00 034412 CAME 12,[365432,,123456] ;PASS IF C(AC) UNCHANGED 2511 STOP^ 2512 032017 254 04 0 00 032020 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2513 032020 324 00 0 00 032021 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2514 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2515 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2516 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2517 032021 312 13 0 00 034413 CAME 13,[365432,,0] ;PASS IF C(E)=365432,,0 2518 STOP^ 2519 032022 254 04 0 00 032023 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2520 032023 324 00 0 00 032024 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2521 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2522 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2523 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2524 2525 ;********** 2526 2527 ;THIS TEST VERIFIES THAT HRLES PLACES C(E-RIGHT) INTO E-LEFT AND 2528 ;PLACES BIT 18 OF E INTO BITS 18 THRU 35 OF E. IF AC IS NON-ZERO, 2529 ;THE RESULT IN E IS ALSO PLACED INTO THE AC. 2530 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=0,,765432 2531 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0 2532 ;AND 765432,,-1 RESPECTIVELY 2533 2534 032024 400 00 0 00 000000 C65600: SETZ 0, ;CLEAR AC 2535 032025 551 02 0 00 765432 HRRZI 2,765432 ;PRELOAD E WITH 0,,765432 2536 032026 537 00 0 00 000002 HRLES 0,2 ;*HLLES SHOULD PLACE 765432,,-1 2537 ;INTO 2538 032027 312 00 0 00 034407 CAME 0,[0] ;PASS IF C(AC) UNCHANGED 2539 STOP^ 2540 032030 254 04 0 00 032031 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2541 032031 324 00 0 00 032032 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2542 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2543 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2544 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2545 032032 312 02 0 00 034411 CAME 2,[765432,,-1] ;PASS IF C(E)=765432,,-1 2546 STOP^ 2547 032033 254 04 0 00 032034 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2548 032034 324 00 0 00 032035 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2549 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2550 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2551 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2552 2553 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 37 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0065 2554 ;THIS TEST VERIFIES THAT HRLES PLACES C(E-RIGHT) INTO E-LEFT AND 2555 ;PLACES BIT 18 OF E INTO BITS 18 THRU 35 OF E. IF AC IS NON-ZERO, 2556 ;THE RESULT IN E IS ALSO PLACED INTO THE AC. 2557 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=0,,765432 2558 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 765432,,-1 2559 ;AND 765432,,-1 RESPECTIVELY. 2560 2561 032035 400 01 0 00 000000 C65610: SETZ 1, ;CLEAR AC 2562 032036 551 02 0 00 765432 HRRZI 2,765432 ;PRELOAD E WITH 0,765432 2563 032037 537 01 0 00 000002 HRLES 1,2 ;*HLLES SHOULD PLACE 765432,,-1 2564 ;INTO BOTH AC AND E 2565 032040 312 01 0 00 034411 CAME 1,[765432,,-1] ;PASS IF C(AC)=765442,,-1 2566 STOP^ 2567 032041 254 04 0 00 032042 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2568 032042 324 00 0 00 032043 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2569 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2570 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2571 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2572 032043 312 02 0 00 034411 CAME 2,[765432,,-1] ;PASS IF C(E)=765432,,-1 2573 STOP^ 2574 032044 254 04 0 00 032045 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2575 032045 324 00 0 00 032046 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2576 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2577 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2578 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2579 2580 2581 ;********** 2582 2583 ;THIS TEST VERIFIES THAT HLRM SHOULD PLACE C(AC-LEFT) INTO E-RIGHT 2584 ;AND NOT AFFECT E-LEFT. IN THIS CASE, C(AC)=123456,,701234 2585 ;AND C(E)=0. HENCE, THE RESULT IN E SHOULD BE 0,,123456 2586 2587 032046 200 11 0 00 034414 C65700: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 2588 032047 402 00 0 00 000012 SETZM 12 ;CLEAR E 2589 032050 546 11 0 00 000012 HLRM 11,12 ;*HLRM SHOULD PLACE 0,,123456 INTO E 2590 032051 312 11 0 00 034414 CAME 11,[123456,,701234] ;PASS IF C(AC) UNCHANGE 2591 STOP^ 2592 032052 254 04 0 00 032053 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2593 032053 324 00 0 00 032054 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2594 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2595 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2596 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2597 032054 302 12 0 00 123456 CAIE 12,123456 ;PASS IF C(E)=0,,123456 2598 STOP^ 2599 032055 254 04 0 00 032056 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2600 032056 324 00 0 00 032057 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2601 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2602 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2603 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2604 2605 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 38 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0066 2606 ;THIS TEST VERIFIES THAT HLRS PLACES C(E-LEFT) INTO E-RIGHT AND 2607 ;DOES NOT AFFECT E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E 2608 ;IS ALSO PLACED INTO THE AC. 2609 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123123,,246135 2610 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0 2611 ;AND 123123,,123123 RESPECTIVELY. 2612 2613 032057 400 00 0 00 000000 C66000: SETZ 0, ;CLEAR AC 2614 032060 200 12 0 00 034415 MOVE 12,[123123,,246135] ;PRELOAD E WITH 123123,,246135 2615 032061 547 00 0 00 000012 HLRS 0,12 ;*HLRS SHOULD PLACE 123123,,123123 2616 ;INTO E. 2617 032062 312 00 0 00 034407 CAME 0,[0] ;PASS IF C(AC) UNCHANGED 2618 STOP^ 2619 032063 254 04 0 00 032064 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2620 032064 324 00 0 00 032065 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2621 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2622 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2623 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2624 032065 312 12 0 00 034416 CAME 12,[123123,,123123] ;PASS IF C(E)=123123,,123123 2625 STOP^ 2626 032066 254 04 0 00 032067 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2627 032067 324 00 0 00 032070 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2628 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2629 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2630 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2631 2632 2633 ;********** 2634 2635 ;THIS TEST VERIFIES THAT HLRS PLACES C(E-LEFT) INTO E-RIGHT AND 2636 ;DOES NOT AFFECT E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E 2637 ;IS ALSO PLACED INTO THE AC. 2638 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=123123,,246135 2639 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 123123,,123123 2640 ;AND 123123,,123123 RESPECTIVELY. 2641 2642 032070 400 01 0 00 000000 C66010: SETZ 1, ;CLEAR AC 2643 032071 200 12 0 00 034415 MOVE 12,[123123,,246135] ;PRELOAD E WITH 123123,,246135 2644 032072 547 01 0 00 000012 HLRS 1,12 ;*HLRS SHOULD PLACE 123123,,123123 2645 ;INTO BOTH AC AND E. 2646 032073 312 01 0 00 034416 CAME 1,[123123,,123123] ;PASS IF C(AC)=123123,,123123 2647 STOP^ 2648 032074 254 04 0 00 032075 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2649 032075 324 00 0 00 032076 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2650 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2651 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2652 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2653 032076 312 12 0 00 034416 CAME 12,[123123,,123123] ;PASS IF C(E)=123123,,123123 2654 STOP^ 2655 032077 254 04 0 00 032100 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2656 032100 324 00 0 00 032101 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2657 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2658 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2659 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2660 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 38-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0067 2661 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 39 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0068 2662 ;THIS TEST VERIFIES THAT HRRZS CLEARS THE LEFT HALF OF E, BUT DOES NOT 2663 ;AFFECT THE RIGHT HALF OF E. IF AC IS NON-ZERO, THE RESULT IN E IS 2664 ;ALSO PLACED INTO THE AC. 2665 ;IN THIS CASE, AC = 0, C(AC) = -1,,-1 AND C(E) = 123456,,701234 2666 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1 AND 0,,701234 2667 ;RESPECTIVELY. 2668 2669 032101 474 00 0 00 000000 C66100: SETO 0 ;PRELOAD AC WITH -1,,-1 2670 032102 200 17 0 00 034414 MOVE 17,[123456,,701234] ;PRELOAD E WITH 123456,,701234 2671 032103 553 00 0 00 000017 HRRZS 0,17 ;HRRZS SHOULD PLACE 0,,701234 INTO E 2672 032104 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED 2673 STOP^ 2674 032105 254 04 0 00 032106 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2675 032106 324 00 0 00 032107 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2676 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2677 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2678 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2679 032107 302 17 0 00 701234 CAIE 17,701234 ;PASS IF C(E) = 0,,701234 2680 STOP^ 2681 032110 254 04 0 00 032111 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2682 032111 324 00 0 00 032112 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2683 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2684 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2685 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2686 2687 ;********** 2688 2689 ;THIS TEST VERIFIES THAT HRRZS CLEARS THE LEFT HALF OF E, BUT DOES NOT 2690 ;AFFECT THE RIGHT HALF OF E. IF AC IS NON-ZERO, THE RESULT IN E IS 2691 ;ALSO PLACED INTO THE AC. 2692 ;IN THIS CASE, AC = 1, C(AC) = -1,,-1 AND C(E) = 123456,,701234 2693 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0,,701234 AND 0,,701234 2694 ;RESPECTIVELY. 2695 2696 032112 474 01 0 00 000000 C66110: SETO 1, ;PRELOAD AC WITH -1,,-1 2697 032113 200 17 0 00 034414 MOVE 17,[123456,,701234] ;PRELOAD E WITH 123456,,701234 2698 032114 553 01 0 00 000017 HRRZS 1,17 ;HRRZS SHOULD PLACE 0,,701234 INTO 2699 ;BOTH AC AND E 2700 032115 302 01 0 00 701234 CAIE 1,701234 ;PASS IF C(AC) = 0,,701234 2701 STOP^ 2702 032116 254 04 0 00 032117 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2703 032117 324 00 0 00 032120 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2704 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2705 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2706 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2707 032120 302 17 0 00 701234 CAIE 17,701234 ;PASS IF C(E) = 0,,701234 2708 STOP^ 2709 032121 254 04 0 00 032122 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2710 032122 324 00 0 00 032123 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2711 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2712 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2713 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2714 2715 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 40 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0069 2716 ;THIS TEST VERIFIES THAT HLRZI CLEARS THE AC 2717 ;IN THIS CASE, C(AC) = -1,,-1 AND E = 0,,-1. HENCE, THE 2718 ;RESULT IN THE AC SHOULD BE 0. 2719 2720 032123 474 00 0 00 000007 C66200: SETO 7 ;PRELOAD AC WITH -1,,-1 2721 032124 555 07 0 00 777777 HLRZI 7,-1 ;*HLRZI SHOULD CLEAR THE AC 2722 032125 332 00 0 00 000007 SKIPE 7 ;PASS IF C(AC) = 0 2723 STOP^ 2724 032126 254 04 0 00 032127 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2725 032127 324 00 0 00 032130 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2726 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2727 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2728 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2729 2730 ;********** 2731 2732 ;THIS TEST VERIFIES THAT HLRZM PLACES C(AC-LEFT) INTO E-RIGHT AND 2733 ;PLACES 0 INTO E-LEFT. 2734 ;IN THIS CASE, C(AC) = 123456,,123422 AND C(E) = 707070,,717171 2735 ;HENCE, THE RESULT IN E SHOULD BE 0,,123456. 2736 2737 032130 200 01 0 00 034374 C66300: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422 2738 032131 200 02 0 00 034375 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171 2739 032132 556 01 0 00 000002 HLRZM 1,2 ;*HLRZM SHOULD PLACE 0,,123456 INTO E. 2740 032133 312 01 0 00 034374 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED 2741 STOP^ 2742 032134 254 04 0 00 032135 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2743 032135 324 00 0 00 032136 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2744 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2745 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2746 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2747 032136 302 02 0 00 123456 CAIE 2,123456 ;PASS IF C(E) = 0,,123456 2748 STOP^ 2749 032137 254 04 0 00 032140 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2750 032140 324 00 0 00 032141 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2751 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2752 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2753 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2754 2755 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 41 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0070 2756 ;THIS TEST VERIFIES THAT HLRZM PLACES C(AC-LEFT) INTO E-RIGHT AND 2757 ;PLACES 0 INTO E-LEFT. 2758 ;IN THIS CASE, C(AC) = 123456,,123422 AND C(E) = 707070,,717171 2759 ;HENCE, THE RESULT IN E SHOULD BE 0,,123456. 2760 2761 032141 200 01 0 00 034374 C66301: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422 2762 032142 200 02 0 00 034375 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171 2763 032143 202 02 0 00 032155 MOVEM 2,E66301 2764 032144 556 01 0 00 032155 HLRZM 1,E66301 ;*HLRZM SHOULD PLACE 0,,123456 INTO E. 2765 032145 312 01 0 00 034374 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED 2766 STOP^ 2767 032146 254 04 0 00 032147 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2768 032147 324 00 0 00 032150 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2769 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2770 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2771 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2772 032150 200 02 0 00 032155 MOVE 2,E66301 2773 032151 302 02 0 00 123456 CAIE 2,123456 ;PASS IF C(E) = 0,,123456 2774 STOP^ 2775 032152 254 04 0 00 032153 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2776 032153 324 00 0 00 032154 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2777 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2778 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2779 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2780 2781 032154 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST 2782 032155 000000 000000 E66301: 0 ;TEST WORD MEMORY 2783 2784 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 42 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0071 2785 ;THIS TEST VERIFIES THAT HLRZS PLACES C(E-LEFT) INTO E-RIGHT AND 2786 ;PLACES 0 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E IS 2787 ;ALSO PLACED INTO THE AC. 2788 ;IN THIS CASE, AC = 0, C(AC) = -1,,-1 AND C(E) = 123456,,701234. 2789 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1 AND 0,,123456 2790 ;RESPECTIVELY. 2791 2792 032156 474 00 0 00 000000 C66400: SETO 0, ;PRELOAD AC WITH -1,,-1 2793 032157 200 07 0 00 034414 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234 2794 032160 557 00 0 00 000007 HLRZS 0,7 ;*HLRZS SHOULD PLACE 0,,123456 INTO E 2795 032161 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC) IS UNCHANGED 2796 STOP^ 2797 032162 254 04 0 00 032163 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2798 032163 324 00 0 00 032164 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2799 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2800 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2801 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2802 032164 302 07 0 00 123456 CAIE 7,123456 ;PASS IF C(E) = 0,,123456 2803 STOP^ 2804 032165 254 04 0 00 032166 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2805 032166 324 00 0 00 032167 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2806 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2807 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2808 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2809 2810 ;********** 2811 2812 ;THIS TEST VERIFIES THAT HLRZS PLACES C(E-LEFT) INTO E-RIGHT AND 2813 ;PLACES 0 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E 2814 ;IS ALSO PLACED INTO THE AC. 2815 ;IN THIS CASE, AC = 6, C(AC) = -1,,-1 AND C(E) = 123456,,701234. 2816 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0,,123456 AND 0123456 2817 ;RESPECTIVELY. 2818 2819 032167 474 06 0 00 000000 C66410: SETO 6, ;PRELOAD AC WITH -1,,-1 2820 032170 200 07 0 00 034414 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234 2821 032171 557 06 0 00 000007 HLRZS 6,7 ;*HLRZS SHOULD PLACE 0,,123456 INTO 2822 ;BOTH AC AND E 2823 032172 302 06 0 00 123456 CAIE 6,123456 ;PASS IF C(AC) = 0,,123456 2824 STOP^ 2825 032173 254 04 0 00 032174 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2826 032174 324 00 0 00 032175 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2827 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2828 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2829 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2830 032175 302 07 0 00 123456 CAIE 7,123456 ;PASS IF C(E) = 0,,123456 2831 STOP^ 2832 032176 254 04 0 00 032177 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2833 032177 324 00 0 00 032200 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2834 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2835 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2836 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2837 2838 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 43 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0072 2839 ;THIS TEST VERIFIES THAT HLRZS PLACES C(E-LEFT) INTO E-RIGHT AND 2840 ;PLACES 0 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E 2841 ;IS ALSO PLACED INTO THE AC. 2842 ;IN THIS CASE, AC = 6, C(AC) = -1,,-1 AND C(E) = 123456,,701234. 2843 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0,,123456 AND 0123456 2844 ;RESPECTIVELY. 2845 2846 032200 474 06 0 00 000000 C66411: SETO 6, ;PRELOAD AC WITH -1,,-1 2847 032201 200 07 0 00 034414 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234 2848 032202 202 07 0 00 032214 MOVEM 7,E66411 2849 032203 557 06 0 00 032214 HLRZS 6,E66411 ;*HLRZS SHOULD PLACE 0,,123456 INTO 2850 ;BOTH AC AND E 2851 032204 302 06 0 00 123456 CAIE 6,123456 ;PASS IF C(AC) = 0,,123456 2852 STOP^ 2853 032205 254 04 0 00 032206 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2854 032206 324 00 0 00 032207 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2855 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2856 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2857 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2858 032207 200 07 0 00 032214 MOVE 7,E66411 2859 032210 302 07 0 00 123456 CAIE 7,123456 ;PASS IF C(E) = 0,,123456 2860 STOP^ 2861 032211 254 04 0 00 032212 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2862 032212 324 00 0 00 032213 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2863 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2864 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2865 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2866 2867 032213 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST 2868 032214 000000 000000 E66411: 0 ;TEST WORD MEMORY 2869 2870 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 44 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0073 2871 ;THIS TEST VERIFIES THAT HRROM PLACES C(AC-RIGHT) INTO E-RIGHT AND 2872 ;PLACES -1 INTO E-LEFT. IN THIS CASE, C(AC) = 123456,,701234 AND 2873 ;C(E) = 0. HENCE, THE RESULT IN E SHOULD BE -1,,601234. 2874 2875 032215 200 05 0 00 034414 C66500: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 2876 032216 402 00 0 00 000006 SETZM 6 ;CLEAR E 2877 032217 562 05 0 00 000006 HRROM 5,6 ;*HRROM SHOULD PLACE -1,,701234 INTO E 2878 032220 312 05 0 00 034414 CAME 5,[123456,,701234] ;PASS IF C(AC) UNCHANGED 2879 STOP^ 2880 032221 254 04 0 00 032222 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2881 032222 324 00 0 00 032223 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2882 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2883 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2884 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2885 032223 312 06 0 00 034417 CAME 6,[-1,,701234] ;PASS IF C(E) = -1,,701234 2886 STOP^ 2887 032224 254 04 0 00 032225 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2888 032225 324 00 0 00 032226 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2889 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2890 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2891 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2892 2893 2894 ;********** 2895 2896 ;THIS TEST VERIFIES THAT HRROS PLACES -1 INTO THE LEFT HALF OF E, BUT DOES NOT 2897 ;AFFECT THE RIGHT HALF OF E. IF AC IS NON-ZERO THE RESULT IN E IS 2898 ;ALSO PLACED INTO THE AC. 2899 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123456,,701234 2900 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0 2901 ;AND -1,,701234 RESPECTIVELY. 2902 2903 032226 400 00 0 00 000000 C66600: SETZ 0 ;PRELOAD AC WITH 0 2904 032227 200 17 0 00 034414 MOVE 17,[123456,,701234] ;PRELOAD E WITH 123456,,701234 2905 032230 563 00 0 00 000017 HRROS 0,17 ;HRROS SHOULD PLACE -1,,701234 INTO E 2906 032231 312 00 0 00 034407 CAME 0,[0] ;PASS IF C(AC) IS UNCHANGED 2907 STOP^ 2908 032232 254 04 0 00 032233 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2909 032233 324 00 0 00 032234 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2910 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2911 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2912 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2913 032234 312 17 0 00 034417 CAME 17,[-1,,701234] ;PASS IF C(E)=-1,,701234 2914 STOP^ 2915 032235 254 04 0 00 032236 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2916 032236 324 00 0 00 032237 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2917 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2918 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2919 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2920 2921 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 45 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0074 2922 ;THIS TEST VERIFIES THAT HRROS PLACES -1 INTO THE LEFT HALF OF E, BUT DOES NOT 2923 ;AFFECT THE RIGHT HALF OF E. IF AC IS NON-ZERO THE RESULT IN E IS 2924 ;ALSO PLACED INTO THE AC. 2925 ;IN THIS CASE, AC=16, C(AC)=0 AND C(E)=123456,,701234 2926 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,701234 2927 ;AND -1,,701234 RESPECTIVELY. 2928 2929 032237 400 16 0 00 000000 C66610: SETZ 16, ;PRELOAD AC WITH 0 2930 032240 200 17 0 00 034414 MOVE 17,[123456,,701234] ;PRELOAD E WITH 123456,,701234 2931 032241 563 16 0 00 000017 HRROS 16,17 ;*HRROS SHOULD PLACE -1,,701234 INTO 2932 ;BOTH AC AND E 2933 032242 312 16 0 00 034417 CAME 16,[-1,,701234] ;PASS IF C(AC)=-1,,701234 2934 STOP^ 2935 032243 254 04 0 00 032244 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2936 032244 324 00 0 00 032245 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2937 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2938 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2939 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2940 032245 312 17 0 00 034417 CAME 17,[-1,,701234] ;PASS IF C(E)=-1,,701234 2941 STOP^ 2942 032246 254 04 0 00 032247 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2943 032247 324 00 0 00 032250 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2944 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2945 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2946 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2947 2948 ;********** 2949 2950 ;THIS TEST VERIFIES THAT HLRO PLACES C(E-LEFT) INTO AC-RIGHT AND 2951 ;PLACES -1 INTO AC-LEFT. IN THIS CASE, C(AC)=0 2952 ;C(E)=765432,,107654. HENCE, THE RESULT IN THE AC SHOULD BE -1,,765432. 2953 2954 032250 400 04 0 00 000000 C66700: SETZ 4, ;CLEAR AC 2955 032251 200 05 0 00 034420 MOVE 5,[765432,,107654] ;PRELOAD E WITH 765432,,107654 2956 032252 564 04 0 00 000005 HLRO 4,5 ;*HLRO SHOULD PLACE -1,,765432 INTO THE AC 2957 032253 312 04 0 00 034421 CAME 4,[-1,,765432] ;PASS IF C(AC)=-1,,765432 2958 STOP^ 2959 032254 254 04 0 00 032255 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2960 032255 324 00 0 00 032256 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2961 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2962 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2963 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2964 032256 312 05 0 00 034420 CAME 5,[765432,,107654] ;PASS IF C(E) IS UNCHANGED 2965 STOP^ 2966 032257 254 04 0 00 032260 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2967 032260 324 00 0 00 032261 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2968 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2969 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2970 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2971 2972 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 46 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0075 2973 ;THIS TEST VERIFIES THAT HLROI PLACES -1,,0 INTO THE AC. 2974 ;IN THIS CASE, C(AC)=123456,,765432 AND E=070707. HENCE, THE 2975 ;RESULT IN THE AC SHOULD BE -1,,0 2976 2977 032261 200 03 0 00 034334 C67000: MOVE 3,[123456,,765432] ;PRELOAD AC WITH 123456,,765432 2978 032262 565 03 0 00 070707 HLROI 3,070707 ;*HLROI SHOULD PLACE -1,,0 INTO THE AC 2979 032263 312 03 0 00 034422 CAME 3,[-1,,0] ;PASS IF C(AC)=-1,,0 2980 STOP^ 2981 032264 254 04 0 00 032265 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 2982 032265 324 00 0 00 032266 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 2983 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 2984 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 2985 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 2986 2987 ;********** 2988 2989 ;THIS TEST VERIFIES THAT HLROM PLACES C(AC-LEFT) INTO E RIGHT AND 2990 ;PLACES -1 INTO E-LEFT 2991 ;IN THIS CASE, C(AC)=123456,,123422 AND C(E)=707070,,717171 2992 ;HENCE, THE RESULT IN E SHOULD BE -1,,123456 2993 2994 032266 200 01 0 00 034374 C67100: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422 2995 032267 200 02 0 00 034375 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171 2996 032270 566 01 0 00 000002 HLROM 1,2 ;*HLROM SHOULD PLACE -1,,123456 INTO E 2997 032271 312 01 0 00 034374 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED 2998 STOP^ 2999 032272 254 04 0 00 032273 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3000 032273 324 00 0 00 032274 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3001 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3002 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3003 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3004 032274 312 02 0 00 034423 CAME 2,[-1,,123456] ;PASS IF C(E)=-1,,123456 3005 STOP^ 3006 032275 254 04 0 00 032276 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3007 032276 324 00 0 00 032277 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3008 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3009 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3010 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3011 3012 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 47 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0076 3013 ;THIS TEST VERIFIES THAT HLROS PLACES C(E-LEFT) INTO E-RIGHT AND 3014 ;PLACES -1 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E 3015 ;IS ALSO PLACED INTO THE AC. 3016 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123456,,701234. 3017 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0 3018 ;AND -1,,123456 RESPECTIVELY 3019 3020 032277 400 00 0 00 000000 C67200: SETZ 0 ;PRELOAD AC WITH 0 3021 032300 200 07 0 00 034414 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234 3022 032301 567 00 0 00 000007 HLROS 0,7 ;*HLROS SHOULD PLACE -1,,123456 INTO E 3023 ; 3024 032302 302 00 0 00 000000 CAIE 0,0 ;PASS IF C(AC) IS UNCHANGED 3025 STOP^ 3026 032303 254 04 0 00 032304 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3027 032304 324 00 0 00 032305 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3028 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3029 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3030 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3031 032305 312 07 0 00 034423 CAME 7,[-1,,123456] ;PASS IF C(E)=-1,,123456 3032 STOP^ 3033 032306 254 04 0 00 032307 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3034 032307 324 00 0 00 032310 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3035 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3036 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3037 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3038 3039 ;********** 3040 3041 ;THIS TEST VERIFIES THAT HLROS PLACES C(E-LEFT) INTO E-RIGHT AND 3042 ;PLACES -1 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E 3043 ;IS ALSO PLACED INTO THE AC. 3044 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=123456,,701234. 3045 ;HENCE, THE RESULT IN AC AND E SHOULD BE -1,,123456 3046 ;AND -1,,123456 RESPECTIVELY. 3047 3048 032310 400 01 0 00 000000 C67210: SETZ 1, ;PRELOAD AC WITH 0 3049 032311 200 07 0 00 034414 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234 3050 032312 567 01 0 00 000007 HLROS 1,7 ;*HLROS SHOULD PLACE -1,,123456 INTO 3051 ;BOTH AC AND E 3052 032313 312 01 0 00 034423 CAME 1,[-1,,123456] ;PASS IF C(AC)=-1,,123456 3053 STOP^ 3054 032314 254 04 0 00 032315 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3055 032315 324 00 0 00 032316 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3056 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3057 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3058 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3059 032316 312 07 0 00 034423 CAME 7,[-1,,123456] ;PASS IF C(E)=-1,,123456 3060 STOP^ 3061 032317 254 04 0 00 032320 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3062 032320 324 00 0 00 032321 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3063 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3064 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3065 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3066 3067 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 48 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0077 3068 ;THIS TEST VERIFIES THAT HRRES PLACES C(E-RIGHT) INTO E-RIGHT 3069 ;AND PLACES BIT 18 OF E INTO BITS 0 THRU 17 OF E. IF AC IS NON-ZERO, 3070 ;THE RESULT IN E IS ALSO PLACED INTO THE AC. 3071 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123456,,701234 3072 ;HENCE, THE RESULT IN AC AND E SHOULD BE 0 3073 ;AND -1,,701234 RESPECTIVELY. 3074 3075 032321 400 00 0 00 000000 C67300: SETZ 0, ;PRELOAD AC WITH 0 3076 032322 200 03 0 00 034414 MOVE 3,[123456,,701234] ;PRELOAD WITH 123456,,701234 3077 032323 573 00 0 00 000003 HRRES 0,3 ;HRRES SHOULD PLACE -1,,701234 INTO E 3078 3079 032324 332 00 0 00 000000 SKIPE ;PASS IF C(AC) IS UNCHANGED 3080 STOP^ 3081 032325 254 04 0 00 032326 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3082 032326 324 00 0 00 032327 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3083 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3084 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3085 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3086 032327 312 03 0 00 034417 CAME 3,[-1,,701234] ;PASS IF C(E)=-1,,701234 3087 STOP^ 3088 032330 254 04 0 00 032331 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3089 032331 324 00 0 00 032332 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3090 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3091 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3092 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3093 3094 ;********** 3095 3096 ;THIS TEST VERIFIES THAT HRRES, PLACES C(E-RIGHT) INTO E-RIGHT 3097 ;AND PLACES BIT 18 OF E INTO BITS 0 THRU 17 OF E. IF AC IS NON-ZERO, 3098 ;THE RESULT IN E IS ALSO PLACED INTO THE AC. 3099 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=123456,,701234. 3100 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,701234 3101 ;AND -1,,701234 RESPECTIVELY. 3102 3103 032332 400 01 0 00 000000 C67310: SETZ 1, ;PRELOAD AC WITH 0 3104 032333 200 03 0 00 034414 MOVE 3,[123456,,701234] ;PRELOAD WITH 123456,,701234 3105 032334 573 01 0 00 000003 HRRES 1,3 ;HRRES SHOULD PLACE -1,,701234 INTO 3106 ;BOTH AC AND E 3107 032335 312 01 0 00 034417 CAME 1,[-1,,701234] ;PASS IF C(AC)=-1,,701234 3108 STOP^ 3109 032336 254 04 0 00 032337 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3110 032337 324 00 0 00 032340 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3111 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3112 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3113 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3114 032340 312 03 0 00 034417 CAME 3,[-1,,701234] ;PASS IF C(E)=-1,,701234 3115 STOP^ 3116 032341 254 04 0 00 032342 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3117 032342 324 00 0 00 032343 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3118 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3119 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3120 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3121 3122 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 49 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0078 3123 ;THIS TEST VERIFIES THAT HLRES PLACES C(E-LEFT) INTO E-RIGHT 3124 ;AND PLACES BIT 0 OF E INTO BITS 0 THRU 17 OF E. IF AC IS 3125 ;NON-ZERO, THE RESULT IN E IS ALSO PLACED INTO THE AC. 3126 ;IN THIS CASE, AC=0, C(AC)=-1,,-1 AND C(E) 123456,,701234 3127 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1 3128 ;AND 0,,123456 RESPECTIVELY. 3129 3130 032343 474 00 0 00 000000 C67400: SETO 0, ;PRELOAD AC WITH -1,,-1 3131 032344 200 07 0 00 034414 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234 3132 032345 577 00 0 00 000007 HLRES 0,7 ;*HLRES SHOULD PLACE 0,,123456 INTO E 3133 3134 032346 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC) IS UNCHANGED 3135 STOP^ 3136 032347 254 04 0 00 032350 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3137 032350 324 00 0 00 032351 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3138 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3139 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3140 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3141 032351 302 07 0 00 123456 CAIE 7,123456 ;PASS IF C(E)=0,,123456 3142 STOP^ 3143 032352 254 04 0 00 032353 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3144 032353 324 00 0 00 032354 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3145 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3146 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3147 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3148 3149 ;********** 3150 3151 ;THIS TEST VERIFIES THAT HLRES PLACES C(E-LEFT) INTO E-RIGHT 3152 ;AND PLACES BIT 0 OF E INTO BITS 0 THRU 17 OF E. IF AC IS 3153 ;NON-ZERO, THE RESULT IN E IS ALSO PLACED INTO THE AC. 3154 ;IN THIS CASE, AC=1, C(AC)=-1,,-1 AND C(E) 123456,,701234. 3155 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0,,123456 3156 ;AND 0,,123456 RESPECTIVELY. 3157 3158 032354 474 01 0 00 000000 C67410: SETO 1, ;PRELOAD AC WITH -1,,-1 3159 032355 200 07 0 00 034414 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234 3160 032356 577 01 0 00 000007 HLRES 1,7 ;*HLRES SHOULD PLACE 0,,123456 INTO 3161 ;BOTH AC AND E 3162 032357 302 01 0 00 123456 CAIE 1,123456 ;PASS IF C(AC)=0,,123456 3163 STOP^ 3164 032360 254 04 0 00 032361 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3165 032361 324 00 0 00 032362 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3166 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3167 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3168 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3169 032362 302 07 0 00 123456 CAIE 7,123456 ;PASS IF C(E)=0,,123456 3170 STOP^ 3171 032363 254 04 0 00 032364 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3172 032364 324 00 0 00 032365 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3173 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3174 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3175 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3176 3177 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 50 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0079 3178 SUBTTL TEST OF MSCL LOGICAL TEST INSTRUCTIONS 3179 3180 ;********** 3181 3182 ;THIS TEST VERIFIES THAT TRNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3183 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO. 3184 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3 3185 ;HENCE, TRNE SHOULD SKIP THE NEXT INSTRUCTION. THE AC IS ALSO 3186 ;CHECKED FOR NO MODIFICATION. 3187 3188 032365 200 17 0 00 034414 C67500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3189 032366 602 17 0 00 000003 TRNE 17,3 ;*TRNE SHOULD SKIP THE NEXT INSTRUCTION 3190 STOP^ 3191 032367 254 04 0 00 032370 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3192 032370 324 00 0 00 032371 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3193 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3194 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3195 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3196 032371 312 17 0 00 034414 CAME 17,[123456,,701234] ;PASS IF C AC) UNCHANGED 3197 STOP^ 3198 032372 254 04 0 00 032373 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3199 032373 324 00 0 00 032374 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3200 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3201 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3202 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3203 3204 ;********** 3205 3206 ;THIS TEST VERIFIES THAT TRNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3207 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO. 3208 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300 3209 ;HENCE, TRNE SHOULD NOT SKIP THE NEXT INSTRUCTION. THE AC IS ALSO 3210 ;CHECKED FOR NO MODIFICATION. 3211 3212 032374 200 16 0 00 034414 C67510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3213 032375 602 16 0 00 000300 TRNE 16,300 ;*TRNE SHOULD NOT SKIP THE NEXT INSTRUCTION 3214 032376 334 00 0 00 000000 SKIPA ;PASS IF TRNE DID NOT SKIP 3215 STOP^ 3216 032377 254 04 0 00 032400 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3217 032400 324 00 0 00 032401 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3218 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3219 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3220 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3221 032401 312 16 0 00 034414 CAME 16,[123456,,701234] ;PASS IF C(AC) UNCHANGED 3222 STOP^ 3223 032402 254 04 0 00 032403 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3224 032403 324 00 0 00 032404 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3225 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3226 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3227 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3228 3229 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 51 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0080 3230 ;THIS TEST VERIFIES THAT TLNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3231 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO. 3232 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300 3233 ;HENCE, TLNE SHOULD SKIP THE NEXT INSTRUCTION, THE AC IS ALSO 3234 ;CHECKED FOR NO MODIFICATION. 3235 3236 032404 200 15 0 00 034414 C67600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3237 032405 603 15 0 00 000300 TLNE 15,300 ;*TLNE CHOULD SKIP 3238 STOP^ 3239 032406 254 04 0 00 032407 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3240 032407 324 00 0 00 032410 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3241 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3242 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3243 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3244 032410 312 15 0 00 034414 CAME 15,[123456,,701234] ;PASS IF C(AC) IS UNCHANGED 3245 STOP^ 3246 032411 254 04 0 00 032412 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3247 032412 324 00 0 00 032413 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3248 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3249 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3250 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3251 3252 ;********** 3253 3254 ;THIS TEST VERIFIES THAT TLNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3255 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO 3256 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3. 3257 ;HENCE, TLNE SHOULD NOT SKIP THE NEXT INSTRUCTION, THE AC IS ALSO 3258 ;CHECKED FOR NO MODIFICATION 3259 3260 032413 200 14 0 00 034414 C67610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3261 032414 603 14 0 00 000003 TLNE 14,3 ;*TLNE SHOULD NOT SKIP 3262 032415 334 00 0 00 000000 SKIPA ;PASS IF TLNE DID NOT SKIP 3263 STOP^ 3264 032416 254 04 0 00 032417 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3265 032417 324 00 0 00 032420 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3266 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3267 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3268 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3269 032420 312 14 0 00 034414 CAME 14,[123456,,701234] ;PASS IF C(AC) UNCHANGED 3270 STOP^ 3271 032421 254 04 0 00 032422 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3272 032422 324 00 0 00 032423 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3273 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3274 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3275 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3276 3277 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 52 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0081 3278 ;THIS TEST VERIFIES THAT TRNA ALWAYS SKIPS THE NEXT SEQUENTIAL 3279 ;INSTRUCTION. HENCE, TRNA IS INDEPENDENT OF BOTH C(A) AND E 3280 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3. 3281 ;HENCE, TRNA SHOULD SKIP THENEXT INSTRUCTION AND NOT ALTER C(AC). 3282 3283 032423 200 13 0 00 034414 C67700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3284 032424 604 13 0 00 000003 TRNA 13,3 ;*TRNA SHOULD ALWAYS SKIP 3285 STOP^ 3286 032425 254 04 0 00 032426 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3287 032426 324 00 0 00 032427 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3288 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3289 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3290 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3291 032427 312 13 0 00 034414 CAME 13,[123456,,701234] ;PASS IFC(AC) UNCHANGED 3292 STOP^ 3293 032430 254 04 0 00 032431 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3294 032431 324 00 0 00 032432 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3295 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3296 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3297 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3298 3299 ;********** 3300 3301 ;THIS TEST VERIFhES THAT TRNA ALWAYS SKIPS THE NEXT SEQUENTIAL 3302 ;INSTRUCTION. HENCE, TRNA IS INDEPENDENT OF BOTH C(A) AND E. 3303 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300 3304 ;HENCE, TRNA SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC). 3305 3306 032432 200 12 0 00 034414 C67710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3307 032433 604 12 0 00 000300 TRNA 12,300 ;*TRNA SHOQLD ALWAYS SKIP 3308 STOP^ 3309 032434 254 04 0 00 032435 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3310 032435 324 00 0 00 032436 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3311 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3312 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3313 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3314 032436 312 12 0 00 034414 CAME 12,[123456,,701234] ;PASS IF C(AC) UNCHANGED 3315 STOP^ 3316 032437 254 04 0 00 032440 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3317 032440 324 00 0 00 032441 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3318 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3319 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3320 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3321 3322 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 53 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0082 3323 ;THIS TEST VERIFIaS THAT TLNA ALWAYS SKIPS THE NEXT SEQUENTIAL 3324 ;INSTRUCTION. HENCE, TLNA IS INDEPENDENt OF BOTH C(AC) AND E. 3325 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3. 3326 ;HENCE, TLNA SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC). 3327 3328 032441 200 11 0 00 034414 C70000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3329 032442 605 11 0 00 000003 TLNA 11,3 ;*TLNA SHOULD ALWAYS SKIP 3330 STOP^ 3331 032443 254 04 0 00 032444 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3332 032444 324 00 0 00 032445 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3333 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3334 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3335 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3336 032445 312 11 0 00 034414 CAME 11,[123456,,701234] ;PASS IF C(AC) UNCHANGED 3337 STOP^ 3338 032446 254 04 0 00 032447 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3339 032447 324 00 0 00 032450 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3340 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3341 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3342 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3343 3344 ;********** 3345 3346 ;THIS TEST VERIFIES THAT TLNA ALWAYS SKIPS THE NEXT SEQUENTIAL 3347 ;INSTRUCTION. HENCE, TLNA IS INDEPENDENT OF BOTH C(AC) AND E. 3348 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300. 3349 ;HENCE, TLNA SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC). 3350 3351 032450 200 10 0 00 034414 C70010: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3352 032451 605 10 0 00 000300 TLNA 10,300 ;*TLNA SHOULD ALWAYS SKIP 3353 STOP^ 3354 032452 254 04 0 00 032453 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3355 032453 324 00 0 00 032454 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3356 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3357 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3358 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3359 032454 312 10 0 00 034414 CAME 10,[123456,,701234] ;PASS IF C(AC) UNCHANGED 3360 STOP^ 3361 032455 254 04 0 00 032456 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3362 032456 324 00 0 00 032457 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3363 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3364 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3365 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3366 3367 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 54 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0083 3368 ;THIS TEST VERIFIES THAT TRNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3369 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN 3370 ;E ARE ZERO. IN THIS CASE, C(AC)=123456,,701234 AND E=300. 3371 ;HENCE, TRNN SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC). 3372 3373 032457 200 07 0 00 034414 C70100: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3374 032460 606 07 0 00 000300 TRNN 7,300 ;*TRNN SHOULD SKIP 3375 SToP^ 3376 032461 254 04 0 00 032462 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3377 032462 324 00 0 00 032463 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3378 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3379 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3380 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3381 032463 312 07 0 00 034414 CAME 7,[123456,,701234] ;PASS IF C(AC) UNCHANGED 3382 STOP^ 3383 032464 254 04 0 00 032465 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3384 032465 324 00 0 00 032466 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3385 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3386 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3387 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3388 3389 ;********** 3390 3391 ;THIS TEST VERIFIES THAT TRNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3392 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN 3393 ;E ARE ZERO. IN THIS CASE, C(AC)=123456,,701234 AND E=3. 3394 ;HENCE, TRNN SHoULD NOT SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC). 3395 3396 032466 200 06 0 00 034414 C70110: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3397 032467 606 06 0 00 000003 TRNN 6,3 ;*TRNN SHOULD NOT SKIP 3398 032470 334 00 0 00 000000 SKIPA ;PASS IF TRNN DID NOT SKIP 3399 STOP^ 3400 032471 254 04 0 00 032472 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3401 032472 324 00 0 00 032473 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3402 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3403 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3404 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3405 032473 312 06 0 00 034414 CAME 6,[123456,,701234] ;PASS IF C(AC) UNCHANGED 3406 STOP^ 3407 032474 254 04 0 00 032475 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3408 032475 324 00 0 00 032476 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3409 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3410 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3411 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3412 3413 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 55 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0084 3414 ;THIS TEST VERIFIES THAT TLNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3415 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO. 3416 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3. 3417 ;HENCE, TLNN SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC). 3418 3419 032476 200 05 0 00 034414 C70200: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3420 032477 607 05 0 00 000003 TLNN 5,3 ;*TLNN SHOULD SKIP 3421 STOP^ 3422 032500 254 04 0 00 032501 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3423 032501 324 00 0 00 032502 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3424 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3425 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3426 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3427 032502 312 05 0 00 034414 CAME 5,[123456,,701234] ;PASS IF C(AC) UNCHANGED 3428 STOP^ 3429 032503 254 04 0 00 032504 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3430 032504 324 00 0 00 032505 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3431 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3432 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3433 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3434 3435 ;********** 3436 3437 ;THIS TEST VERIFIES thAT TLNN SkIPS THE NEXT SEQUENTIAL INSTRUcTION 3438 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO. 3439 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300. 3440 ;HENCE, TLNN SHOULD NOT SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC). 3441 3442 032505 200 04 0 00 034414 C70210: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3443 032506 607 04 0 00 000300 TLNN 4,300 ;*TLNN SHOULD NOT SKIP 3444 032507 334 00 0 00 000000 SKIPA ;PASS IF TLNN DOES NOT SKIP 3445 STOP^ 3446 032510 254 04 0 00 032511 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3447 032511 324 00 0 00 032512 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3448 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3449 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3450 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3451 032512 312 04 0 00 034414 CAME 4,[123456,,701234] ;PASS IF C(AC) UNCHANGED 3452 STOP^ 3453 032513 254 04 0 00 032514 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3454 032514 324 00 0 00 032515 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3455 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3456 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3457 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3458 3459 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 56 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0085 3460 ;THIS TEST VERIFIES THAT TSNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3461 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN C(E) WITH 3462 ;BOTH HALVES SNAPPED ARE ZERO. NEITHER AC NOR E ARE AFFECTED. 3463 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321 3464 ;HENCE, TSNE SHOULD SKIP THE NEXT INSTRUCtION AND 3465 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED. 3466 3467 032515 200 03 0 00 034414 C70300: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3468 032516 200 04 0 00 034424 MOVE 4,[76543,,654321] ;PRELOAD E WITH 076543,,654321 3469 032517 613 03 0 00 000004 TSNE 3,4 ;*TSNE SHOULD SKIP 3470 STOP^ 3471 032520 254 04 0 00 032521 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3472 032521 324 00 0 00 032522 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3473 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3474 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3475 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3476 032522 312 03 0 00 034414 CAME 3,[123456,,701234] ;PASS IF C(AC) UNCHANGED 3477 STOP^ 3478 032523 254 04 0 00 032524 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3479 032524 324 00 0 00 032525 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3480 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3481 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3482 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3483 032525 312 04 0 00 034424 CAME 4,[76543,,654321] ;PASS IF C(E) UNCHANGED 3484 STOP^ 3485 032526 254 04 0 00 032527 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3486 032527 324 00 0 00 032530 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3487 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3488 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3489 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3490 3491 ;********** 3492 3493 ;THIS TEST VERIFIES THAT TSNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3494 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN C(E) WITH 3495 ;BOTH HALVES SNAPPED ARE ZERO. NEITHER AC NOR E ARE AFFECTED. 3496 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654323 3497 ;HENCE, TSNE SHOULD NOT SKIP THE NEXT INSTRUCTION AND 3498 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED. 3499 3500 032530 200 02 0 00 034414 C70310: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3501 032531 200 03 0 00 034425 MOVE 3,[76543,,654323] ;PRELOAD E WITH 076543,,654323 3502 032532 613 02 0 00 000003 TSNE 2,3 ;*TSNE SHOULD NOT SKIP 3503 032533 334 00 0 00 000000 SKIPA ;PASS IF TSOE DId NOT SKIP 3504 STOP^ 3505 032534 254 04 0 00 032535 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3506 032535 324 00 0 00 032536 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3507 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3508 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3509 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3510 032536 312 02 0 00 034414 CAME 2,[123456,,701234] ;PASS IF C(AC) UNCHANGED 3511 STOP^ 3512 032537 254 04 0 00 032540 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3513 032540 324 00 0 00 032541 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3514 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 56-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0086 3515 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3516 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3517 032541 312 03 0 00 034425 CAME 3,[76543,,654323] ;PASS IF C(E) UNCHANGED 3518 STOP^ 3519 032542 254 04 0 00 032543 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3520 032543 324 00 0 00 032544 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3521 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3522 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3523 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3524 3525 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 57 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0087 3526 ;THIS TEST VERIFIES THAT TSNA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3527 ;NEITHER AC NOR E ARE AFFECTED. 3528 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321 3529 ;HENCE, TSNA SHOULD SKIP THE NEXT INSTRUCTION AND 3530 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED 3531 3532 032544 200 01 0 00 034414 C70400: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3533 032545 200 02 0 00 034424 MOVE 2,[76543,,654321] ;PRELOAD E WITH 076543,,654321 3534 032546 615 01 0 00 000002 TSNA 1,2 ;*TSNA SHOULD SKIP 3535 STOP^ 3536 032547 254 04 0 00 032550 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3537 032550 324 00 0 00 032551 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3538 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3539 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3540 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3541 032551 312 01 0 00 034414 CAME 1,[123456,,701234] ;PASS IF C(AC) UNCHANGED 3542 STOP^ 3543 032552 254 04 0 00 032553 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3544 032553 324 00 0 00 032554 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3545 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3546 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3547 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3548 032554 312 02 0 00 034424 CAME 2,[76543,,654321] ;PASS IF C(E) UNCHANGED 3549 STOP^ 3550 032555 254 04 0 00 032556 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3551 032556 324 00 0 00 032557 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3552 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3553 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3554 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3555 3556 ;********** 3557 3558 ;THIS TEST VERIFIES THAT TSNA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3559 ;NEITHER AC NOR E ARE EFFECTED. 3560 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654323 3561 ;HENCE, TSNA SHOULD SKIP THE NEXT INSTRUCTION AND 3562 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED 3563 3564 032557 200 00 0 00 034414 C70410: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3565 032560 200 01 0 00 034425 MOVE 1,[76543,,654323] ;PRELOAD E WITH 076543,,654323 3566 032561 615 00 0 00 000001 TSNA 0,1 ;*TSNA SHOULD SKIP 3567 STOP^ 3568 032562 254 04 0 00 032563 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3569 032563 324 00 0 00 032564 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3570 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3571 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3572 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3573 032564 312 01 0 00 034425 CAME 1,[76543,,654323] ;PASS IF C(E) UNCHANGED 3574 STOP^ 3575 032565 254 04 0 00 032566 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3576 032566 324 00 0 00 032567 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3577 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3578 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3579 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3580 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 57-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0088 3581 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 58 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0089 3582 ;THIS TEST VERIFIES THAT TSNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3583 ;IF AND ONLY IF NOT ALL HITS IN THE AC CORRESPONDING TO 1'S IN C(E) WITH 3584 ;BOTH HALVES SWAPPED ARE ZERO. NEITHER AC NOR E ARE AFFECTED. 3585 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076547,,654321 3586 ;HENCE, TSNN SHOULD SKIP THE NEXT INSTRUCTION AND 3587 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED 3588 3589 032567 200 17 0 00 034414 C70500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3590 032570 200 00 0 00 034426 MOVE 0,[76547,,654321] ;PRELOAD E WITH 076547,,654321 3591 032571 617 17 0 00 000000 TSNN 17,0 ;*TSNN SHOULD SKIP 3592 STOP^ 3593 032572 254 04 0 00 032573 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3594 032573 324 00 0 00 032574 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3595 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3596 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3597 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3598 032574 312 17 0 00 034414 CAME 17,[123456,,701234] ;PASS IF C(AC) UNCHANGED 3599 STOP^ 3600 032575 254 04 0 00 032576 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3601 032576 324 00 0 00 032577 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3602 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3603 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3604 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3605 032577 312 00 0 00 034426 CAME 0,[76547,,654321] ;PASS IF C(E) UNCHANGED 3606 STOP^ 3607 032600 254 04 0 00 032601 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3608 032601 324 00 0 00 032602 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3609 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3610 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3611 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3612 3613 ;********** 3614 3615 ;THIS TEST VERIFIES THAT TSNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3616 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN C(E) WITH 3617 ;BOTH HALVES SWAPPED ARE ZERO. NEITHER AC NOR E ARE AFFECTED. 3618 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321 3619 ;HENCE, TSNN SHOULD NOT SKIP THE NEXT INSTRUCTION AND 3620 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED 3621 3622 032602 200 16 0 00 034414 C70510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3623 032603 200 17 0 00 034424 MOVE 17,[76543,,654321] ;PRELOAD E WITH 076543,,654321 3624 032604 617 16 0 00 000017 TSNN 16,17 ;*TSNN SHOULD NOT SKIP 3625 032605 334 00 0 00 000000 SKIPA ;PASS IF TSNN DID NOT SKIP 3626 STOP^ 3627 032606 254 04 0 00 032607 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3628 032607 324 00 0 00 032610 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3629 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3630 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3631 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3632 032610 312 16 0 00 034414 CAME 16,[123456,,701234] ;PASS IF C(AC) UNCHANGED 3633 STOP^ 3634 032611 254 04 0 00 032612 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3635 032612 324 00 0 00 032613 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3636 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 58-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0090 3637 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3638 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3639 032613 312 17 0 00 034424 CAME 17,[76543,,654321] ;PASS IF C(E) UNCHANGED 3640 STOP^ 3641 032614 254 04 0 00 032615 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3642 032615 324 00 0 00 032616 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3643 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3644 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3645 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3646 3647 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 59 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0091 3648 ;THIS TEST VERIFIES THAT TRZ CHANGES ALL BITS IN THE AC-RIGHT WHICH 3649 ;CORRESPOND TO 1'S IN E TO ZERO AND DOES NOT SKIP. 3650 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3 3651 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701234 3652 3653 032616 200 15 0 00 034414 C70600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234] 3654 032617 620 12 0 00 000003 TRZ 12,3 ;*TRZ SHOULD PLACE 123456,,701234 INTO 3655 ;THE AC AND NOT SKIP 3656 032620 334 00 0 00 000000 SKIPA ;PASS IF TRZ DOES NOT SKIP 3657 STOP^ 3658 032621 254 04 0 00 032622 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3659 032622 324 00 0 00 032623 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3660 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3661 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3662 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3663 032623 312 15 0 00 034414 CAME 15,[123456,,701234] ;PASS IF C(AC)=123456,,701234 3664 STOP^ 3665 032624 254 04 0 00 032625 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3666 032625 324 00 0 00 032626 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3667 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3668 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3669 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3670 3671 ;********** 3672 3673 ;THIS TEST VERIFIES THAT TRZ CHANGES ALL BITS IN THE AC-RIGHT WHICH 3674 ;CORRESPOND TO 1'S IN E TO ZERO AND DOES NOT SKIP. 3675 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300 3676 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701034 3677 3678 032626 200 14 0 00 034414 C70610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3679 032627 620 14 0 00 000300 TRZ 14,300 ;*TRZ SHOULD PLACE 123456,,701234 INTO 3680 ;THE ACAND NOT SKIP 3681 032630 334 00 0 00 000000 SKIPA ;PASS IF TRX DOES NOT SKIP 3682 STOP^ 3683 032631 254 04 0 00 032632 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3684 032632 324 00 0 00 032633 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3685 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3686 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3687 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3688 032633 312 14 0 00 034427 CAME 14,[123456,,701034] ;PASS IF C(AC)=123456,,701034 3689 STOP^ 3690 032634 254 04 0 00 032635 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3691 032635 324 00 0 00 032636 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3692 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3693 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3694 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3695 3696 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 60 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0092 3697 ;THIS TEST VERIFIES THAT TLZ CHANGES ALL BITS IN THE AC-LEFT WHICH 3698 ;CORRESPOND TO 1'S IN E TO ZERO AND DOES NOT SKIP. 3699 ;IN THIS CACE, C(AC)=123456,,701234 AND E=300 3700 ;HENCE, THE RESULT IN THE AC SHOUL BE 123456,,701234 3701 3702 032636 200 13 0 00 034414 C70700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3703 032637 621 13 0 00 000300 TLZ 13,300 ;*TLZ SHOULD PLACE 123456,,701234 INTO 3704 ;THE AC AND NOT SKIP 3705 032640 334 00 0 00 000000 SKIPA ;PASS IF TLZ DOES NOT SKIP 3706 STOP^ 3707 032641 254 04 0 00 032642 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3708 032642 324 00 0 00 032643 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3709 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3710 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3711 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3712 032643 312 13 0 00 034414 CAME 13,[123456,,701234] ;PASS IF C(AC)=123456,,701234 3713 STOP^ 3714 032644 254 04 0 00 032645 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3715 032645 324 00 0 00 032646 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3716 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3717 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3718 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3719 3720 ;********** 3721 3722 ;THIS TEST VERIFIES THAT TLZ CHANGES ALL BITS IN THE AC-LEFT WHICH 3723 ;CORRSPOND TO 1'S IN E TO ZERO AND DOES NOT SKIP. 3724 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3 3725 ;HENCE, THE RESULT IN THE AC SHOULD BE 123454,,701234 3726 3727 032646 200 12 0 00 034414 C70710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3728 032647 621 12 0 00 000003 TLZ 12,3 ;*TLZ SHOULD PLACE 123454,,701234 INTO 3729 ;THE AC AND NOT SKIP 3730 032650 334 00 0 00 000000 SKIPA ;PASS IF TLZ DOES NOT SKIP 3731 STOP^ 3732 032651 254 04 0 00 032652 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3733 032652 324 00 0 00 032653 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3734 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3735 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3736 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3737 032653 312 12 0 00 034430 CAME 12,[123454,,701234] ;PASS IF C(AC)=123454,701234 3738 STOP^ 3739 032654 254 04 0 00 032655 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3740 032655 324 00 0 00 032656 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3741 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3742 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3743 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3744 3745 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 61 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0093 3746 ;THIS TEST VERIFIES THAT TRZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3747 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO. 3748 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS. 3749 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3 3750 ;HENCE, TRZE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION 3751 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701234 3752 3753 032656 200 11 0 00 034414 C71000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3754 032657 622 11 0 00 000003 TRZE 11,3 ;*TRZE SHOULD SKIP AND 3755 ;PLACE 123456,,701234 INTO THE AC 3756 STOP^ 3757 032660 254 04 0 00 032661 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3758 032661 324 00 0 00 032662 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3759 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3760 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3761 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3762 032662 312 11 0 00 034414 CAME 11,[123456,,701234] ;PASS IF C(AC)=123456,,701234 3763 STOP^ 3764 032663 254 04 0 00 032664 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3765 032664 324 00 0 00 032665 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3766 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3767 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3768 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3769 3770 ;********** 3771 3772 ;THIS TEST VERIFIES THAT TRZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3773 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRSPONDING TO 1'S IN E ARE ZERO. 3774 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS. 3775 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300 3776 ;HENCE, TRZE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION 3777 ;AND THE RESULT IN THE AC SHOUDL BE 123456,,701034 3778 3779 032665 200 10 0 00 034414 C71010: MOVE 10,[123456,,701234] ;PRELOAD AC WIT@ 123456,,701234 3780 032666 622 10 0 00 000300 TRZE 10,300 ;*TRZE SHOULD PLACE 123456,,701034 INTO 3781 ;THE AC AND NOT SKIP 3782 032667 334 00 0 00 000000 SKIPA ;PASS IF TRZE DOES NOT SKIP 3783 STOP^ 3784 032670 254 04 0 00 032671 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3785 032671 324 00 0 00 032672 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3786 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3787 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3788 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3789 032672 312 10 0 00 034427 CAME 10,[123456,,701034] ;PASS IF C(AC)=123456,,701034 3790 STOP^ 3791 032673 254 04 0 00 032674 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3792 032674 324 00 0 00 032675 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3793 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3794 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3795 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3796 3797 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 62 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0094 3798 ;THIS TEST VERIFIES THAT TLZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3799 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO. 3800 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS. 3801 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300 3802 ;HENCE, TLZE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION 3803 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701234 3804 3805 032675 200 07 0 00 034414 C71100: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3806 032676 623 07 0 00 000300 TLZE 7,300 ;*TLZE SHOULD SKIP AND 3807 ;PLACE 123456,,701234 INTO THE AC 3808 STOP^ 3809 032677 254 04 0 00 032700 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3810 032700 324 00 0 00 032701 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3811 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3812 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3813 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3814 032701 312 07 0 00 034414 CAME 7,[123456,,701234] ;PASS IF C(AC)=123456,,701234 3815 STOP^ 3816 032702 254 04 0 00 032703 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3817 032703 324 00 0 00 032704 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3818 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3819 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3820 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3821 3822 ;********** 3823 3824 ;THIS TEST VERIFIES THAT TLZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3825 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO. 3826 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS. 3827 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3 3828 ;HENCE, TLZE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION 3829 ;AND THE RESULT IN THE AC SHOULD BE 123454,,701234 3830 3831 032704 200 06 0 00 034414 C71110: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3832 032705 623 06 0 00 000003 TLZE 6,3 ;*TLZE SHOULD PLACE 123454,,701234 INTO 3833 ;THE AC AND NOT SKIP 3834 032706 334 00 0 00 000000 SKIPA ;PASS IF TLZE DOES NOT SKIP 3835 STOP^ 3836 032707 254 04 0 00 032710 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3837 032710 324 00 0 00 032711 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3838 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3839 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3840 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3841 032711 312 06 0 00 034430 CAME 6,[123454,,701234] ;PASS IF C(AC)=123454,,701234 3842 STOP^ 3843 032712 254 04 0 00 032713 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3844 032713 324 00 0 00 032714 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3845 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3846 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3847 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3848 3849 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 63 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0095 3850 ;THIS TEST VERIFIES THAT TRZA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3851 ;AND CHANGES ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E TO ZERO. 3852 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3. 3853 ;HENCE, TRZA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN 3854 ;THE AC SHOULD BE 123456,,701234 3855 3856 032714 200 05 0 00 034414 C71200: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3857 032715 624 05 0 00 000003 TRZA 5,3 ;*TRZA SHOULD SKIP AND 3858 ;PLACE 123456,,701234 INTO THE AC 3859 STOP^ 3860 032716 254 04 0 00 032717 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3861 032717 324 00 0 00 032720 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3862 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3863 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3864 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3865 032720 312 05 0 00 034414 CAME 5,[123456,,701234] ;PASS IF C(AC)=123456,,701234 3866 STOP^ 3867 032721 254 04 0 00 032722 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3868 032722 324 00 0 00 032723 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3869 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3870 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3871 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3872 3873 ;********** 3874 3875 ;THIS TEST VERIFIES THAT TRZA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3876 ;AND CHANGES ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E TO ZERO. 3877 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300. 3878 ;HENCE, TRZA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN 3879 ;THE AC SHOULD BE 123456,,701234. 3880 3881 032723 200 04 0 00 034414 C71210: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3882 032724 624 04 0 00 000300 TRZA 4,300 ;*TRZA SHOULD SKIP AND 3883 ;PLACE 123456,,701034 INTO THE AC 3884 STOP^ 3885 032725 254 04 0 00 032726 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3886 032726 324 00 0 00 032727 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3887 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3888 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3889 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3890 032727 312 04 0 00 034427 CAME 4,[123456,,701034] ;PASS IF C(AC)=123456,,701034 3891 STOP^ 3892 032730 254 04 0 00 032731 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3893 032731 324 00 0 00 032732 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3894 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3895 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3896 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3897 3898 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 64 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0096 3899 ;THIS TEST VERIFIES THAT TLZA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRQCTION 3900 ;AND CHANGES ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E TO ZERO. 3901 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3. 3902 ;HENCE, TLZA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN 3903 ;THE AC SHOULD BE 123454,,701234. 3904 3905 032732 200 03 0 00 034414 C71300: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3906 032733 625 03 0 00 000003 TLZA 3,3 ;*TLZA SHOULD SKIP AND 3907 ;PLACE 123454,,701234 INTO THE AC 3908 STOP^ 3909 032734 254 04 0 00 032735 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3910 032735 324 00 0 00 032736 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3911 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3912 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3913 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3914 032736 312 03 0 00 034430 CAME 3,[123454,,701234] ;PASS IF C(AC)=123454,,701234 3915 STOP^ 3916 032737 254 04 0 00 032740 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3917 032740 324 00 0 00 032741 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3918 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3919 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3920 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3921 3922 ;********** 3923 3924 ;THIS TEST VERIFIES THAT TLZA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3925 ;AND CHANGES ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E TO ZERO. 3926 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300. 3927 ;HENCE, TLZA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN 3928 ;THE AC SHOULD BE 123456,,701234. 3929 3930 032741 200 02 0 00 034414 C71310: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3931 032742 625 02 0 00 000300 TLZA 2,300 ;*TLZA SHOULD SKIP AND 3932 ;PLACE 123456,,701234 INTO THE AC 3933 STOP^ 3934 032743 254 04 0 00 032744 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3935 032744 324 00 0 00 032745 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3936 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3937 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3938 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3939 032745 312 02 0 00 034414 CAME 2,[123456,,701234] ;PASS IF C(AC)=123456,,701234 3940 STOP^ 3941 032746 254 04 0 00 032747 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3942 032747 324 00 0 00 032750 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3943 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3944 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3945 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3946 3947 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 65 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0097 3948 ;THIS TEST VERIFIES THAT TRZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3949 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO. 3950 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS. 3951 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300. 3952 ;HENCE, TRZN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION 3953 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701034. 3954 3955 032750 200 01 0 00 034414 C71400: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 3956 032751 626 01 0 00 000300 TRZN 1,300 ;*TRZN SHOULD SKIP AND 3957 ;PLACE 123456,,701034 INTO THE AC 3958 STOP^ 3959 032752 254 04 0 00 032753 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3960 032753 324 00 0 00 032754 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3961 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3962 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3963 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3964 032754 312 01 0 00 034427 CAME 1,[123456,,701034] ;PASS IF C(AC)=123456,,701034 3965 STOP^ 3966 032755 254 04 0 00 032756 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3967 032756 324 00 0 00 032757 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3968 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3969 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3970 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3971 3972 ;********** 3973 3974 ;THIS TEST VERIFIES THAT TRZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 3975 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO. 3976 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS. 3977 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3. 3978 ;HENCE, TRZN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION 3979 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701234. 3980 3981 032757 200 00 0 00 034414 C71410: MOVE 0,[123456,,701234] ;PRELOAD AC WATH 123456,,701234 3982 032760 626 00 0 00 000003 TRZN 0,3 ;*TRZN SHOULD PLACE 123456,,701234 INTO 3983 ;THE AC AND NOT SKIP 3984 032761 334 00 0 00 000000 SKIPA ;PASS IF TRZN DOES NOT SKIP 3985 STOP^ 3986 032762 254 04 0 00 032763 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3987 032763 324 00 0 00 032764 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3988 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3989 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3990 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3991 032764 312 00 0 00 034414 CAME 0,[123456,,701234] ;PASS IF C(AC)=123456,,701234 3992 STOP^ 3993 032765 254 04 0 00 032766 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 3994 032766 324 00 0 00 032767 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 3995 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 3996 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 3997 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 3998 3999 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 66 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0098 4000 ;THIS TEST VERIFIES THAT TLZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4001 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO. 4002 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS. 4003 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3. 4004 ;HENCE, TLZN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION 4005 ;AND THE RESULT IN THE AC SHOULD BE 123454,,701234. 4006 4007 032767 200 17 0 00 034414 C71500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4008 032770 627 17 0 00 000003 TLZN 17,3 ;TLZN SHOULD SKIP AND 4009 ;PLACE 123454,,701234 INTO THE AC 4010 STOP^ 4011 032771 254 04 0 00 032772 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4012 032772 324 00 0 00 032773 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4013 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4014 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4015 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4016 032773 312 17 0 00 034430 CAME 17,[123454,,701234] ;PASS IF C(AC)=123454,,701234 4017 STOP^ 4018 032774 254 04 0 00 032775 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4019 032775 324 00 0 00 032776 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4020 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4021 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4022 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4023 4024 ;********** 4025 4026 ;THIS TEST VERIFIES THAT TLZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4027 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO. 4028 ;THESE MASKED AC BIPS ARE THEN CHANGED TO ZEROS. 4029 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300. 4030 ;HENCE, TLZN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION 4031 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701234. 4032 4033 032776 200 16 0 00 034414 C71510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4034 032777 627 16 0 00 000300 TLZN 16,300 ;*TLZN SHOULD PLACE 123456,,701234 INTO 4035 ;THE AC AND NOT SKIP 4036 033000 334 00 0 00 000000 SKIPA ;PASS IF TLZN DOES NOT SKIP 4037 STOP^ 4038 033001 254 04 0 00 033002 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4039 033002 324 00 0 00 033003 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4040 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4041 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4042 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4043 033003 312 16 0 00 034414 CAME 16,[123456,,701234] ;PASS IF C(AC)=123456,,701234 4044 STOP^ 4045 033004 254 04 0 00 033005 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4046 033005 324 00 0 00 033006 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4047 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4048 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4049 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4050 4051 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 67 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0099 4052 ;THIS TEST VERIFIES THAT TSZ CLEARS ALL BITS OF THE AC WHICH 4053 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND DOES 4054 ;NOT SKIP THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED. 4055 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321. 4056 ;HENCE, TSZ SHOULD NOT SKIP AND C(AC) SHOULD BE 123456,,701234. 4057 4058 033006 200 15 0 00 034414 C71600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4059 033007 200 16 0 00 034424 MOVE 16,[076543,,654321] ;PRELOAD E WITH 076543,,654321 4060 033010 631 15 0 00 000016 TSZ 15,16 ;*TSZ SHOULD NOT SKIP AND 4061 ;PLACE 123456,,701234 INTO THE AC 4062 033011 334 00 0 00 000000 SKIPA ;PASS IF TSZ DID NOT SKIP 4063 STOP^ 4064 033012 254 04 0 00 033013 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4065 033013 324 00 0 00 033014 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4066 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4067 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4068 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4069 033014 312 15 0 00 034414 CAME 15,[123456,,701234] ;PASS IF C(AC)=123456,,701234 4070 STOP^ 4071 033015 254 04 0 00 033016 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4072 033016 324 00 0 00 033017 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4073 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4074 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4075 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4076 033017 312 16 0 00 034424 CAME 16,[76543,,654321] ;PASS IF C(E) UNCHANCED 4077 STOP^ 4078 033020 254 04 0 00 033021 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4079 033021 324 00 0 00 033022 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4080 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4081 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4082 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4083 4084 ;********** 4085 4086 ;THIS TEST VERIFIES THAT TSZ CLEARS ALL BITS OF THE AC WHICH 4087 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND DOES 4088 ;NOT SKIP THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED. 4089 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070. 4090 ;HENCE, TSZ SHOULD NOT SKIP AND C(AC) SHOULD BE 020406,,501210. 4091 4092 033022 200 14 0 00 034414 C71610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4093 033023 200 15 0 00 034431 MOVE 15,[252525,,707070] ;PRELOAD E WITH 252525,,707070 4094 033024 631 14 0 00 000015 TSZ 14,15 ;*TSZ SHOULD NOT SKIP AND 4095 ;PLACE 020406,,501210 INTO THE AC 4096 033025 334 00 0 00 000000 SKIPA ;PASS IF TSZ DID NOT SKIP 4097 STOP^ 4098 033026 254 04 0 00 033027 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4099 033027 324 00 0 00 033030 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4100 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4101 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4102 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4103 033030 312 14 0 00 034432 CAME 14,[020406,,501210] ;PASS IF C(AC)=020406,,501210 4104 STOP^ 4105 033031 254 04 0 00 033032 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4106 033032 324 00 0 00 033033 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 67-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0100 4107 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4108 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4109 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4110 033033 312 15 0 00 034431 CAME 15,[252525,,707070] ;PASS IF C(E) UNCHANGED 4111 STOP^ 4112 033034 254 04 0 00 033035 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4113 033035 324 00 0 00 033036 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4114 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4115 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4116 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4117 4118 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 68 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0101 4119 ;THIS TEST VERIFIES THAT TDZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4120 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN 4121 ;C(E). 4122 ;AC BITS ARE THEN CHANGED TO ZERO. 4123 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543. 4124 ;HENCE, TDZE SHOULD SKIP AND THE RESULT IN THE AC 4125 ;SHOULD BE 123456,,701234. C(E) IS NOT AFFECTED. 4126 4127 033036 200 13 0 00 034414 C71700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4128 033037 200 14 0 00 034433 MOVE 14,[654321,,076543] ;PRELOAD E WITH 654321,,076543 4129 033040 632 13 0 00 000014 TDZE 13,14 ;*TDZE SHOULD SKIP AND 4130 ;PLACE 123456,,701234 INTO THE AC 4131 STOP^ 4132 033041 254 04 0 00 033042 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4133 033042 324 00 0 00 033043 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4134 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4135 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4136 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4137 033043 312 13 0 00 034414 CAME 13,[123456,,701234] ;PASS IF C(AC)=123456,,701234] 4138 STOP^ 4139 033044 254 04 0 00 033045 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4140 033045 324 00 0 00 033046 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4141 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4142 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4143 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4144 033046 312 14 0 00 034433 CAME 14,[654321,,076543] ;PASS IF C(E) UNCHANGED 4145 STOP^ 4146 033047 254 04 0 00 033050 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4147 033050 324 00 0 00 033051 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4148 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4149 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4150 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4151 4152 ;********** 4153 4154 ;THIS TEST VERIFIES THAT TDZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4155 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN 4156 ;C(E) ARE ZERO. THESE MASKED 4157 ;AC BITS ARE THEN CHANGED TO ZERO. 4158 ;IN THIS CASE, C(AC)= 123456,,701234 AND C(E)= 754321,,076543 4159 ;HENCE, TDZE SHOULD NOT SKIP AND THE RESULT IN AC 4160 ;SHOULD BE 023456,,701234 C(E) IS NOT AFFECTED 4161 4162 033051 200 12 0 00 034414 C71710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4163 033052 200 13 0 00 034434 MOVE 13,[754321,,076543] ;PRELOAD E WITH 754321,,076543 4164 033053 632 12 0 00 000013 TDZE 12,13 ;*TDZE SHOULD NOT SKIP AND 4165 ;PLACE 023456,,701234 INTO THE AC 4166 033054 334 00 0 00 000000 SKIPA ;PASS IF TDZE DOES NOT SKIP 4167 STOP^ 4168 033055 254 04 0 00 033056 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4169 033056 324 00 0 00 033057 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4170 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4171 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4172 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4173 033057 312 12 0 00 034435 CAME 12,[023456,,701234] ;PASS IF C(AC)= 023456,,701234 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 68-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0102 4174 STOP^ 4175 033060 254 04 0 00 033061 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4176 033061 324 00 0 00 033062 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4177 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4178 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4179 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4180 033062 312 13 0 00 034434 CAME 13,[754321,,076543] ;PASS IF C(E) UNCHANGED 4181 STOP^ 4182 033063 254 04 0 00 033064 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4183 033064 324 00 0 00 033065 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4184 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4185 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4186 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4187 4188 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 69 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0103 4189 ;THIS TEST VERIFIES THAT TSZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4190 ;IF AND ONLY IF ALL BITS IN THE AC CORRECPONDING TO 1'S IN 4191 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED 4192 ;AC BITS ARE THEN CHANGED TO ZERO. 4193 ;IN THIS CASE, C(AC)= 123456,,701234 AND C(E)= 076543,,654321 4194 ;HENCE, TSZE SHOULD SKIP AND THE RESULT IN AC 4195 ;SHOULD BE 123456,,701234 C(E) IS NOT AFFECTED 4196 4197 033065 200 11 0 00 034414 C72000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4198 033066 200 12 0 00 034424 MOVE 12,[076543,,654321] ;PRELOAD E WITH 076543,,654321 4199 033067 633 11 0 00 000012 TSZE 11,12 ;*TSZE SHOULD SKIP AND 4200 ;PLACE 123456,,701234 INTO THE AC 4201 STOP^ 4202 033070 254 04 0 00 033071 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4203 033071 324 00 0 00 033072 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4204 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4205 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4206 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4207 033072 312 11 0 00 034414 CAME 11,[123456,,701234] ;PASS IF C(AC)= 123456,,701234 4208 STOP^ 4209 033073 254 04 0 00 033074 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4210 033074 324 00 0 00 033075 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4211 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4212 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4213 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4214 033075 312 12 0 00 034424 CAME 12,[76543,,654321] ;PASS IF C(E) UNCHANGED 4215 STOP^ 4216 033076 254 04 0 00 033077 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4217 033077 324 00 0 00 033100 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4218 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4219 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4220 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4221 4222 ;********** 4223 4224 ;THIS TEST VERIFIES THAT TSZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4225 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN 4226 ;C (E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED 4227 ;AC BITS ARE THEN CHANGED TO ZERO 4228 ;IN THIS CASE, C(AC)= 123456,,701234 AND C(E)= 076543,,657321 4229 ;HENCE, TSZE SHOULD NOT SKIP AND THE RESULT IN AC 4230 ;SHOULD BE 120456,,701234 C(E) IS NOT AFFECTED 4231 4232 033100 200 10 0 00 034414 C72010: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4233 033101 200 11 0 00 034436 MOVE 11,[76543,,657321] ;PRELOAD E WITH 076543,,654321 4234 033102 633 10 0 00 000011 TSZE 10,11 ;*TSZE SHOULD NOT SKIP AND 4235 ;PLACE 120456,,701234 INTO THE AC 4236 033103 334 00 0 00 000000 SKIPA ;PASS IF TSZE DID NOT SKIP 4237 STOP^ 4238 033104 254 04 0 00 033105 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4239 033105 324 00 0 00 033106 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4240 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4241 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4242 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4243 033106 312 10 0 00 034437 CAME 10,[120456,,701234] ;PASS IF C(AC)= 120456,,701234 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 69-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0104 4244 STOP^ 4245 033107 254 04 0 00 033110 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4246 033110 324 00 0 00 033111 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4247 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4248 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4249 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4250 033111 312 11 0 00 034436 CAME 11,[76543,,657321] ;PASS IF C(E) UNCHANGED 4251 STOP^ 4252 033112 254 04 0 00 033113 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4253 033113 324 00 0 00 033114 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4254 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4255 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4256 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4257 4258 4259 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 70 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0105 4260 ;THIS TEST VERIFIES THAT TDZA CLEARS ALL BITS OF THE AC WHICH 4261 ;CORRESPOND TO 1'S IN C(E) AND ALWAYS 4262 ;SKIPS THE NEXT INSTRUCTION C(E) IS NOT AFFECTED 4263 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)= 654321,,076543 4264 ;HENCE, TD2A SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 123456,,701234 4265 4266 033114 200 07 0 00 034414 C72100: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4267 033115 200 10 0 00 034433 MOVE 10,[654321,,076543] ;PRELOAD E WITH 654321,,076543 4268 033116 634 07 0 00 000010 TDZA 7,10 ;*TDZA SHOULD SKIP AND 4269 ;PLACE 123456,,701234 INTO THE AC 4270 STOP^ 4271 033117 254 04 0 00 033120 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4272 033120 324 00 0 00 033121 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4273 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4274 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4275 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4276 033121 312 07 0 00 034414 CAME 7,[123456,,701234] ;PASS IF C(AC)= 123456,,701234 4277 STOP^ 4278 033122 254 04 0 00 033123 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4279 033123 324 00 0 00 033124 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4280 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4281 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4282 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4283 033124 312 10 0 00 034433 CAME 10,[654321,,076543] ;PASS IF C(AC)=123456,,701234 4284 STOP^ 4285 033125 254 04 0 00 033126 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4286 033126 324 00 0 00 033127 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4287 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4288 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4289 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4290 033127 312 10 0 00 034433 CAME 10,[654321,,076543] ;PASS IF C(E) UNCHANGED 4291 STOP^ 4292 033130 254 04 0 00 033131 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4293 033131 324 00 0 00 033132 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4294 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4295 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4296 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4297 4298 ;********** 4299 4300 ;THIS TEST VERIFIES THAT TDZA CLEARS ALL BITS OF THE AC WHICH 4301 ;CORRESPOND TO 1'S IN C(E) AND ALWAYS 4302 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED 4303 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070 4304 ;HENCE, TDZA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 121052,,000204 4305 4306 033132 200 06 0 00 034414 C72110: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4307 033133 200 07 0 00 034431 MOVE 7,[252525,,707070] ;PRELOAD E WITH 252525,,707070 4308 033134 634 06 0 00 000007 TDZA 6,7 ;*TDZA SHOULD SKIP AND 4309 ;PLACE 121052,,000204 INTO THE AC 4310 STOP^ 4311 033135 254 04 0 00 033136 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4312 033136 324 00 0 00 033137 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4313 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4314 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 70-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0106 4315 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4316 033137 312 06 0 00 034440 CAME 6,[121052,,000204] ;PASS IF C(AC)=121052,,000204 4317 STOP^ 4318 033140 254 04 0 00 033141 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4319 033141 324 00 0 00 033142 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4320 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4321 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4322 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4323 033142 312 07 0 00 034431 CAME 7,[252525,,707070] ;PASS IF C(E) UNCHANGED 4324 STOP^ 4325 033143 254 04 0 00 033144 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4326 033144 324 00 0 00 033145 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4327 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4328 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4329 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4330 4331 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 71 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0107 4332 ;THIS TEST VERIFIES TH`T TSZA CLEARS AHL BITS OF THE AC WHICH 4333 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS 4334 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED. 4335 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321 4336 ;HENCE, TSZA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 123456,,701234 4337 4338 033145 200 05 0 00 034414 C72200: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4339 033146 200 06 0 00 034424 MOVE 6,[076543,,654321] ;PRELOAD E WITH 076543,,654321 4340 033147 635 05 0 00 000006 TSZA 5,6 ;*TSZA SHOULD SKIP AND 4341 ;PLACE 123456,,701234 INTO THE AC 4342 STOP^ 4343 033150 254 04 0 00 033151 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4344 033151 324 00 0 00 033152 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4345 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4346 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4347 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4348 033152 312 05 0 00 034414 CAME 5,[123456,,701234] ;PASS IF C(AC)=123456,,701234 4349 STOP^ 4350 033153 254 04 0 00 033154 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4351 033154 324 00 0 00 033155 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4352 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4353 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4354 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4355 033155 312 06 0 00 034424 CAME 6,[076543,,654321] ;PASS IF C(E) UNCHANGED 4356 STOP^ 4357 033156 254 04 0 00 033157 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4358 033157 324 00 0 00 033160 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4359 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4360 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4361 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4362 4363 ;********** 4364 4365 ;THIS TEST VERIFIES THAT TSZA CLEARS ALL BITS OF THE AC WHICH 4366 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS 4367 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED. 4368 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=701234,,123456 4369 ;HENCE, TSZA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 0 4370 4371 033160 200 04 0 00 034414 C72210: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4372 033161 200 05 0 00 034441 MOVE 5,[701234,,123456] ;PRELOAD E WITH 701234,,123456 4373 033162 635 04 0 00 000005 TSZA 4,5 ;*TSZA SHOULD SKIP AND 4374 ;PLACE 0 INTO THE AC 4375 STOP^ 4376 033163 254 04 0 00 033164 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4377 033164 324 00 0 00 033165 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4378 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4379 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4380 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4381 033165 312 04 0 00 034407 CAME 4,[0] ;PASS IF C(AC)=0 4382 STOP^ 4383 033166 254 04 0 00 033167 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4384 033167 324 00 0 00 033170 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4385 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4386 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 71-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0108 4387 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4388 033170 312 05 0 00 034441 CAME 5,[701234,,123456] ;PASS IF C(E) UNCHANGED 4389 SToP^ 4390 033171 254 04 0 00 033172 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4391 033172 324 00 0 00 033173 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4392 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4393 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4394 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4395 4396 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 72 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0109 4397 ;THIS TEST VERIFIES THAT TDZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4398 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN 4399 ;C(E) ARE ZERO. THESE MASKED 4400 ;AC BITS ARE THEN CHANGEDTO ZERO. 4401 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076547 4402 ;HENCE, TDZN SHOULD SKIP AND THE RESULT IN THE AC 4403 ;SHOULD BE 123456(,701230. C(E) IS NOT AFFECTED. 4404 4405 033173 200 03 0 00 034414 C72300: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4406 033174 200 04 0 00 034442 MOVE 4,[654321,,76547] ;PRELOAD E WITH 654321,,076547 4407 033175 636 03 0 00 000004 TDZN 3,4 ;*TDZN SHoULD SKIP AND 4408 ;PLACE 123456,,701230 INTO THE AC 4409 STOP^ 4410 033176 254 04 0 00 033177 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4411 033177 324 00 0 00 033200 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4412 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4413 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4414 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4415 033200 312 03 0 00 034443 CAME 3,[123456,,701230] ;PASS IF C(AC)=123456,,701230 4416 STOP^ 4417 033201 254 04 0 00 033202 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4418 033202 324 00 0 00 033203 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4419 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4420 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4421 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4422 033203 312 04 0 00 034442 CAME 4,[654321,,076547] ;PASS IF C(E) UNCHANGED 4423 STOP^ 4424 033204 254 04 0 00 033205 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4425 033205 324 00 0 00 033206 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4426 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4427 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4428 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4429 4430 ;********** 4431 4432 ;THIS TEST VERIFIES THAT TDZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4433 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN 4434 ;C(E) ARE ZERO. THESE MASKED 4435 ;AC BITS ARE THEN CHANGED TO ZERO. 4436 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543 4437 ;HENCE, TDZN SHOULD NOT SKIP AND THE RESULT IN THE AC 4438 ;SHOULD BE 123456,,701234. C(E) IS NOT AFFECTED. 4439 4440 033206 200 02 0 00 034414 C72310: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4441 033207 200 03 0 00 034433 MOVE 3,[654321,,076543] ;PRELOAD E WITH 654321,,076543 4442 033210 636 02 0 00 000003 TDZN 2,3 ;*TDZN SHOULD NOT SKIP AND 4443 ;PLACE 123456,,701234 INTO THE AC 4444 033211 334 00 0 00 000000 SKIPA ;PASS IF TDZN DOES NOT SKIP 4445 STOP^ 4446 033212 254 04 0 00 033213 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4447 033213 324 00 0 00 033214 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4448 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4449 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4450 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4451 033214 312 02 0 00 034414 CAME 2,[123456,,701234] ;PASS IF C(AC)=123456,,701234 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 72-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0110 4452 STOP^ 4453 033215 254 04 0 00 033216 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4454 033216 324 00 0 00 033217 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4455 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4456 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4457 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4458 033217 312 03 0 00 034433 CAME 3,[654321,,076543] ;PASS IF C(E) UNCHANGED 4459 STOP^ 4460 033220 254 04 0 00 033221 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4461 033221 324 00 0 00 033222 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4462 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4463 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4464 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4465 4466 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 73 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0111 4467 ;THIS TEST VERIFIES THaT TSZN SKIPS THE NEXT SEQQENPIAL INSTRUCTION 4468 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN 4469 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED 4470 ;AC BITS ARE THEN CHANGED TO ZERO. 4471 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=077543,,654321. 4472 ;HENCE, TSZN SHOULD SKIP AND THE RESULT IN THE AC 4473 ;SHOULD BE 123456,,700234. C(E) IS NOT AFFECTED. 4474 4475 033222 200 01 0 00 034414 C72400: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4476 033223 200 02 0 00 034444 MOVE 2,[077543,,654321] ;PRELOAD E WITH 077543,,654321 4477 033224 637 01 0 00 000002 TSZN 1,2 ;*TSZN SHOULD SKIP AND 4478 ;PLACE 123456,,700234 INTO THE AC 4479 STOP^ 4480 033225 254 04 0 00 033226 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4481 033226 324 00 0 00 033227 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4482 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4483 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4484 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4485 033227 312 01 0 00 034445 CAME 1,[123456,,700234] ;PASS IF C(AC)=123456,,700234 4486 STOP^ 4487 033230 254 04 0 00 033231 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4488 033231 324 00 0 00 033232 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4489 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4490 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4491 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4492 033232 312 02 0 00 034444 CAME 2,[77543,,654321] ;PASS IF C(E) UNCHANGED 4493 STOP^ 4494 033233 254 04 0 00 033234 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4495 033234 324 00 0 00 033235 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4496 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4497 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4498 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4499 4500 ;********** 4501 4502 ;THIS TEST VERIFIES THAT TSZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4503 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN 4504 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED 4505 ;AC BITS ARE THEN CHANGED TO ZERO. 4506 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321.- 4507 ;HENCE, TSZN SHOULD NOT SKIP AND THE RESULT IN THE AC 4508 ;SHOULD BE 123456,,701234. C(E) IS NOT AFFECTED. 4509 4510 033235 200 00 0 00 034414 C72410: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4511 033236 200 01 0 00 034424 MOVE 1,[76543,,654321] ;PRElOAD E WITH 076543,,654321 4512 033237 637 00 0 00 000001 TSZN 0,1 ;*TSZN SHOULD NOT SKIP AND 4513 ;PLACE 123456,,701234 INTO THE AC 4514 033240 334 00 0 00 000000 SKIPA ;PASS IF TSZN DOES NOT SKIP 4515 STOP^ 4516 033241 254 04 0 00 033242 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4517 033242 324 00 0 00 033243 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4518 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4519 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4520 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4521 033243 312 00 0 00 034414 CAME 0,[123456,,701234] ;PASS IF C(AC)=123456,,701234] DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 73-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0112 4522 STOP^ 4523 033244 254 04 0 00 033245 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4524 033245 324 00 0 00 033246 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4525 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4526 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4527 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4528 033246 312 01 0 00 034424 CAME 1,[76543,,654321] ;PASS IF C(E) UNCHANGED 4529 STOP^ 4530 033247 254 04 0 00 033250 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4531 033250 324 00 0 00 033251 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4532 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4533 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4534 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4535 4536 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 74 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0113 4537 ;THIS TEST VERIFIES THAT TRC COMPLEMENTS ALL BITS IN THE AC-RIGHT WHICH 4538 ;CORRESPOND TO 1'S IN E AND DOES NOT SKIP. 4539 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3. 4540 ;HENCE, THE RESULT IN THE AC SHOUHD BE 123456,,701237 4541 4542 033251 200 17 0 00 034414 C72500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4543 033252 640 17 0 00 000003 TRC 17,3 ;*TRC SHOULD NOT SKIP AND 4544 ;PLACE 123456,,701237 INTO THE AC 4545 033253 334 00 0 00 000000 SKIPA ;PASS IF TRC DID NOT SKIP 4546 STOP^ 4547 033254 254 04 0 00 033255 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4548 033255 324 00 0 00 033256 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4549 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4550 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4551 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4552 033256 312 17 0 00 034446 CAME 17,[123456,,701237] ;PASS IF C(AC)=123456,,701237 4553 STOP^ 4554 033257 254 04 0 00 033260 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4555 033260 324 00 0 00 033261 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4556 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4557 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4558 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4559 4560 ;********** 4561 4562 ;THIS TEST VERIFIES THAT TRC COMPLEMENTS ALL BITS IN THE AC-RIGHT WHICH 4563 ;CORRESPOND TO 1'S IN E AND DOES NOT SKIP. 4564 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300. 4565 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701134 4566 4567 033261 200 16 0 00 034414 C72510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4568 033262 640 16 0 00 000300 TRC 16,300 ;*TRC SHOULD NOT SKIP AND 4569 ;PLACE 123456,,701134 INTO THE AC 4570 033263 334 00 0 00 000000 SKIPA ;PASS IF TRC DID NOT SKIP 4571 STOP^ 4572 033264 254 04 0 00 033265 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4573 033265 324 00 0 00 033266 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4574 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4575 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4576 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4577 033266 312 16 0 00 034447 CAME 16,[123456,,701134] ;PASS IF C(AC)=123456,,701134 4578 STOP^ 4579 033267 254 04 0 00 033270 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4580 033270 324 00 0 00 033271 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4581 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4582 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4583 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4584 4585 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 75 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0114 4586 ;THIS TEST VERIFIES THAT TLC COMPLEMENTS ALL BITS IN THE AC-LEFT WHICH 4587 ;CORRESPOND TO 1'S IN E AND DOES NOT SKIP. 4588 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300. 4589 ;HENCE, ThE RESULT IN THE AC SHOULD BE 123756,,701234. 4590 4591 033271 200 15 0 00 034414 C72600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4592 033272 641 15 0 00 000300 TLC 15,300 ;*TLC SHOULD NOT SKIP AND 4593 ;PLACE 123756,,701234 INTO THE AC 4594 033273 334 00 0 00 000000 SKIPA ;PASS IF TLC DID NOT SKIP 4595 STOP^ 4596 033274 254 04 0 00 033275 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4597 033275 324 00 0 00 033276 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4598 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4599 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4600 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4601 033276 312 15 0 00 034450 CAME 15,[123756,,701234] ;PASS IF A(AC)=123756,,701234 4602 STOP^ 4603 033277 254 04 0 00 033300 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4604 033300 324 00 0 00 033301 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4605 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4606 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4607 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4608 4609 ;********** 4610 4611 ;THIS TEST VERIFIES THAT TLC COMPLEMENTS ALL BITS IN THE AC-LEFT WHICH 4612 ;CORRESPOND TO 1'S IN E AND DOES NOT SKIP. 4613 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3. 4614 ;HENCE, THE RESULT IN THE AC SHOULD BE 123455,,701234. 4615 4616 033301 200 14 0 00 034414 C72610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4617 033302 641 14 0 00 000003 TLC 14,3 ;*TLC SHOULD NOT SKIP AND 4618 ;PLACE 123455,,701234 INTO THE AC 4619 033303 334 00 0 00 000000 SKIPA ;PASS IF TLC DID NOT SKIP 4620 STOP^ 4621 033304 254 04 0 00 033305 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4622 033305 324 00 0 00 033306 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4623 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4624 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4625 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4626 033306 312 14 0 00 034451 CAME 14,[123455,,701234] ;PASS IF C(AC)=123455,,701234 4627 STOP^ 4628 033307 254 04 0 00 033310 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4629 033310 324 00 0 00 033311 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4630 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4631 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4632 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4633 4634 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 76 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0115 4635 ;THIS TEST VERIFIES THAT TRCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4636 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO. 4637 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED. 4638 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3. 4639 ;HENCE, TRCE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION 4640 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701237. 4641 4642 033311 200 13 0 00 034414 C72700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4643 033312 642 13 0 00 000003 TRCE 13,3 ;*TRCE SHOULD SKIP AND 4644 ;PLACE 123456,,701237 INTO ThE AC 4645 STOP^ 4646 033313 254 04 0 00 033314 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4647 033314 324 00 0 00 033315 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4648 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4649 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4650 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4651 033315 312 13 0 00 034446 CAME 13,[123456,,701237] ;PASS IF C(AC)=123456,,701237 4652 STOP^ 4653 033316 254 04 0 00 033317 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4654 033317 324 00 0 00 033320 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4655 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4656 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4657 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4658 4659 ;********** 4660 4661 ;THIS TEST VERIFIES THAT TRCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4662 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO. 4663 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED. 4664 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300. 4665 ;HENCE, TRCE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION 4666 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701134 4667 4668 033320 200 12 0 00 034414 C72710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4669 033321 642 12 0 00 000300 TRCE 12,300 ;*TRCE SHOULD NOT SKIP AND 4670 ;PLACE 123456,,701134 INTO THE AC 4671 033322 334 00 0 00 000000 SKIPA ;PASS IF TRCE DID NOT SKIP 4672 STOP^ 4673 033323 254 04 0 00 033324 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4674 033324 324 00 0 00 033325 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4675 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4676 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4677 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4678 033325 312 12 0 00 034447 CAME 12,[123456,,701134] ;PASS IF C(AC)=123456,,701134 4679 STOP^ 4680 033326 254 04 0 00 033327 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4681 033327 324 00 0 00 033330 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4682 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4683 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4684 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4685 4686 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 77 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0116 4687 ;THIS TEST VERIFIES THAT TLCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4688 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO. 4689 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED. 4690 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300. 4691 ;HENCE, TLCE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION 4692 ;AND THE RESULT IN THE AC SHOULD BE 123756,,701234. 4693 4694 033330 200 11 0 00 034414 C73000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4695 033331 643 11 0 00 000300 TLCE 11,300 ;*TLCE SHOULD SKIP AND 4696 ;PLACE 123756,,701234 INTO THE AC 4697 STOP^ 4698 033332 254 04 0 00 033333 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4699 033333 324 00 0 00 033334 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4700 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4701 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4702 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4703 033334 312 11 0 00 034450 CAME 11,[123756,,701234] ;PASS IF C(AC)=123756,,701234 4704 STOP^ 4705 033335 254 04 0 00 033336 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4706 033336 324 00 0 00 033337 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4707 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4708 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4709 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4710 4711 ;********** 4712 4713 ;THIS TEST VERIFIES THAT TLCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4714 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO. 4715 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED. 4716 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3. 4717 ;HENCE, TLCE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION 4718 ;AND THE RESULT IN THE AC SHOULD BE 123455,,701234. 4719 4720 033337 200 10 0 00 034414 C73010: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4721 033340 643 10 0 00 000003 TLCE 10,3 ;*TLCE SHOULD NOT SKIP AND 4722 ;PLACE 123455,,701234 INTO THE AC 4723 033341 334 00 0 00 000000 SKIPA ;PASS IF TLCE DID NOT SKIP 4724 STOP^ 4725 033342 254 04 0 00 033343 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4726 033343 324 00 0 00 033344 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4727 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4728 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4729 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4730 033344 312 10 0 00 034451 CAME 10,[123455,,701234] ;PASS IF C(AC)=123455,,701234] 4731 STOP^ 4732 033345 254 04 0 00 033346 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4733 033346 324 00 0 00 033347 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4734 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4735 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4736 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4737 4738 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 78 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0117 4739 ;THIS TEST VERIFIES THAT TRCA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4740 ;AND COMPLEMENTS ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E. 4741 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3. 4742 ;HENCE, TRCA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN 4743 ;THE AC SHOULD BE 123456,,701237. 4744 4745 033347 200 07 0 00 034414 C73100: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4746 033350 644 07 0 00 000003 TRCA 7,3 ;*TRCA SHOULD SKIP AND 4747 ;PLACE 123456,,701237 INTO THE AC 4748 STOP^ 4749 033351 254 04 0 00 033352 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4750 033352 324 00 0 00 033353 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4751 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4752 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4753 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4754 033353 312 07 0 00 034446 CAME 7,[123456,,701237] ;PASS IF C(AC)=123456,,701237 4755 STOP^ 4756 033354 254 04 0 00 033355 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4757 033355 324 00 0 00 033356 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4758 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4759 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4760 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4761 4762 ;********** 4763 4764 ;THIS TEST VERIFIES THAT TRCA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4765 ;AND COMPLEMENTS ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E 4766 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300 4767 ;HENCE, TRCA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN 4768 ;THE AC SHOULD BE 123456,,701134 4769 4770 033356 200 06 0 00 034414 C73110: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4771 033357 644 06 0 00 000300 TRCA 6,300 ;*TRCA SHOULD SKIP AND 4772 ;PLACE 123456,,701134 INTO THE AC 4773 STOP^ 4774 033360 254 04 0 00 033361 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4775 033361 324 00 0 00 033362 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4776 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4777 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4778 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4779 033362 312 06 0 00 034447 CAME 6,[123456,,701134] ;PASS IF C(AC)=123456,,701134 4780 STOP^ 4781 033363 254 04 0 00 033364 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4782 033364 324 00 0 00 033365 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4783 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4784 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4785 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4786 4787 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 79 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0118 4788 ;THIS TEST VERIFIES THAT TLCA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4789 ;AND COMPLEMENTS ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E 4790 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3 4791 ;HENCE, TLCA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN 4792 ;THE AC SHOULD 123456,,701234 4793 4794 033365 200 05 0 00 034414 C73200: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4795 033366 645 05 0 00 000003 TLCA 5,3 ;*TLCA SHOULD SKIP AND 4796 ;PLACE 12345,,701234 INTO THE AC 4797 STOP^ 4798 033367 254 04 0 00 033370 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4799 033370 324 00 0 00 033371 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4800 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4801 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4802 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4803 033371 312 05 0 00 034451 CAME 5,[123455,,701234] ;PASS IF C(AC)=123455,,701234 4804 STOP^ 4805 033372 254 04 0 00 033373 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4806 033373 324 00 0 00 033374 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4807 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4808 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4809 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4810 4811 ;********** 4812 4813 ;THIS TEST VERIFIES THAT TLCA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4814 ;AND COMPLEMENTS ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E 4815 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300 4816 ;HENCE, TLCA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN 4817 ;THE AC SHOULD BE 123756,,701234 4818 4819 033374 200 04 0 00 034414 C73210: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4820 033375 645 04 0 00 000300 TLCA 4,300 ;*TLCA SHOULD SKIP AND 4821 ;PLACE 123756,,701234 INTO THE AC 4822 STOP^ 4823 033376 254 04 0 00 033377 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4824 033377 324 00 0 00 033400 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4825 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4826 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4827 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4828 033400 312 04 0 00 034450 CAME 4,[123756,,701234] ;PASS IF C(AC)=123756,,701234 4829 STOP^ 4830 033401 254 04 0 00 033402 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4831 033402 324 00 0 00 033403 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4832 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4833 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4834 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4835 4836 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 80 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0119 4837 ;THIS TEST VERIFIES THAT TRCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4838 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO. 4839 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED 4840 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300 4841 ;HENCE, TRCN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION 4842 ;AND RESULT IN THE AC SHOULD BE 123456,,701134 4843 4844 033403 200 03 0 00 034414 C73300: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4845 033404 646 03 0 00 000300 TRCN 3,300 ;*SHOULD SKIP AND 4846 ;PLACE 123456,,701134 INTO THE AC 4847 STOP^ 4848 033405 254 04 0 00 033406 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4849 033406 324 00 0 00 033407 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4850 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4851 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4852 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4853 033407 312 03 0 00 034447 CAME 3,[123456,,701134] ;PASS IF C(AC)=123456,,701134 4854 STOP^ 4855 033410 254 04 0 00 033411 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4856 033411 324 00 0 00 033412 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4857 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4858 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4859 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4860 4861 ;********** 4862 4863 ;THIS TEST VERIFIES THAT TRCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4864 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO. 4865 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED 4866 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3 4867 ;HENCE, TRCN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION 4868 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701237 4869 4870 033412 200 02 0 00 034414 C73310: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4871 033413 646 02 0 00 000003 TRCN 2,3 ;*TRCN SHOULD NOT SKIP AND 4872 ;PLACE 123456,,701237 INTO THE AC 4873 033414 334 00 0 00 000000 SKIPA ;PASS IF TRCN DID NOT SKIP 4874 STOP^ 4875 033415 254 04 0 00 033416 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4876 033416 324 00 0 00 033417 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4877 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4878 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4879 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4880 033417 312 02 0 00 034446 CAME 2,[123456,,701237] ;PASS IF C(AC)=123456,,701237 4881 STOP^ 4882 033420 254 04 0 00 033421 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4883 033421 324 00 0 00 033422 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4884 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4885 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4886 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4887 4888 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 81 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0120 4889 ;THIS TEST VERIFIES THAT TLCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4890 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO. 4891 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED 4892 ;IN THE CASE, C(AC)=123456,,701234 AND E=3 4893 ;HENCE, TLCN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION 4894 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701234 4895 4896 033422 200 01 0 00 034414 C73400: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4897 033423 647 01 0 00 000003 TLCN 1,3 ;*TLCN SHOULD SKIP AND 4898 ;PLACE 123455,701234 INTO THE AC 4899 STOP^ 4900 033424 254 04 0 00 033425 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4901 033425 324 00 0 00 033426 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4902 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4903 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4904 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4905 033426 312 01 0 00 034451 CAME 1,[123455,,701234] ;PASS IF C(AC)=123455,,701234 4906 STOP^ 4907 033427 254 04 0 00 033430 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4908 033430 324 00 0 00 033431 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4909 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4910 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4911 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4912 4913 ;********** 4914 4915 ;THIS TEST VERIFIES THAT TLCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 4916 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZER. 4917 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED 4918 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300 4919 ;HENCE, TLCN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION 4920 ;AND THE RESULT IN THE AC SHOULD BE 123756,,701234 4921 4922 033431 200 00 0 00 034414 C73410: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4923 033432 647 00 0 00 000300 TLCN 0,300 ;*TLCN SHOULD NOT SKIP AND 4924 ;PLACE 123756,,701234 INTO THE AC 4925 033433 334 00 0 00 000000 SKIPA ;PASS IF TLCN DID NOT SKIP 4926 STOP^ 4927 033434 254 04 0 00 033435 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4928 033435 324 00 0 00 033436 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4929 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4930 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4931 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4932 033436 312 00 0 00 034450 CAME 0,[123756,,701234] ;PASS IF C(AC)=123756,,701234 4933 STOP^ 4934 033437 254 04 0 00 033440 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4935 033440 324 00 0 00 033441 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4936 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4937 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4938 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4939 4940 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 82 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0121 4941 ;THIS TEST VERIFIES THAT TSL COMPLEMENTS ALL BITS OF THE AC WHICH 4942 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND DOES 4943 ;NOT SKIP THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED 4944 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)6543,,654321 4945 ;HENCE, TSC SHOULD NOT SKIP AND C(AC) SHOULD BE -1,,-1 4946 4947 033441 200 17 0 00 034414 C73500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4948 033442 200 00 0 00 034424 MOVE 0,[076543,,654321] ;PRELOAD E WITH 076543,,654321 4949 033443 651 17 0 00 000000 TSC 17,0 ;*TSC SHOULD NOT SKIP AND 4950 ;PLACE -1,,-1 INTO THE AC 4951 033444 334 00 0 00 000000 SKIPA ;PASS IF TSC DOES NOT SKIP 4952 STOP^ 4953 033445 254 04 0 00 033446 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4954 033446 324 00 0 00 033447 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4955 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4956 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4957 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4958 033447 312 17 0 00 034301 CAME 17,[-1] ;PASS IF C(AC)=-1,,-1 4959 STOP^ 4960 033450 254 04 0 00 033451 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4961 033451 324 00 0 00 033452 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4962 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4963 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4964 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4965 033452 312 00 0 00 034424 CAME 0,[076543,,654321] ;PASS IF C(E) UNCHANGED 4966 STOP^ 4967 033453 254 04 0 00 033454 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4968 033454 324 00 0 00 033455 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4969 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4970 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4971 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4972 4973 ;********** 4974 4975 ;THIS TEST VERIFIES THAT TSC COMPLEMENTS ALL BITS OF THE AC WHICH 4976 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND DOES 4977 ;NOT SKIP THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED 4978 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070 4979 ;HENCE, TSC SHOULD NOT SKIP AND C(AC) SHOULD BE 624426,,553711 4980 4981 033455 200 16 0 00 034414 C73510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 4982 033456 200 17 0 00 034431 MOVE 17,[252525,,707070] ;PRELOAD E WITH 252525,,707070 4983 033457 651 16 0 00 000017 TSC 16,17 ;*TSC SHOULD NOT SKIP AND 4984 ;PLACE 624426,,553711 INTO THE AC 4985 033460 334 00 0 00 000000 SKIPA ;PASS IF TSC DOES NOT SKIP 4986 STOP^ 4987 033461 254 04 0 00 033462 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4988 033462 324 00 0 00 033463 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 4989 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4990 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4991 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4992 033463 312 16 0 00 034452 CAME 16,[624426,,553711] ;PASS IF C(AC)=624426,,553711 4993 STOP^ 4994 033464 254 04 0 00 033465 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 4995 033465 324 00 0 00 033466 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 82-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0122 4996 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 4997 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 4998 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 4999 033466 312 17 0 00 034431 CAME 17,[252525,,707070] ;PASS IF C(E) UNCHANGED 5000 STOP^ 5001 033467 254 04 0 00 033470 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5002 033470 324 00 0 00 033471 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5003 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5004 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5005 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5006 5007 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 83 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0123 5008 ;THIS TEST VERIFIES THAT TDCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5009 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN 5010 ;C(E) ARE ZERO. THESE MASKED 5011 ;AC BITS ARE THEN COMPLEMENTED 5012 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543 5013 ;HENCE, TDCE SHOULD SKIP AND THE RESULT IN AC 5014 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED 5015 5016 033471 200 15 0 00 034414 C73600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5017 033472 200 16 0 00 034433 MOVE 16,[654321,,076543] ;PRELOAD E WITH 654321,,076543 5018 033473 652 15 0 00 000016 TDCE 15,16 ;*TDCE SHOULD SKIP AND 5019 ;PLACE -1,,-1 INTO THE AC 5020 STOP^ 5021 033474 254 04 0 00 033475 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5022 033475 324 00 0 00 033476 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5023 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5024 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5025 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5026 033476 312 15 0 00 034301 CAME 15,[-1] ;PASS IF C(AC)=-1,,-1 5027 STOP^ 5028 033477 254 04 0 00 033500 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5029 033500 324 00 0 00 033501 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5030 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5031 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5032 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5033 033501 312 16 0 00 034433 CAME 16,[654321,,076543] ;PASS IF C(E) UNCHANGED 5034 STOP^ 5035 033502 254 04 0 00 033503 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5036 033503 324 00 0 00 033504 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5037 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5038 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5039 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5040 5041 ;********** 5042 5043 ;THIS TEST VERIFIES THAT TDCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5044 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN 5045 ;C(E) ARE ZERO. THESE MASKED 5046 ;AC BITS ARE THEN COMPLEMENTED 5047 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E) 754321,,076543 5048 ;HENCE, TDCE SHOULD NOT SKIP AND THE RESULT IN AC 5049 ;SHOULD BE 677777,,-1 C(E) IS NOT AFFECTED. 5050 5051 033504 200 14 0 00 034414 C73610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5052 033505 200 15 0 00 034434 MOVE 15,[754321,,076543] ;PRELOAD E WITH 754321,,076543 5053 033506 652 14 0 00 000015 TDCE 14,15 ;*TDCE SHOULD NOT SKIP AND 5054 ;PLACE 677777,,-1 INTO THE AC 5055 033507 334 00 0 00 000000 SKIPA ;PASS IF TDCE DOES NOT SKIP 5056 STOP^ 5057 033510 254 04 0 00 033511 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5058 033511 324 00 0 00 033512 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5059 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5060 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5061 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5062 033512 312 14 0 00 034453 CAME 14,[677777,,-1] ;PASS IF C(AC)=677777,,-1 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 83-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0124 5063 STOP^ 5064 033513 254 04 0 00 033514 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5065 033514 324 00 0 00 033515 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5066 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5067 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5068 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5069 033515 312 15 0 00 034434 CAME 15,[754321,,076543] ;PASS IF C(E) UNCHANGED 5070 STOP^ 5071 033516 254 04 0 00 033517 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5072 033517 324 00 0 00 033520 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5073 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5074 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5075 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5076 5077 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 84 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0125 5078 ;THIS TEST VERIFIES THAT TSCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5079 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN 5080 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED 5081 ;AC BITS ARE THEN COMPLEMENTED 5082 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321 5083 ;HENCE, TSCE SHOULD SKIP AND THE RESULT IN THE AC 5084 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED 5085 5086 033520 200 13 0 00 034414 C73700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5087 033521 200 14 0 00 034424 MOVE 14,[76543,,654321] ;PRELOAD E WITH 076543,,654321 5088 033522 653 13 0 00 000014 TSCE 13,14 ;*TSCE SHOULD SKIP AND 5089 ;PLACE -1,,-1 INTO THE AC 5090 STOP^ 5091 033523 254 04 0 00 033524 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5092 033524 324 00 0 00 033525 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5093 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5094 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5095 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5096 033525 312 13 0 00 034301 CAME 13,[-1] ;PASS IF C(E) UNCHANGED 5097 STOP^ 5098 033526 254 04 0 00 033527 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5099 033527 324 00 0 00 033530 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5100 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5101 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5102 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5103 5104 ;********** 5105 5106 ;THIS TEST VERIFIES THAT TSCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5107 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN 5108 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED 5109 ;AC BITS ARE THEN COMPLEMENTED 5110 ;IN THIS CASE, C(AC)=123456,701234 AND C(E)=076543,,657321 5111 ;HENCE, TSCE SHOULD NOT SKIP AND THE RESULT IN THE AC 5112 ;SHOULD BE 774777,,-1. C(E) IS NOT AFFECTED. 5113 5114 033530 200 12 0 00 034414 C73710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5115 033531 200 13 0 00 034436 MOVE 13,[76543,,657321] ;PRELOAD E WITH 076543,,657321 5116 033532 653 12 0 00 000013 TSCE 12,13 ;*TSCE HOULD NOT SKIP AND 5117 ;PLACE 774777,,-1 INTO THE AC 5118 033533 334 00 0 00 000000 SKIPA ;PASS IF TSCE DOES NOT SKIP 5119 STOP^ 5120 033534 254 04 0 00 033535 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5121 033535 324 00 0 00 033536 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5122 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5123 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5124 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5125 033536 312 12 0 00 034454 CAME 12,[774777,,-1] ;PASS IF C(AC)=774777,,-1 5126 STOP^ 5127 033537 254 04 0 00 033540 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5128 033540 324 00 0 00 033541 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5129 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5130 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5131 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5132 033541 312 13 0 00 034436 CAME 13,[76543,,657321] ;PASS IF C(E) UNCHANGED DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 84-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0126 5133 STOP^ 5134 033542 254 04 0 00 033543 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5135 033543 324 00 0 00 033544 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5136 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5137 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5138 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5139 5140 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 85 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0127 5141 ;THIS TEST VERIFIES THAT TDCA COMPLEMENTS ALL BITS OF THE AC WHICH 5142 ;CORRESPOND TO 1'S IN C(E) AND ALWAYS 5143 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED 5144 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543 5145 ;HENCE, TDCA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE -1,,-1 5146 5147 033544 200 11 0 00 034414 C74000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5148 033545 200 12 0 00 034433 MOVE 12,[654321,,076543] ;PRELOAD E WITH 654321,,076543 5149 033546 654 11 0 00 000012 TDCA 11,12 ;*TDCA SHOULD SKIP AND 5150 ;PLACE -1,,-1 INTO THE AC 5151 STOP^ 5152 033547 254 04 0 00 033550 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5153 033550 324 00 0 00 033551 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5154 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5155 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5156 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5157 033551 312 11 0 00 034301 CAME 11,[-1] ;PASS IF C(AC)=-1,,-1 5158 STOP^ 5159 033552 254 04 0 00 033553 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5160 033553 324 00 0 00 033554 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5161 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5162 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5163 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5164 033554 312 12 0 00 034433 CAME 12,[654321,,76543] ;PASS IF C(E) UNCHANGED 5165 STOP^ 5166 033555 254 04 0 00 033556 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5167 033556 324 00 0 00 033557 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5168 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5169 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5170 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5171 5172 ;********** 5173 5174 ;THIS TEST VERIFIES THAT TDCA COMPLEMENTS ALL BITS OF THE AC WHICH 5175 ;CORRESPOND TO 1'S IN C(E) AND SLWAYS 5176 ;SKIPS THE NEXT INSTRUCTION C(E) IS NOT AFFECTED 5177 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070 5178 ;HENCE, TDCA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 371173,,006244 5179 5180 033557 200 10 0 00 034414 C74100: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5181 033560 200 11 0 00 034431 MOVE 11,[252525,,707070] ;PRELOAD E WITH 252525,,707070 5182 033561 654 10 0 00 000011 TDCA 10,11 ;*TDCA SHOULD SKP AND 5183 ;PLACE 371173,,006244 INTO THE AC 5184 STOP^ 5185 033562 254 04 0 00 033563 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5186 033563 324 00 0 00 033564 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5187 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5188 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5189 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5190 033564 312 10 0 00 034455 CAME 10,[371173,,6244] ;PASS IF C(AC)=371173,,006244 5191 STOP^ 5192 033565 254 04 0 00 033566 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5193 033566 324 00 0 00 033567 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5194 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5195 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 85-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0128 5196 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5197 033567 312 11 0 00 034431 CAME 11,[252525,,707070] ;PASS IF C(E) UNCHANGED 5198 STOP^ 5199 033570 254 04 0 00 033571 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5200 033571 324 00 0 00 033572 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5201 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5202 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5203 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5204 5205 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 86 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0129 5206 ;THIS TEST VERIFIES THAT TSCA COMPLEMENTS ALL BITS OF THE AC WHICH 5207 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS 5208 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED 5209 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321 5210 ;HENCE, TSCA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE -1,,-1 5211 5212 033572 200 07 0 00 034414 C74200: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5213 033573 200 10 0 00 034424 MOVE 10,[076543,,654321] ;PRELOAD E WITH 076543,,654321 5214 033574 655 07 0 00 000010 TSCA 7,10 ;*TSCA CHOULD SKIP AND 5215 ;PLACE -1,,-1 INTO THE AC 5216 STOP^ 5217 033575 254 04 0 00 033576 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5218 033576 324 00 0 00 033577 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5219 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5220 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5221 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5222 033577 312 07 0 00 034301 CAME 7,[-1] ;PASS IF C(AC)=-1,,-1 5223 STOP^ 5224 033600 254 04 0 00 033601 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5225 033601 324 00 0 00 033602 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5226 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5227 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5228 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5229 033602 312 10 0 00 034424 CAME 10,[076543,,654321] ;PASS IF C(E) UNCHANGED 5230 STOP^ 5231 033603 254 04 0 00 033604 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5232 033604 324 00 0 00 033605 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5233 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5234 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5235 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5236 5237 ;********** 5238 5239 ;THIS TEST VERIFIES THAT TSCA COMPLEMENTS ALL BITS OF THE AC WHICH 5240 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS 5241 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED 5242 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=701234,,123456 5243 ;HENCE, TSCA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 0 5244 5245 033605 200 06 0 00 034414 C74210: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5246 033606 200 07 0 00 034441 MOVE 7,[701234,,123456] ;PRELOAD E WITH 701234,,123456 5247 033607 655 06 0 00 000007 TSCA 6,7 ;*TSCA SHOULD SKIP AND 5248 ;PLACE 0 INTO THE AC 5249 STOP^ 5250 033610 254 04 0 00 033611 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5251 033611 324 00 0 00 033612 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5252 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5253 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5254 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5255 033612 312 06 0 00 034407 CAME 6,[0] ;PASS IF C(AC)=0 5256 STOP^ 5257 033613 254 04 0 00 033614 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5258 033614 324 00 0 00 033615 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5259 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5260 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 86-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0130 5261 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5262 033615 312 07 0 00 034441 CAME 7,[701234,,123456] ;PASS IF C(E) UNCHANGED 5263 STOP^ 5264 033616 254 04 0 00 033617 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5265 033617 324 00 0 00 033620 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5266 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5267 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5268 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5269 5270 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 87 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0131 5271 ;THIS TEST VERIFIES THAT TDCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5272 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN 5273 ;C(E) ARE ZERO. THESE MASKED 5274 ;AC BITS ARE THEN COMPLEMENTED 5275 ;IN THE CASE, C(AC)=123456,,701234 AND C(E)=654321,,076547 5276 ;HENCE, TDCN SHOULD SKIP AND THE RESULT IN AC 5277 ;SHOULD BE -1,,777773 C(E) IS NOT AFFECTED 5278 5279 033620 200 05 0 00 034414 C74300: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5280 033621 200 06 0 00 034442 MOVE 6,[654321,,76547] ;PRELOAD E WITH 654321,,076547 5281 033622 656 05 0 00 000006 TDCN 5,6 ;*TDCN SHOULD SKIP AND 5282 ;PLACE -1,,777773 INTO THE AC 5283 STOP^ 5284 033623 254 04 0 00 033624 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5285 033624 324 00 0 00 033625 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5286 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5287 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5288 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5289 033625 312 05 0 00 034456 CAME 5,[-1,,777773] ;PASS IF C(AC)=-1,777773 5290 STOP^ 5291 033626 254 04 0 00 033627 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5292 033627 324 00 0 00 033630 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5293 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5294 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5295 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5296 033630 312 06 0 00 034442 CAME 6,[654321,,76547] ;PASS IF C(E) UNCHANGED 5297 STOP^ 5298 033631 254 04 0 00 033632 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5299 033632 324 00 0 00 033633 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5300 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5301 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5302 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5303 5304 ;********** 5305 5306 ;THIS TEST VERIFIES THAT TDCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5307 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN 5308 ;C(E) ARE ZERO. THESE MASKED 5309 ;AC BITS ARE THEN COMPLEMENTED 5310 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543 5311 ;HENCE, TDCN SHOULD NOT SKIP AND THE REUSLT IN AC 5312 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED 5313 5314 033633 200 04 0 00 034414 C74310: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5315 033634 200 05 0 00 034433 MOVE 5,[654321,,76543] ;PRELOAD E WITH 654321,,076543 5316 033635 656 04 0 00 000005 TDCN 4,5 ;*TDCN SHOULD NOT SKIP AND 5317 ;PLACE -1,,-1 INTO THE AC 5318 033636 334 00 0 00 000000 SKIPA ;PASS IF TDCN DOES NOT SKIP 5319 STOP^ 5320 033637 254 04 0 00 033640 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5321 033640 324 00 0 00 033641 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5322 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5323 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5324 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5325 033641 312 04 0 00 034301 CAME 4,[-1] ;PASS IF C(AC)=-1,,-1 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 87-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0132 5326 STOP^ 5327 033642 254 04 0 00 033643 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5328 033643 324 00 0 00 033644 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5329 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5330 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5331 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5332 033644 312 05 0 00 034433 CAME 5,[654321,,76543] ;PASS IF C(E) UNCHANGED 5333 STOP^ 5334 033645 254 04 0 00 033646 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5335 033646 324 00 0 00 033647 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5336 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5337 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5338 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5339 5340 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 88 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0133 5341 ;THIS TEST VERIFIES THAT TSCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5342 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN 5343 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED 5344 ;AC BITS ARE THEN COMPLEMENTED 5345 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=077543,,654321 5346 ;HENCE, TSCN SHOULD SKIP AND THE RESULT IN AC 5347 ;SHOULD BE -1,,776777. C(E) IS NOT AFFECTED 5348 5349 033647 200 03 0 00 034414 C74400: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5350 033650 200 04 0 00 034444 MOVE 4,[77543,,654321] ;PRELOAD E WITH 077543,,654321 5351 033651 657 03 0 00 000004 TSCN 3,4 ;*TSCN SHOULD SKIP AND 5352 ;PLACE -1,,776777 INTO THE AC 5353 STOP^ 5354 033652 254 04 0 00 033653 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5355 033653 324 00 0 00 033654 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5356 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5357 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5358 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5359 033654 312 03 0 00 034457 CAME 3,[-1,,776777] ;PASS IF C(AC)=-1,776777 5360 STOP^ 5361 033655 254 04 0 00 033656 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5362 033656 324 00 0 00 033657 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5363 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5364 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5365 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5366 033657 312 04 0 00 034444 CAME 4,[77543,,654321] ;PASS IF C(E) UNCHANGED 5367 STOP^ 5368 033660 254 04 0 00 033661 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5369 033661 324 00 0 00 033662 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5370 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5371 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5372 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5373 5374 ;********** 5375 5376 ;THIS TEST VERIFIES THAT TSCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5377 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN 5378 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED 5379 ;AC BITS ARE THEN COMPLEMENTD 5380 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321 5381 ;HENCE, TSCN SHOULD NOT SKIP AND THE RESULT IN AC 5382 ;SHOULD BE -1,,-1. C(E) IS NOT AFFECTED. 5383 5384 033662 200 02 0 00 034414 C74410: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5385 033663 200 03 0 00 034424 MOVE 3,[76543,,654321] ;PRELOAD E WITH 076543,,654321 5386 033664 657 02 0 00 000003 TSCN 2,3 ;*TSCN SHOULD NOT SKIP AND 5387 ;PLACE -1,,-1 INTO THE AC 5388 033665 334 00 0 00 000000 SKIPA ;PASS IF TSCN DOES NOT SKIP 5389 STOP^ 5390 033666 254 04 0 00 033667 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5391 033667 324 00 0 00 033670 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5392 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5393 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5394 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5395 033670 312 02 0 00 034301 CAME 2,[-1] ;PASS IF C(AC)=-1,,-1 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 88-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0134 5396 STOP^ 5397 033671 254 04 0 00 033672 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5398 033672 324 00 0 00 033673 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5399 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5400 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5401 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5402 033673 312 03 0 00 034424 CAME 3,[76543,,654321] ;PASS IF C(E) UNCHANGED 5403 STOP^ 5404 033674 254 04 0 00 033675 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5405 033675 324 00 0 00 033676 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5406 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5407 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5408 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5409 5410 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 89 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0135 5411 ;THIS TEST VERIFIES THAT TRO CHANGES ALL BITS IN THE AC-RIGHT WHICH 5412 ;CORRESPOND TO 1'S IN E TO ONES AND DOES ANT SKIP 5413 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3 5414 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701237 5415 5416 033676 200 01 0 00 034414 C74500: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5417 033677 660 01 0 00 000003 TRO 1,3 ;*TRO SHOULD NOT SKIP AND 5418 ;PLACE 123456,,701237 INTO THE AC 5419 033700 334 00 0 00 000000 SKIPA ;PASS IF TRO DID NOT SKIP 5420 STOP^ 5421 033701 254 04 0 00 033702 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5422 033702 324 00 0 00 033703 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5423 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5424 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5425 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5426 033703 312 01 0 00 034446 CAME 1,[123456,,701237] ;PASS IF C(AC)=123456,,701237 5427 STOP^ 5428 033704 254 04 0 00 033705 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5429 033705 324 00 0 00 033706 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5430 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5431 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5432 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5433 5434 ;********** 5435 5436 ;THIS TEST VERIFIES THAT TRO CHANGES ALL BITS IN THE AC-RIGHT WHICH 5437 ;CORRESPOND TO 1'S IN E TO ONES AND DOES NOT SKIP 5438 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300 5439 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701224 5440 5441 033706 200 00 0 00 034414 C74510: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5442 033707 660 00 0 00 000300 TRO 0,300 ;*TRO SHOULD NOT SKIP AND 5443 ;PLACE 123456,,701334 INTO THE AC 5444 033710 334 00 0 00 000000 SKIPA ;PASS IF TRO DID NOT SKIP 5445 STOP^ 5446 033711 254 04 0 00 033712 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5447 033712 324 00 0 00 033713 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5448 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5449 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5450 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5451 033713 312 00 0 00 034460 CAME 0,[123456,,701334] ;PASS IF C(AC)=123456,,701334 5452 STOP^ 5453 033714 254 04 0 00 033715 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5454 033715 324 00 0 00 033716 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5455 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5456 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5457 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5458 5459 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 90 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0136 5460 ;THIS TEST VERIFIES THAT TLO CHANGES ALL BITS IN THE AC-LEFT WHICH 5461 ;CORRESPOND TO 1'S IN E TO ONES AND DOES NOT SKIP 5462 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300 5463 ;HENCE, THE RESULT IN THE AC SHOULD BE 123756,,701234 5464 5465 033716 200 17 0 00 034414 C74600: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5466 033717 661 17 0 00 000300 TLO 17,300 ;*TLO SHOULD NOT SKIP AND 5467 ;PLACE 123756,,701234 INTO THE AC 5468 033720 334 00 0 00 000000 SKIPA ;PASS IF TLO DID NOT SKIP 5469 STOP^ 5470 033721 254 04 0 00 033722 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5471 033722 324 00 0 00 033723 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5472 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5473 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5474 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5475 033723 312 17 0 00 034450 CAME 17,[123756,,701234] ;PASS IF C(AC)=123456,,701234 5476 STOP^ 5477 033724 254 04 0 00 033725 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5478 033725 324 00 0 00 033726 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5479 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5480 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5481 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5482 5483 ;********** 5484 5485 ;THIS TEST VERIFIES THAT TLO CHANGES ALL BITS IN THE AC-LEFT WHICH 5486 ;CORRESPOND TO 1'S IN E TO ONES AND DOES NOT SKIP 5487 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3 5488 ;HENCE, THE RESULT IN THE AC SHOULD BE 123457,,701234 5489 5490 033726 200 16 0 00 034461 C74610: MOVE 16,[123456,,70234] ;PRELOAD AC WITH 123456,,701234 5491 033727 661 16 0 00 000003 TLO 16,3 ;*TLO SHOULD NOT SKIP AND 5492 ;PLACE 123457,,701234 INTO THE AC 5493 033730 334 00 0 00 000000 SKIPA ;PASS IF DID NOT SKIP 5494 STOP^ 5495 033731 254 04 0 00 033732 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5496 033732 324 00 0 00 033733 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5497 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5498 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5499 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5500 033733 312 16 0 00 034462 CAME 16,[123457,,70234] ;PASS IF C(AC)=123457,,701234 5501 STOP^ 5502 033734 254 04 0 00 033735 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5503 033735 324 00 0 00 033736 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5504 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5505 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5506 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5507 5508 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 91 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0137 5509 ;THIS TEST VERIFIES THAT TROE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5510 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO. 5511 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES 5512 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3 5513 ;HENCE, TROE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION 5514 ;AND RESULT IN THE AC SHOUD BE 123456,,701237 5515 5516 033736 200 15 0 00 034414 C74700: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5517 033737 662 15 0 00 000003 TROE 15,3 ;TROE SHOULD SKIP AND 5518 ;PLACE 123456,,701237 IN TO THE AC 5519 STOP^ 5520 033740 254 04 0 00 033741 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5521 033741 324 00 0 00 033742 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5522 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5523 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5524 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5525 033742 312 15 0 00 034446 CAME 15,[123456,,701237] ;PASS IF C(AC)=123456,,701237 5526 STOP^ 5527 033743 254 04 0 00 033744 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5528 033744 324 00 0 00 033745 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5529 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5530 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5531 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5532 5533 ;********** 5534 5535 ;THIS TEST VERIFIES THAT TROE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5536 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO. 5537 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES 5538 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300 5539 ;HENCE, TROE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION 5540 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701334 5541 5542 033745 200 14 0 00 034414 C74710: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5543 033746 662 14 0 00 000300 TROE 14,300 ;*TROE SHOULD NOT SKIP AND 5544 ;PLACE 123456,,701224 INTO THE AC 5545 033747 334 00 0 00 000000 SKIPA ;PASS IF DID NOT SKIP 5546 STOP^ 5547 033750 254 04 0 00 033751 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5548 033751 324 00 0 00 033752 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5549 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5550 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5551 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5552 033752 312 14 0 00 034460 CAME 14,[123456,,701334] ;PASS IF C(AC)=123456,,701334 5553 STOP^ 5554 033753 254 04 0 00 033754 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5555 033754 324 00 0 00 033755 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5556 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5557 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5558 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5559 5560 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 92 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0138 5561 ;THIS TEST VERIFIES THAT TLOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5562 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO. 5563 ;THESE MASKED AC BITS ARE TEN CHANGED TO ONES 5564 ;IN THES CASE, C(AC)=123456,,701234 AND E=300 5565 ;HENCE, TLOE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION 5566 ;AND THE RESULT IN THE AC SHOULD BE 123756,,701234 5567 5568 033755 200 13 0 00 034414 C75000: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5569 033756 663 13 0 00 000300 TLOE 13,300 ;*TLOE SOULD SKIP AND 5570 ;PLAND 123756,,701234 INTO THE AC 5571 STOP^ 5572 033757 254 04 0 00 033760 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5573 033760 324 00 0 00 033761 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5574 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5575 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5576 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5577 033761 312 13 0 00 034450 CAME 13,[123756,,701234] ;PASS IF C(AC)=123456,,701234 5578 STOP^ 5579 033762 254 04 0 00 033763 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5580 033763 324 00 0 00 033764 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5581 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5582 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5583 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5584 5585 ;******** 5586 5587 ;THIS TEST VERIFIES THAT TLOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5588 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO. 5589 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES 5590 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3 5591 ;HENCE, TLOE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION 5592 ;AND THE RESULT IN THE AC SHOULD BE 123457,,701234 5593 5594 033764 200 12 0 00 034414 C75010: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5595 033765 663 12 0 00 000003 TLOE 12,3 ;*TLOE SHOULD NOT SKIP AND 5596 ;PLACE 123457,,701234 INTO THE AC 5597 033766 334 00 0 00 000000 SKIPA ;PASS IF TLOE DID NOT SKIP 5598 STOP^ 5599 033767 254 04 0 00 033770 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5600 033770 324 00 0 00 033771 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5601 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5602 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5603 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5604 033771 312 12 0 00 034463 CAME 12,[123457,,701234] ;PASS IF C(AC)=123457,,701234 5605 STOP^ 5606 033772 254 04 0 00 033773 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5607 033773 324 00 0 00 033774 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5608 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5609 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5610 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5611 5612 ;******* DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 93 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0139 5613 ;THIS TEST VERIFIES THAT TROA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTUCTION 5614 ;AND CHANGES ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E TO ONES 5615 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3 5616 ;HENCE, TROA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN 5617 ;THE AC SHOULD BE 123456,,701237 5618 5619 033774 200 11 0 00 034414 C75100: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5620 033775 664 11 0 00 000003 TROA 11,3 ;*TROA SHOULD SKIP AND 5621 ;PLACE 123456,,701237 5622 STOP^ 5623 033776 254 04 0 00 033777 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5624 033777 324 00 0 00 034000 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5625 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5626 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5627 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5628 034000 312 11 0 00 034446 CAME 11,[123456,,701237] ;PASS IF C(AC)=123456,,701237 5629 STOP^ 5630 034001 254 04 0 00 034002 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5631 034002 324 00 0 00 034003 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5632 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5633 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5634 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5635 5636 ;********** 5637 5638 ;THIS TEST VERIFIES THAT TROA ALWAYS SKIPS THE NEXT SEQUENTAIL INSTRUCTION 5639 ;AND CHANGES ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E TO ONES 5640 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300 5641 ;HENCE, TROA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN 5642 ;THE AC SHOULD BE 123456,,701334 5643 5644 034003 200 10 0 00 034414 C75110: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5645 034004 664 10 0 00 000300 TROA 10,300 ;*TROA SHOULD SKIP AND 5646 ;PLACE 123456,,701334 INTO THE AC 5647 STOP^ 5648 034005 254 04 0 00 034006 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5649 034006 324 00 0 00 034007 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5650 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5651 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5652 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5653 034007 312 10 0 00 034460 CAME 10,[123456,,701334] ;PASS IF C (AC)=123456,,701334 5654 STOP^ 5655 034010 254 04 0 00 034011 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5656 034011 324 00 0 00 034012 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5657 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5658 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5659 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5660 5661 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 94 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0140 5662 ;THIS TEST VERIFIES THAT TLOA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTUCTION 5663 ;AND CHANGES ALL BITS IN AC-LEFT WHICH CORRESPOND 1'S IN E TO ONES 5664 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3 5665 ;HENCE, TLOA SHOULD SKIP THE NEXT INSTRUCTION AND RESULT IN 5666 ;THE AC SHOULD BE 123457,,701234 5667 5668 034012 200 07 0 00 034414 C75200: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5669 034013 665 07 0 00 000003 TLOA 7,3 ;*TLOA SHOULD SKIP AND 5670 ;PLACE 123457,,701234 INTO THE AC 5671 STOP^ 5672 034014 254 04 0 00 034015 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5673 034015 324 00 0 00 034016 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5674 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5675 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5676 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5677 034016 312 07 0 00 034463 CAME 7,[123457,,701234] ;PASS IF C(AC)=123457,,701234] 5678 STOP^ 5679 034017 254 04 0 00 034020 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5680 034020 324 00 0 00 034021 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5681 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5682 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5683 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5684 5685 ;********** 5686 5687 ;THIS TEST VERIFIES THAT TLOA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5688 ;AND CHANGES ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E TO ONES 5689 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300 5690 ;HENCE, TLOA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN 5691 ;THE AC SHOULD BE 123756,,701234 5692 5693 034021 200 06 0 00 034414 C75210: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5694 034022 665 06 0 00 000300 TLOA 6,300 ;*TLOA SHOULD SKIP AND 5695 ;PLACE 123756,,701234 INTO THE AC 5696 STOP^ 5697 034023 254 04 0 00 034024 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5698 034024 324 00 0 00 034025 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5699 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5700 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5701 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5702 034025 312 06 0 00 034450 CAME 6,[123756,,701234] ;PASS IF C(AC)=123756,,701234 5703 STOP^ 5704 034026 254 04 0 00 034027 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5705 034027 324 00 0 00 034030 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5706 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5707 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5708 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5709 5710 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 95 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0141 5711 ;THIS TEST VERIFIES THAT TRON SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5712 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO. 5713 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES 5714 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300 5715 ;HENCE, TRON SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION 5716 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701334 5717 5718 034030 200 05 0 00 034414 C75300: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5719 034031 666 05 0 00 000300 TRON 5,300 ;*TRON SHOULD SKIP AND 5720 ;PLACE 123456,,701334 INTO THE AC 5721 STOP^ 5722 034032 254 04 0 00 034033 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5723 034033 324 00 0 00 034034 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5724 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5725 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5726 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5727 034034 312 05 0 00 034460 CAME 5,[123456,,701334] ;PASS IF C(AC)=123456,,701334 5728 STOP^ 5729 034035 254 04 0 00 034036 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5730 034036 324 00 0 00 034037 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5731 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5732 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5733 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5734 5735 ;********** 5736 5737 ;THIS TEST VERIFIES THAT TRON SKIPS THE NEXT SEQUENTIAL INSTUCTION 5738 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO. 5739 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES 5740 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3 5741 ;HENCE, TRON SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION 5742 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701237 5743 5744 034037 200 04 0 00 034414 C75310: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5745 034040 666 04 0 00 000003 TRON 4,3 ;*TRON SHOULD NOT SKIP AND 5746 ;PLACE 123456,,701237 INTO THE AC 5747 034041 334 00 0 00 000000 SKIPA ;PASS IF TRON DID NOT SKIP 5748 STOP^ 5749 034042 254 04 0 00 034043 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5750 034043 324 00 0 00 034044 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5751 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5752 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5753 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5754 034044 312 04 0 00 034446 CAME 4,[123456,,701237] ;PASS IF C(AC)=123456,701237 5755 STOP^ 5756 034045 254 04 0 00 034046 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5757 034046 324 00 0 00 034047 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5758 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5759 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5760 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5761 5762 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 96 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0142 5763 ;THIS TEST VERIFIES THAT TLON SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5764 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO. 5765 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES 5766 ;IN THIS CASE, C(AC)-123456,,701234 AND E=3 5767 ;HENCE, TLON SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION 5768 ;AND THE RESULT IN THE AC SHOULD BE 123457,,701234 5769 5770 034047 200 03 0 00 034414 C75400: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5771 034050 667 03 0 00 000003 TLON 3,3 ;*TLON SHOULD SKIP AND 5772 ;PLACE 123457,,701234 INTO THE AC 5773 STOP^ 5774 034051 254 04 0 00 034052 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5775 034052 324 00 0 00 034053 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5776 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5777 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5778 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5779 034053 312 03 0 00 034463 CAME 3,[123457,,701234] ;PASS IF C(AC)=123457,,701234 5780 STOP^ 5781 034054 254 04 0 00 034055 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5782 034055 324 00 0 00 034056 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5783 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5784 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5785 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5786 5787 ;******* 5788 5789 ;THIS TEST VERIFIES THAT TLON SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5790 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO. 5791 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES 5792 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300 5793 ;HENCE, TLON SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION 5794 ;AND THE RESULT IN THE AC SHOULD BE 123756,,701234 5795 5796 034056 200 02 0 00 034414 C75410: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5797 034057 667 02 0 00 000300 TLON 2,300 ;*TLON SHOULD NOT SKIP AND 5798 ;PLACE 123756,,701234 INTO THE AC 5799 034060 334 00 0 00 000000 SKIPA ;PASS IF TLON DID NOT SKIP 5800 STOP^ 5801 034061 254 04 0 00 034062 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5802 034062 324 00 0 00 034063 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5803 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5804 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5805 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5806 034063 312 02 0 00 034450 CAME 2,[123756,,701234] ;PASS IF C(AC)=123756,,701234 5807 STOP^ 5808 034064 254 04 0 00 034065 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5809 034065 324 00 0 00 034066 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5810 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5811 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5812 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5813 5814 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 97 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0143 5815 ;THIS TEST VERIFIES THAT TDOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5816 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN 5817 ;C(E)ARE ZERO. THESE MASKED 5818 ;AC BITS ARE THEN CHANGED TO ONES 5819 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543 5820 ;HENCE, TDOE SHOULD SKIP AND THE RESULT IN AC 5821 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED 5822 5823 034066 200 01 0 00 034414 C75500: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5824 034067 200 02 0 00 034433 MOVE 2,[654321,,076543] ;PRELOAD E WITH 654321,,076543 5825 034070 672 01 0 00 000002 TDOE 1,2 ;*TDOE SHOULD SKIP AND 5826 ;PLACE -1,,-1 INTO THE AC 5827 STOP^ 5828 034071 254 04 0 00 034072 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5829 034072 324 00 0 00 034073 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5830 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5831 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5832 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5833 034073 312 01 0 00 034301 CAME 1,[-1] ;PASS IF C(AC)=-1,,-1 5834 STOP^ 5835 034074 254 04 0 00 034075 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5836 034075 324 00 0 00 034076 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5837 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5838 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5839 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5840 034076 312 02 0 00 034433 CAME 2,[654321,,76543] ;PASS IF C(E) UNCHANGED 5841 STOP^ 5842 034077 254 04 0 00 034100 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5843 034100 324 00 0 00 034101 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5844 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5845 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5846 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5847 5848 ;********** 5849 5850 ;THIS TEST VERIFIES THAT TDOE SKIPS THE NEXT SEQUENTAIL INSTRUCTION 5851 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN 5852 ;C(E) ARE ZERO. THESE MASKED 5853 ;AC BITS ARE THEN CHANGED TO ONES 5854 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=754321,,076543 5855 ;HENCE, TDOE SHOULD NOT SKIP AND THE RESULT IN AC 5856 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTD 5857 5858 034101 200 00 0 00 034414 C75510: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5859 034102 200 01 0 00 034434 MOVE 1,[754321,,76543] ;PRELOAD E WITH 754321,,076543 5860 034103 672 00 0 00 000001 TDOE 0,1 ;*TDOE SHOULD NOT SKIP AND 5861 ;PLACE -1,,-1 INTO THE AC 5862 034104 334 00 0 00 000000 SKIPA ;PASS IF TDOE DOES NOT SKIP 5863 STOP^ 5864 034105 254 04 0 00 034106 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5865 034106 324 00 0 00 034107 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5866 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5867 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5868 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5869 034107 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC)=-1,,-1 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 97-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0144 5870 STOP^ 5871 034110 254 04 0 00 034111 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5872 034111 324 00 0 00 034112 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5873 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5874 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5875 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5876 034112 312 01 0 00 034434 CAME 1,[754321,,76543] ;PASS IF C(E) UNCHANGED 5877 STOP^ 5878 034113 254 04 0 00 034114 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5879 034114 324 00 0 00 034115 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5880 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5881 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5882 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5883 5884 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 98 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0145 5885 ;THIS TEST VERIFIES THAT TSOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5886 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN 5887 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED 5888 ;AC BITS ARE THEN CHANGED TO ONES. 5889 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321 5890 ;HENCE, TSOE SHOULD SKIP AND THE RESULT IN AC 5891 ;SHOULD BE -1,,-1. C(E) IS NOT AFFECTED 5892 5893 034115 200 17 0 00 034414 C75600: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5894 034116 200 00 0 00 034424 MOVE 0,[76543,,654321] ;PRELOAD E WITH 076543,,654321 5895 034117 673 17 0 00 000000 TSOE 17,0 ;*TSOE SHOULD SKIP AND 5896 ;PLACE -1,,-1 INTO THE AC 5897 STOP^ 5898 034120 254 04 0 00 034121 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5899 034121 324 00 0 00 034122 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5900 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5901 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5902 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5903 034122 312 17 0 00 034301 CAME 17,[-1] ;PASS IF C(AC)=-1,,-1 5904 STOP^ 5905 034123 254 04 0 00 034124 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5906 034124 324 00 0 00 034125 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5907 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5908 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5909 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5910 034125 312 00 0 00 034424 CAME 0,[76543,,654321] ;PASS IF C(E) UNCHANGED 5911 STOP^ 5912 034126 254 04 0 00 034127 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5913 034127 324 00 0 00 034130 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5914 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5915 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5916 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5917 5918 ;********** 5919 5920 ;THIS TEST VERIFIES THAT TSOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION 5921 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN 5922 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED 5923 ;AC BITS ARE THEN CHANGED TO ONES. 5924 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,657321 5925 ;HENCE, TSOE SHOULD NOT SKIP AND THE RESULT IN THE AC 5926 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED. 5927 5928 034130 200 16 0 00 034414 C75610: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,701234 5929 034131 200 17 0 00 034436 MOVE 17,[76543,,657321] ;PRELOAD E WITH 076543,,657321 5930 034132 673 16 0 00 000017 TSOE 16,17 ;*TSOE SHOULD NOT SKIP AND 5931 ;*TSOE SHOULD NOT SKIP AND 5932 ;PLACE -1,,-1 INTO THE AC 5933 034133 334 00 0 00 000000 SKIPA ;PASS IF SKIP 5934 STOP^ 5935 034134 254 04 0 00 034135 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5936 034135 324 00 0 00 034136 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5937 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5938 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5939 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 98-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0146 5940 034136 312 16 0 00 034301 CAME 16,[-1] ;PASS IF C(AC)=-1,,-1 5941 STOP^ 5942 034137 254 04 0 00 034140 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5943 034140 324 00 0 00 034141 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5944 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5945 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5946 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5947 034141 312 17 0 00 034436 CAME 17,[76543,,657321] ;PASS IF C(E) UNCHANGED 5948 STOP^ 5949 034142 254 04 0 00 034143 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5950 034143 324 00 0 00 034144 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5951 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5952 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5953 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5954 5955 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 99 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0147 5956 ;THIS TEST VERIFIES THAT TDOA PLACES ONES INTO ALL BITS OF THE AC WHICH 5957 ;CORRRESPOND TO 1'S IN C(E) AND ALWAYS 5958 ;SKIPS THE NEXT INSTRUCTION C(E) IS NOT AFFECTED 5959 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)= 654321,,076543 5960 ;HENCE, TDOA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE -1,,-1 5961 5962 034144 200 15 0 00 034414 C75700: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5963 034145 200 16 0 00 034433 MOVE 16,[654321,,076543] ;PRELOAD E WITH 654321,,076543 5964 034146 674 15 0 00 000016 TDOA 15,16 ;*TDOA SHOULD SKIP AND 5965 ;PLACE -1,,-1 INTO THE AC 5966 STOP^ 5967 034147 254 04 0 00 034150 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5968 034150 324 00 0 00 034151 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5969 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5970 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5971 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5972 034151 312 15 0 00 034301 CAME 15,[-1] ;PASS IF C(AC)=-1,,-1 5973 STOP^ 5974 034152 254 04 0 00 034153 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5975 034153 324 00 0 00 034154 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5976 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5977 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5978 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5979 034154 312 16 0 00 034433 CAME 16,[654321,,076543] ;PASS IF C(E) UNCHANGED 5980 STOP^ 5981 034155 254 04 0 00 034156 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 5982 034156 324 00 0 00 034157 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 5983 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 5984 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 5985 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 5986 5987 ;********** 5988 5989 ;THIS TEST VERIFIES THAT TDOA PLACE ONES ALL BIT OF THE AC WHICH 5990 ;CORRESPOND TO 1'S IN C(E) AND ALWAYS 5991 ;SKIPS THE NEXT INSTRUCTION C(E) IS NOT AFFECTED 5992 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070 5993 ;HENCE, TDOA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 373577,,707274 5994 5995 034157 200 14 0 00 034414 C75710: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 5996 034160 200 15 0 00 034431 MOVE 15,[252525,,707070] ;PRELOAD E WITH 252525,,707070 5997 034161 674 14 0 00 000015 TDOA 14,15 ;*TDOA SHOULD SKIP AND 5998 ;PLACE 373577,707274 ONTO THE AC 5999 STOP^ 6000 034162 254 04 0 00 034163 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6001 034163 324 00 0 00 034164 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6002 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6003 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6004 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6005 034164 312 14 0 00 034464 CAME 14,[373577,,707274] ;PASS IF C(AC)=373577,,707274 6006 STOP^ 6007 034165 254 04 0 00 034166 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6008 034166 324 00 0 00 034167 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6009 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6010 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 99-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0148 6011 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6012 034167 312 15 0 00 034431 CAME 15,[252525,,707070] ;PASS IF C(E) UNCHANGED 6013 STOP^ 6014 034170 254 04 0 00 034171 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6015 034171 324 00 0 00 034172 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6016 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6017 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6018 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6019 6020 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 100 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0149 6021 ;THIS TEST VERIFIES THAT TSOA PLACE ONES INTO ALL BITS OF THE AC WHICH 6022 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS 6023 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED 6024 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321 6025 ;HENCE, TSOA SHOULD SLAWAYS SKIP AND C(AC) SHOULD BE -1,,-1 6026 6027 034172 200 13 0 00 034414 C76000: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 6028 034173 200 14 0 00 034465 MOVE 14,[176543,,654321] ;PRELOAD E WITH 076543,,654321 6029 034174 675 13 0 00 000014 TSOA 13,14 ;*TSOA SHOULD SKIP AND 6030 ;PLACE -1,,-1 ONTO THE AC 6031 STOP^ 6032 034175 254 04 0 00 034176 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6033 034176 324 00 0 00 034177 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6034 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6035 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6036 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6037 034177 312 13 0 00 034301 CAME 13,[-1] ;PASS IF C(AC)=-1,,-1 6038 STOP^ 6039 034200 254 04 0 00 034201 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6040 034201 324 00 0 00 034202 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6041 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6042 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6043 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6044 034202 312 14 0 00 034465 CAME 14,[176543,,654321] ;PASS IF C(E) UNCHANGED 6045 STOP^ 6046 034203 254 04 0 00 034204 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6047 034204 324 00 0 00 034205 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6048 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6049 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6050 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6051 6052 ;********** 6053 6054 ;THIS TEST VERIFIES THAT TSOA PLACES ONES INTO ALL BITS OF THE AC WHICH 6055 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS 6056 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED 6057 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=701234,,123456 6058 ;HENCE, TSOA SHOULD SLWAYS SKIP AND C(AC) SHOULD BE 123456,,701234 6059 6060 034205 200 12 0 00 034414 C76010: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 6061 034206 200 13 0 00 034441 MOVE 13,[701234,,123456] ;PRELOAD E WITH 701234,123456 6062 034207 675 12 0 00 000013 TSOA 12,13 ;*TSOA SHOULD SKIP AND 6063 ;PLACE 123456,,701234 INTO THE AC 6064 STOP^ 6065 034210 254 04 0 00 034211 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6066 034211 324 00 0 00 034212 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6067 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6068 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6069 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6070 034212 312 12 0 00 034414 CAME 12,[123456,,701234] ;PASS IF C(AC)=123456,,701234 6071 STOP^ 6072 034213 254 04 0 00 034214 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6073 034214 324 00 0 00 034215 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6074 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6075 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 100-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0150 6076 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6077 034215 312 13 0 00 034441 CAME 13,[701234,,123456] ;PASS IF C(E) UNCHANGED 6078 STOP^ 6079 034216 254 04 0 00 034217 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6080 034217 324 00 0 00 034220 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6081 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6082 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6083 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6084 6085 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 101 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0151 6086 ;THIS TEST VERIFIES THAT TDON SKIPS THE NEXT SEQUENTIAL INSTRUCTION 6087 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN 6088 ;C(E) ARE ZERO. THESE MASKED 6089 ;AC BITS ARE THEN CHANGED TO ONES 6090 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076547 6091 ;HENCE, TDON SHOULD SKIP AND THE RESULT IN AC 6092 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED 6093 6094 034220 200 11 0 00 034414 C76100: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 6095 034221 200 12 0 00 034442 MOVE 12,[654321,,076547] ;PRELOAD E WITH 654321,,076547 6096 034222 676 11 0 00 000012 TDON 11,12 ;*TDON SHOULD SKIP AND 6097 ;PLACE -1,,-1 INTO THE AC 6098 STOP^ 6099 034223 254 04 0 00 034224 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6100 034224 324 00 0 00 034225 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6101 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6102 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6103 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6104 034225 312 11 0 00 034301 CAME 11,[-1] ;PASS IF C(AC)=-1,,-1 6105 STOP^ 6106 034226 254 04 0 00 034227 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6107 034227 324 00 0 00 034230 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6108 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6109 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6110 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6111 034230 312 12 0 00 034442 CAME 12,[654321,,076547] ;PASS IF C(E) UNCHANGED 6112 STOP^ 6113 034231 254 04 0 00 034232 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6114 034232 324 00 0 00 034233 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6115 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6116 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6117 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6118 6119 ;********** 6120 6121 ;THIS TEST VERIFIES THAT TDON SKIPS THE NEXT SEQUENTIAL INSTRUCTION 6122 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN 6123 ;C(E) ARE ZERO. THESE MASKED 6124 ;AC BITS ARE THEN CHANGED TO ONES. 6125 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543 6126 ;THENC, TDON SHOULD NOT SKIP AND THE RESULT IN TH AC 6127 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED 6128 6129 034233 200 10 0 00 034414 C76110: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 6130 034234 200 11 0 00 034433 MOVE 11,[654321,,076543] ;PRELOAD E WITH 654321,,076543 6131 034235 676 10 0 00 000011 TDON 10,11 ;*TDON SHOULD NOT SKIP AND 6132 ;PLACE -1,,-1 INTO THE AC 6133 034236 334 00 0 00 000000 SKIPA ;PASS IF TDON DOES NOT SKIP 6134 STOP ^ 6135 034237 254 04 0 00 034240 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6136 034240 324 00 0 00 034241 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6137 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6138 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6139 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6140 034241 312 10 0 00 034301 CAME 10,[-1] ;PASS IF C(AC)=-1,,-1 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 101-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0152 6141 STOP^ 6142 034242 254 04 0 00 034243 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6143 034243 324 00 0 00 034244 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6144 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6145 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6146 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6147 034244 312 11 0 00 034433 CAME 11,[654321,,076543] ;PASS IF C(E) UNCHANGED 6148 STOP^ 6149 034245 254 04 0 00 034246 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6150 034246 324 00 0 00 034247 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6151 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6152 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6153 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6154 6155 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 102 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0153 6156 ;THIS TEST VERIFIES THAT TSON SKIPS THE NEXT SEQUENTIAL INSTRUCTION 6157 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN 6158 ;C(E) WITH BOTH HALVE SWAPPED ARE ZERO. THESE MASKED 6159 ;AC BITS ARE THEN CHANGED TO ONES 6160 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=077543,,654321 6161 ;HENCE, TSON SHOULD SKIP AND THE RESULT IN AC 6162 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED 6163 6164 034247 200 07 0 00 034414 C76200: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 6165 034250 200 10 0 00 034444 MOVE 10,[77543,,654321] ;PRELOAD E WITH 077543,,654321] 6166 034251 677 07 0 00 000010 TSON 7,10 ;*TSON HOULD SKIP AND 6167 ;PLACE -1,,-1 INTO THE AC 6168 STOP^ 6169 034252 254 04 0 00 034253 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6170 034253 324 00 0 00 034254 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6171 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6172 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6173 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6174 034254 312 07 0 00 034301 CAME 7,[-1] ;PASS IF C(AC)=-1,,-1 6175 STOP^ 6176 034255 254 04 0 00 034256 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6177 034256 324 00 0 00 034257 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6178 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6179 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6180 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6181 034257 312 10 0 00 034444 CAME 10,[77543,,654321] ;PASS IF C(E) UNCHANGED 6182 STOP^ 6183 034260 254 04 0 00 034261 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6184 034261 324 00 0 00 034262 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6185 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6186 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6187 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6188 6189 ;********** 6190 6191 ;THIS TEST VERIFIES THAT TSON SKIPS THE NEXT SEQUENTIAL INSTRUCTION 6192 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN 6193 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED 6194 ;AC BITS ARE THEN CHANGED TO ONES. 6195 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321 6196 ;HENCE, TSON SHOULD NOT SKIP AND THE RESULT IN AC 6197 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED 6198 6199 034262 200 06 0 00 034414 C76210: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234 6200 034263 200 07 0 00 034424 MOVE 7,[76543,,654321] ;PRELOAD E WITH 076543MM654321 6201 034264 677 06 0 00 000007 TSON 6,7 ;*TSON SHOULD NOT SKIP AND 6202 ;PLACE -1,,-1 INTO THE AC 6203 034265 334 00 0 00 000000 SKIPA ;PASS IF TSON DOES NOT SKIP 6204 STOP^ 6205 034266 254 04 0 00 034267 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6206 034267 324 00 0 00 034270 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6207 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6208 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6209 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6210 034270 312 06 0 00 034301 CAME 6,[-1] ;PASS IF C(AC)-=1,,-1 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 102-1 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0154 6211 STOP^ 6212 034271 254 04 0 00 034272 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6213 034272 324 00 0 00 034273 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6214 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6215 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6216 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6217 034273 312 07 0 00 034424 CAME 7,[76543,,654321] ;PASS IF C(E) UNCHANGED 6218 STOP^ 6219 034274 254 04 0 00 034275 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE 6220 034275 324 00 0 00 034276 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) 6221 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST 6222 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR 6223 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^ 6224 6225 ;********** DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 103 DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0155 6226 034276 254 00 0 00 030057 JRST BEGEND 6227 SUBTTL *STOR* RESERVED STORAGE, JAN 18,1977 6228 6229 ;PROGRAM LITERALS 6230 6231 XLIST 6232 IFNDEF $LPAPER, 6233 034277 LIT 6234 034277 000001 000001 6235 034300 254 00 0 00 030741 6236 034301 777777 777777 6237 034302 777000 707070 6238 034303 777000 000777 6239 034304 123456 123456 6240 034305 123000 000456 6241 034306 121212 000000 6242 034307 777350 777776 6243 034310 000767 777777 6244 034311 777010 000000 6245 034312 000777 770077 6246 034313 123456 246123 6247 034314 123000 006100 6248 034315 000100 777600 6249 034316 123456 246135 6250 034317 123456 040104 6251 034320 123321 456654 6252 034321 770077 007770 6253 034322 003300 450004 6254 034323 123456 663322 6255 034324 777000 700770 6256 034325 000456 063002 6257 034326 123456 777776 6258 034327 010203 123450 6259 034330 123456 000000 6260 034331 000777 123456 6261 034332 000777 517067 6262 034333 707077 555666 6263 034334 123456 765432 6264 034335 624421 230254 6265 034336 707070 123456 6266 034337 707070 767577 6267 034340 123456 777666 6268 034341 777001 123470 6269 034342 777457 777676 6270 034343 777000 123456 6271 034344 000777 050321 6272 034345 777007 771100 6273 034346 063202 123477 6274 034347 000570 004200 6275 034350 707070 123426 6276 034351 070707 777032 6277 034352 123456 123457 6278 034353 707633 121212 6279 034354 153512 775132 6280 034355 000777 654321 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 1 STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0156 6281 034356 654321 012345 6282 034357 777000 123477 6283 034360 000777 775701 6284 034361 707070 707072 6285 034362 707777 757372 6286 034363 777777 070707 6287 034364 777777 133777 6288 034365 707070 070706 6289 034366 777777 707777 6290 034367 123456 770077 6291 034370 777001 123324 6292 034371 654777 657753 6293 034372 123456 707070 6294 034373 707070 707070 6295 034374 123456 123422 6296 034375 707070 717171 6297 034376 123422 000000 6298 034377 123456 707076 6299 034400 707076 000000 6300 034401 123456 777777 6301 034402 123456 135724 6302 034403 765432 246135 6303 034404 246135 777777 6304 034405 123123 456765 6305 034406 456765 777777 6306 034407 000000 000000 6307 034410 707076 777777 6308 034411 765432 777777 6309 034412 365432 123456 6310 034413 365432 000000 6311 034414 123456 701234 6312 034415 123123 246135 6313 034416 123123 123123 6314 034417 777777 701234 6315 034420 765432 107654 6316 034421 777777 765432 6317 034422 777777 000000 6318 034423 777777 123456 6319 034424 076543 654321 6320 034425 076543 654323 6321 034426 076547 654321 6322 034427 123456 701034 6323 034430 123454 701234 6324 034431 252525 707070 6325 034432 020406 501210 6326 034433 654321 076543 6327 034434 754321 076543 6328 034435 023456 701234 6329 034436 076543 657321 6330 034437 120456 701234 6331 034440 121052 000204 6332 034441 701234 123456 6333 034442 654321 076547 6334 034443 123456 701230 6335 034444 077543 654321 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 1-1 STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0157 6336 034445 123456 700234 6337 034446 123456 701237 6338 034447 123456 701134 6339 034450 123756 701234 6340 034451 123455 701234 6341 034452 624426 553711 6342 034453 677777 777777 6343 034454 774777 777777 6344 034455 371173 006244 6345 034456 777777 777773 6346 034457 777777 776777 6347 034460 123456 701334 6348 034461 123456 070234 6349 034462 123457 070234 6350 034463 123457 701234 6351 034464 373577 707274 6352 034465 176543 654321 6353 LIST 6354 034466 000000 000000 ENDSLD: 0 6355 6356 IFDEF DEBUG,< 6357 034467 PATCH: BLOCK DEBUG ;PATCHING AREA 6358 > 6359 6360 ;PROGRAM VARIABLES 6361 034567 VAR 6362 6363 IFDEF PGMEND,< 6364 034567 000000 000000 END: 0 6365 030000 END BEGIN > NO ERRORS DETECTED PROGRAM BREAK IS 000000 ABSLUTE BREAK IS 034570 CPU TIME USED 00:27.392 11K CORE USED