3219 lines
106 KiB
Text
3219 lines
106 KiB
Text
;MACROS
|
|
|
|
; STOP - USED FOR SCOPE LOOP, IF INSTRUCTION FAILS, CHANGE (JUMPA .+1)
|
|
; TO A (JUMPA X) TO CYCLE ON FAILING INSTRUCTION
|
|
|
|
DEFINE STOP (A)<
|
|
HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
|
|
JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
|
|
;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
|
|
;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
|
|
;AND CHANGE HALT INSTRUCTION TO JUMPA .+1>
|
|
|
|
SUBTTL DIAGNOSTIC SECTION
|
|
|
|
START: ;SETZM USER# ;CLEAR USER CONTROL WORD
|
|
;JSP 0,.+1 ;GET FLAGS
|
|
;TLNE USERF ;IN USER MODE?
|
|
;SETOM USER ;YES, SET USER CONTROL WORD
|
|
;SKIPN MONFLG ;SPECIAL USER MODE?
|
|
;SETZM USER ;YES, CLEAR USER CONTROL WORD
|
|
;SKIPN USER
|
|
;JRST STARTA
|
|
;SKIPL MONCTL
|
|
;TTCALL 3,PGMNAM ;MENTION OUR NAME
|
|
JRST STARTA
|
|
|
|
PGMNAM: ASCIZ/
|
|
PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) [DAKAF]
|
|
/
|
|
|
|
STARTA: JRST .+1
|
|
SUBTTL TEST OF MSCL BOOLEAN INSTRUCTIONS
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT SETZI CLEARS THE AC AND DOES NOT AFFECT E.
|
|
;FIRST, AC AND E ARE PRELOADED WITH -1,,-1, THEN, SETZI IS EXECUTED.
|
|
;AC IS THEN CHECKED FOR 0 AND E IS CHECKED FOR -1,,-1
|
|
|
|
C56100: SETO 1, ;PRELOAD AC WITH -1,,-1
|
|
SETO 2, ;PRELOAD E WITH -1,,-1
|
|
SETZI 1,2 ;*SETZI SHOULD CLEAR THE AC
|
|
SKIPE 1 ;PASS IF C(AC)=0
|
|
STOP
|
|
CAME 2,[-1] ;PASS IF C(E)=-1,,-1
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT SETZM CLEARS C(E) AND DOES NOT AFFECT C(AC)
|
|
;FIRST, AC AND E ARE PRELOADED WITH -1,,-1; THEN SETZM IS EXECUTED.
|
|
;AC IS THEN CHECKED FOR -1,,-1 AND E IS CHECKED FOR 0.
|
|
|
|
C56200: SETO 1, ;PRELOAD AC WITH -1,,-1
|
|
SETO 2, ;PRELOAD E WITH -1,,-1
|
|
SETZM 1,2 ;*SETZM SHOULD CLEAR E
|
|
CAME 1,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
SKIPE 2 ;PASS IF C(E)=0
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT SETOI PLACES ALL ONES INTO THE AC.
|
|
;FIRST, THE AC AND E ARE CLEARED; THEN, SETOI IS EXECUTED.
|
|
;AC AND E ARE CHECKED FOR -1,,-1 AND 0 RESPECTIVELY
|
|
|
|
C56300: SETZB 1,2 ;CLEAR AC,E
|
|
SETOI 1,2 ;*SETOI SHOULD PLACE -1,,-1 INTO THE AC
|
|
CAME 1,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
SKIPE 2 ;PASS IF C(E)=0
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT SETOM PLACES ALL ONES INTO E
|
|
;FIRST, THE AC AND E ARE CLEARED, THEN SETOM IS EXECUTED.
|
|
;AC AND E ARE THEN CHECKED FOR 0 AND -1,,-1 RESPECTIVELY.
|
|
|
|
C56400: SETZB 1,2 ;CLEAR AC,E
|
|
SETOM 1,2 ;*SETOM SHOULD PLACE -1,,-1 INTO E
|
|
SKIPE 1 ;PASS IF C(AC)=0
|
|
STOP
|
|
CAME 2,[-1] ;PASS IF C(E)=-1,,-1
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT SETOB PLACES ALL ONES INTO BOTH AC AND E.
|
|
;FIRST, BOTH AC AND E ARE CLEARED; THEN, SETOB IS EXECUTED.
|
|
;AC AND E ARE BOTH CHECKED FOR -1,,-1
|
|
|
|
C56500: SETZB 1,2 ;CLEAR AC,E
|
|
SETOB 1,2 ;*SETOB SHOULD PUT -1,,-1 INTO BOTH AC AND E
|
|
CAME 1,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
CAME 2,[-1] ;PASS IF C(E)=-1,,-1
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT ANDI PLACES THE LOGICAL AND FUNCTION
|
|
;OF C(AC) AND 0,,E INTO THE AC.
|
|
;IN THIS CASE, C(AC)=777000,,707070 AND E=0,,123123.
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 0,,103103
|
|
|
|
C56600: MOVE 1,[777000,,707070] ;PRELOAD AC WITH 777000,,707070
|
|
ANDI 1,123123 ;*ANDI SHOULD PLACE 0,,103103 INTO THE AC
|
|
CAIE 1,103020 ;PASS IF C(AC)=103103
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT ANDM PLACES THE LOGICAL AND FUNCTION OF
|
|
;C(AC) AND C(E) INTO E.
|
|
;IN THIS CASE, C(AC)=777000,,000777 AND C(E)=123456,,123456.
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE 777000,,000777 AND
|
|
;123000,,00456 RESPECTIVELY
|
|
|
|
C56700: MOVE 1,[777000,,777] ;PRELOAD E WITH 777000,,000777
|
|
MOVE 2,[123456,,123456] ;PRELOAD AC WITH 123456,,123456
|
|
ANDM 2,1 ;*ANDM SHOULD PLACE 123000,,000456 INTO E
|
|
CAME 2,[123456,,123456] ;PASS IF C(AC) NOT MODIFIED
|
|
STOP
|
|
CAME 1,[123000,,000456] ;PASS IF C(E)=123000,,000456
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT ANDM PLACES THE LOGICAL AND FUNCTION OF
|
|
;C(AC) AND C(E) INTO E.
|
|
;IN THIS CASE, C(AC)=777000,,000777 AND C(E)=123456,,123456.
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE 777000,,000777 AND
|
|
;123000,,00456 RESPECTIVELY
|
|
|
|
C56701: MOVE 1,[777000,,777] ;PRELOAD E WITH 777000,,000777
|
|
MOVEM 1,E56701
|
|
MOVE 2,[123456,,123456] ;PRELOAD AC WITH 123456,,123456
|
|
ANDM 2,E56701 ;*ANDM SHOULD PLACE 123000,,000456 INTO E
|
|
CAME 2,[123456,,123456] ;PASS IF C(AC) NOT MODIFIED
|
|
STOP
|
|
MOVE 1,E56701
|
|
CAME 1,[123000,,000456] ;PASS IF C(E)=123000,,000456
|
|
STOP
|
|
|
|
SKIPA ;GO TO NEXT TEST
|
|
E56701: 0 ;TEST WORD MEMORY
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT ANDCB PLACES THE LOGICAL AND FUNCTION OF
|
|
;C(AC) AND C(E) INTO BOTH AC AND E
|
|
;IN THIS CASE, C(AC)=-1,,0 AND C(E)=121212,,-1
|
|
;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 121212,,0,
|
|
|
|
C57000: HRROI 3,0 ;PRELOAD AC WITH -1,,0
|
|
HRLOI 6,121212 ;PRELOAD E WITH 121212,,-1
|
|
ANDB 3,6 ;*ANDB SHOULD PLACE 121212,,0 INTO BOTH AC AND E
|
|
CAME 3,[121212,,0] ;PASS IF C(AC)=121212,,0
|
|
STOP
|
|
CAME 6,[121212,,0] ;PASS IF C(E)=121212,,0
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT ANDCB PLACES THE LOGICAL AND FUNCTION OF
|
|
;C(AC) AND C(E) INTO BOTH AC AND E
|
|
;IN THIS CASE, C(AC)=-1,,0 AND C(E)=121212,,-1
|
|
;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 121212,,0,
|
|
|
|
C57001: HRROI 3,0 ;PRELOAD AC WITH -1,,0
|
|
HRLOI 6,121212 ;PRELOAD E WITH 121212,,-1
|
|
MOVEM 6,E57001
|
|
ANDB 3,E57001 ;*ANDB SHOULD PLACE 121212,,0 INTO BOTH AC AND E
|
|
CAME 3,[121212,,0] ;PASS IF C(AC)=121212,,0
|
|
STOP
|
|
MOVE 6,E57001
|
|
CAME 6,[121212,,0] ;PASS IF C(E)=121212,,0
|
|
STOP
|
|
|
|
SKIPA ;GO TO NEXT TEST
|
|
E57001: 0 ;TEST WORD MEMORY
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT ANDCAI PLACES THE LOGICAL AND FUNCTION
|
|
;OF THE WORD 0,E AND THE COMPLEMENT OF C(AC) INTO THE AC
|
|
;IN THIS CASE, C(AC)=777,000,,707070 AND E=0,135246
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 0,,030206
|
|
|
|
C57100: MOVE 5,[777000,,707070] ;PRELOAD AC WITH 777000,,707070
|
|
ANDCAI 5,135246 ;*ANDCAI SHOULD PLACE 0,,30206 INTO THE AC
|
|
CAIE 5,030206 ;PASS IF C(AC)=030206
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT ANDCAM PLACES THE LOGICAL AND FUNCTION OF
|
|
;C(E) AND THE COMPLEMENT OF C(AC) INTO E.
|
|
;IN THIS CASE, C(AC)=000767,,-1 AND C(E)=777350,,-2
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE 000767,,-1 AND
|
|
;777010,,0 RESPECTIVELY.
|
|
|
|
C57200: HRLOI 4,767 ;PRELOAD AC WITH 000767,,-1
|
|
MOVE 6,[777350,,-2] ;PRELOAD E WITH 777350,,-2
|
|
ANDCAM 4,6 ;*ANDCAM SHOULD PLACE 777010,,0
|
|
;INTO E
|
|
CAME 4,[767,,-1] ;PASS IF C(AC) IS UNCHANGED
|
|
STOP
|
|
CAME 6,[777010,,0] ;PASS IF C(E)=777010,,0
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT ANDCAB PLACES THE LOGICAN AND FUNCTION OF
|
|
;C(E) AND THE COMPLEMENT OF C(AC) INTO BOTH AC AND E.
|
|
;IN THIS CASE, C(AC)=000777,,770077 AND C(E)=123456,246123
|
|
;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 123000,,006100
|
|
|
|
C57300: MOVE 1,[000777,,770077] ;PRELOAD AC WITH 000777,770077
|
|
MOVE 2,[123456,,246123] ;PRELOAD E WITH 123456,246123
|
|
ANDCAB 1,2 ;*ANDCAB SHOULD PLACE 123000,006100
|
|
;INTO BOTH AC AND E
|
|
CAME 1,[123000,,006100] ;PASS IF C(AC)=123000,006100
|
|
STOP
|
|
CAME 2,[123000,,006100] ;PASS IF C(E)=123000,006100
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT SETMI MOVES THE WORD 0,,E INTO THE AC
|
|
;IN THIS CASE, C(AC)=-1,,-1 AND E=0,,123456. HENCE, THE RESULT
|
|
;IN THE AC SHOULD BE 0,,123456
|
|
|
|
C57400: SETO 5, ;PRELOAD AC WITH -1,,-1
|
|
SETMI 5,123456 ;*SETMI SHOULD PLACE 0,,123456 INTO THE AC
|
|
CAIE 5,123456 ;PASS IF C(AC)=0,123456
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT SETMM IS A NO-OP. HENCE, IT SHOULD
|
|
;NOT MODIFY AC OR E.
|
|
;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1; AND NEITHER SHOULD NOT BE CHANGED
|
|
|
|
C57500: SETZ 16, ;CLEAR C(AC)
|
|
SETO 17, ;PRELOAD E WITH -1,,-1
|
|
SETMM 16,17 ;*SETMM IS A NO-OP
|
|
SKIPE 16 ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 17,[-1] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT SETMB PLACES C(E) INTO THE AC
|
|
;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=100,,-200 HENCE, THE RESULT
|
|
;IN BOTH AC AND E SHOULD BE 000100,,-200.
|
|
|
|
C57600: SETO 0, ;CLEAR AC
|
|
MOVE 1,[100,,-200] ;PRELOAD E WITH 100,,-200
|
|
SETMB 0,1 ;*SETMB SHOULD PLACE 100,,-200 INTO THE AC
|
|
CAME 0,[100,,-200] ;PASS IF C(AC)=100,,-200
|
|
STOP
|
|
CAME 1,[100,,-200] ;PASS IF C(E)=100,,-200
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT ANDCMI PLACES THE LOGICAL AND FUNCTION
|
|
;OF C(AC) AND THE COMPLEMENT OF THE WORD 0,,E INTO THE AC.
|
|
;IN THIS CASE, C(AC)=123456,,246135 AND E=0,,717273.
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,040104.
|
|
|
|
C57700: MOVE 15,[123456,,246135] ;PRELOAD AC WITH 123456,,246135
|
|
ANDCMI 15,717273 ;*ANDCMI SHOULD PLACE 123456,,040104
|
|
;INTO THE AC
|
|
CAME 15,[123456,,040104] ;PASS IF C(AC)=123456,,040104
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT ANDCMM PLACES THE LOGICAL AND FUNCTION OF
|
|
;C(AC) AND THE COMPLEMENT OF C(E) INTO E.
|
|
;IN THIS CASE,C(AC)=12321,,456654 AND C(E)= 770077,,007770
|
|
;HENCE, THE RESULT IN E SHOULD BE 003300,,450004
|
|
|
|
C60000: MOVE 14,[123321,,456654] ;PRELOAD AC WITH 123321,,456654
|
|
MOVE 15,[770077,,007770] ;PRELOAD E WITH 77007770
|
|
ANDCMM 14,15 ;*ANDCMM SHOULD PLACE 003300,,450004 INTO THE AC
|
|
CAME 14,[123321,,456654] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 15,[3300,,450004] ;PASS IF C(E) = 003300,,450004
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT ANDCMB PLACES THE LOGICAL AND FUNCTION OF
|
|
;C(AC) AND THE COMPLEMENT OF C(E) INTO BOTH AC AND E.
|
|
;IN THIS CASE, C(AC)123456,,663322 AND C(E) = 777000,,700770
|
|
;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 000456,,063002
|
|
|
|
C60100: MOVE 13,[123456,,663322] ;PRELOAD AC WITH 123456,,663322
|
|
MOVE 14,[777000,,700770] ;PRELOAD E WITH 777000,,700770
|
|
ANDCMB 13,14 ;*ANDCMB SHOULD PLACE 000456,,063002
|
|
;INTO BOTH AC AND E
|
|
CAME 13,[456,,63002] ;PASS IF C(AC)=000456,,063002
|
|
STOP
|
|
CAME 14,[456,,63002] ;PASS IF C(E)=000456,,063002
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT SETA IS A NO-OP. IT AFFECTS NEITHER
|
|
;AC OR E. IN THIS CASE, C(AC)=123456,,777776 AND C(E)=010203,,123450.
|
|
;SETA SHOULD NOT MODIFY C(AC) OR C(E)
|
|
|
|
C60200: MOVE 12,[123456,,777776] ;PRELOAD AC WITH 123456,,-2
|
|
MOVE 13,[010203,,123450] ;PRELOAD E WITH 010203,,123450
|
|
SETA 12,13 ;*SETA IS A NO-OP
|
|
CAME 12,[123456,,-2] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 13,[010203,,123450] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT SETAI IS A NO-OP. IT DOES NOT AFFECT THE AC.
|
|
;IN THIS CASE, C(AC)=123456,,777776 AND E=0,,123450
|
|
;SETA SHOULD NOT MODIFY C(AC)
|
|
|
|
C60300: MOVE 12,[123456,,777776] ;PRELOAD AC WITH 123456,,-2
|
|
SETAI 12,123450 ;*SETAI IS A NO-OP
|
|
CAME 12,[123456,,-2] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT SETAM PLACES C(AC) INTO E.
|
|
;IN THIS CASE, C(AC)=123456,,0 AND C(E)=-1,,-1. HENCE, THE
|
|
;RESULT IN E SHOULD BE 123456,,0
|
|
|
|
C60400: HRLZI 11,123456 ;PRELOAD AC WITH 123456,,0
|
|
SETO 12, ;PRELOAD E WITH -1,,-1
|
|
SETAM 11,12 ;SETAM SHOULD PLACE 123456,,0 INTO E
|
|
CAME 11,[123456,,0] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 12,[123456,,0] ;PASS IF C(E)=123456,,0
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT XORI PLACES THE LOGICAL EXCLUSIVE OR FUNCTION
|
|
;OF C(AC) AND THE WORD 0,,E INTO THE AC.
|
|
;IN THIS CASE, C(AC)=000777,,123456 AND E=0,,434431
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 000777,,517067.
|
|
|
|
C60500: MOVE 10,[777,,123456] ;PRELOAD AC WITH 000777,,123456
|
|
XORI 10,434431 ;*XORI SHOULD PLACE 000777,,517067 INTO THE AC
|
|
CAME 10,[777,,517067] ;PASS IF C(AC)=000777,,517067
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT XORB PLACES THE LOGICAL EXCLUSIVE OR FUNCTION
|
|
;OF C(AC) AND C(E) INTO BOTH AC AND E.
|
|
;IN THIS CASE, C(AC)=707077,,555666 AND C(E)=123456,,765432
|
|
;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 624421,,230254
|
|
|
|
C60600: MOVE 7,[707077,,555666] ;PRELOAD AC WITH 707077,,555666
|
|
MOVE 10,[123456,,765432] ;PRELOAD E WITH 123456,,765432
|
|
XORB 7,10 ;*XORB SHOULD PLACE 624421,,230254
|
|
;INTO BOTH AC AND E
|
|
CAME 7,[624421,,230254] ;PASS IF C(AC)=624421,,230254
|
|
STOP
|
|
CAME 10,[624421,,230254] ;PASS IF C(E)=624421,,230254
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT IORI PLACES THE INCLUSIVE OR FUNCTION
|
|
;OF C(AC) AND THE WORD 0,,E INTO THE AC.
|
|
;IN THIS CASE, C(AC)=707070,,123456 AND E=0,,765567
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 707070,,767577
|
|
|
|
C60700: MOVE 6,[707070,,123456] ;PRELOAD AC WITH 707070,,123456
|
|
IORI 6,765567 ;*IORI SHOULD PLACE 707070,,767577 INTO THE AC
|
|
CAME 6,[707070,,767577] ;PASS IF C(AC)=707070,,767577
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT IORM PLACES THE INCLUSIVE OR FUNCTION
|
|
;OF C(AC) AND C(E) INTO E.
|
|
;IN THIS CASE, C(AC)=123456,,777666 AND C(E)=777001,,123470
|
|
;HENCE, THE RESULT IN E SHOULD BE 777457,,777676
|
|
|
|
C61000: MOVE 5,[123456,,777666] ;PRELOAD AC WITH 123456,777666
|
|
MOVE 6,[777001,,123470] ;PRELOAD E WITH 777001,,123470
|
|
IORM 5,6 ;*IORM SHOULD PLACE
|
|
;777457,777676 INTO E
|
|
CAME 5,[123456,,777666] ;PASS IF C(AC) UNMODIFIED
|
|
STOP
|
|
CAME 6,[777457,,777676] ;PASS IF C(E)=777457,777676
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT IORB PLACES THE INCLUSIVE OR FUNCTION
|
|
;OF C(AC) AND C(E) INTO E.
|
|
;IN THIS CASE, C(AC)=123456,,777666 AND C(E)=777001,,123470
|
|
;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 777457,,777676
|
|
|
|
C61100: MOVE 5,[123456,,777666] ;PRELOAD AC WITH 123456,777666
|
|
MOVE 6,[777001,,123470] ;PRELOAD E WITH 777001,,123470
|
|
IORB 5,6 ;*IORB SHOULD PLACE
|
|
;777457,,777676 INTO
|
|
CAME 5,[777457,,777676] ;PASS IF C(AC)=777457,,777676
|
|
STOP
|
|
CAME 6,[777457,,777676] ;PASS IF C(E)=777457,,777676
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT ANDCBI PLACES THE LOGICAL AND FUNCTION
|
|
;OF THE COMPLEMENTS OF BOTH C(AC) AND THE WORD 0,,E INTO THE AC
|
|
;IN THIS CASE, C(AC)=777000,,123456 AND E=0,,706050.
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 000777,,050321.
|
|
|
|
C61200: MOVE 4,[777000,,123456] ;PRELOAD AC WITH 777000,,123456
|
|
ANDCBI 4,706050 ;*ANDCBI SHOULD PLACE 000777,,050321
|
|
;INTO THE AC
|
|
CAME 4,[777,,50321] ;PASS IF C(AC)=000777,,050321
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT ANDCBM PLACES THE LOGICAL AND FUNCTION
|
|
;OF THE COMPLEMENTS OF BOTH C(AC) AND C(E) INTO
|
|
;IN THE CASE, C(AC)=777007,,771100 AND C(E)=063202,,123477
|
|
;HENCE, THE RESULT IN E SHOULD BE 000570,,004200
|
|
|
|
C61300: MOVE 3,[777007,,771100] ;PRELOAD AC WITH 777007,,771100
|
|
MOVE 4,[63202,,123477] ;PRELOAD E WITH 063202,,123477
|
|
ANDCBM 3,4 ;*ANDCBM SHOULD PLACE
|
|
;000570,,004200 INTO E.
|
|
CAME 3,[777007,,771100] ;PASS IF C(AC) IS UNCHANGED
|
|
STOP
|
|
CAME 4,[570,,4200] ;PASS IF C(E)=000570,,004200
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT ANDCBB PLACES THE LOGICAL AND FUNCTION
|
|
;OF THE COMPLEMENTS OF BOTH C(AC) AND C(E) INTO BOTH AC AND E
|
|
;IN THIS CASE, C(AC)=777007,,771100 AND C(E)=063202,,123477
|
|
;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 000570,,004200
|
|
|
|
C61400: MOVE 3,[777007,,771100] ;PRELOAD WITH 777007,,771100
|
|
MOVE 4,[63202,,123477] ;PRELOAD E WITH 063202,,123477
|
|
ANDCBB 3,4 ;*ANDCBB SHOULD PLACE
|
|
;000570,,004200 INTO BOTH AC AND E
|
|
CAME 3,[570,,4200] ;PASS IF C(AC)=000570,,004200
|
|
STOP
|
|
CAME 4,[570,,4200] ;PASS IF C(E)=000570,,004200
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT EQVI PLACES THE LOGICAL EQUIVALENCE FUNCTION
|
|
;OF C(AC) AND THE WORD 0,,E INTO THE AC
|
|
;IN THIS CASE, C(AC)=707070,,123426 AND E=0,,123363
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 070707,,777032
|
|
|
|
C61500: MOVE 2,[707070,,123426] ;PRELOAD AC WITH 707070,,123426
|
|
EQVI 2,123363 ;*EQVI SHOULD PLACE
|
|
;070707,,777032 INTO THE AC
|
|
CAME 2,[70707,,777032] ;PASS IF C(AC)=070707,,777032
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT EQVM PLACES THE LOGICAL EQUIVALENCE FUNCTION
|
|
;OF C(AC) AND C(E) INTO E.
|
|
;IN THIS CASE, C(AC)= 123456,,123457 AND C(E) = 707633,,121212
|
|
;HENCE, THE RESULT IN E SHOULD BE 153512,,775132
|
|
|
|
C61600: MOVE 1,[123456,,123457] ;PRELOAD AC WITH 123456,,123457
|
|
MOVE 2,[707633,,121212] ;PRELOAD AC WITH 707633,,121212
|
|
EQVM 1,2 ;*EQVM SHOULD PLACE 153512,,775132 INTO E.
|
|
CAME 1,[123456,,123457] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 2,[153512,,775132];PASS IF C(E) = 153512,,775132
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT EQVB PLACES THE LOGICAL EQUIVALENCE FUNCTION
|
|
;OF C(AC)AND C(E) INTO BOTH AC AND E.
|
|
;IN THIS CASE, C(AC) = 123456,,123457 AND C(E) = 707633,,121212
|
|
;HENSE, THE RSULT IN BOTH AC AND E SHOULD BE 153512,,775132
|
|
|
|
C61700: MOVE 1,[123456,,123457] ;PRELOAD AC WITH 123456,,12345
|
|
MOVE 2,[707633,,121212] ;PRELOAD AC WITH 707633,,121212
|
|
EQVB 1,2 ;*EQVB SHOULD PLACE 153512,,775132
|
|
;INTO BOTHE AC AND E.
|
|
CAME 1,[153512,,775132] ;PASS IC C(AC)=153512,,775132
|
|
STOP
|
|
CAME 2,[153512,,775132] ;PASS IF C(E)=153512,,775132
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT SETCAI PLACES THE COMPLEMENT OF C(AC)
|
|
;INTO THE AC.
|
|
;IN THIS CASE, C(AC)=777000,,123456 AND E=0,,707070
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 000777,,654321
|
|
|
|
C62000: MOVE 0,[777000,,123456] ;PRELOAD AC WITH 777000,,123456
|
|
SETCAI 0,707070 ;*SETCAI SHOULD PLACE 000777,,654321
|
|
;INTO THE AC
|
|
CAME 0,[777,,654321] ;PASS IF C(AC)=000777,,654321
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT SETCAM PLACES THE COMPLEMENT OF C(AC)
|
|
;INTO E.
|
|
;IN THIS CASE, C(AC)=123456,,765432 AND C(E)=-1,,-1.
|
|
;HENCE, THE RESULT IN E SHOULD BE 654321,,012345
|
|
|
|
C62100: MOVE 17,[123456,,765432] ;PRELOAD AC WITH 123456,,765432
|
|
SETO 0, ;PRELOAD E WITH -1,,-1
|
|
SETCAM 17,0 ;*SETCAM SHOULD PLACE
|
|
;654321,,012345 INTO E
|
|
CAME 17,[123456,,765432] ;PASS IF C(AC) IS UNCHANGED
|
|
STOP
|
|
CAME 0,[654321,,12345] ;PASS IF C(E)=654321,,012345
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT SETCAB PLACES THE COMPLEMENT OF C(AC)
|
|
;INTO BOTH AC AND E.
|
|
;IN THIS CASE, C(AC)=123456,,765432 AND C(E)=-1,,-1.
|
|
;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 654321,,012345
|
|
|
|
C62200: MOVE 17,[123456,,765432] ;PRELOAD AC WITH 123456,,76543
|
|
SETO 0, ;PRELOAD E WITH -1,,-1
|
|
SETCAB 17,0 ;*SETCAB SHOULD PLACE
|
|
;654321,,012345 INTO BOTH AC AND E
|
|
CAME 17,[654321,,12345] ;PASS IF C(AC)=654321,,012345
|
|
STOP
|
|
CAME 0,[654321,,12345] ;PASS IF C(E)=654321,,012345
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT ORCAI PLACES THE INCLUSIVE OR FUNCTION
|
|
;OF THE WORD 0,,E AND THE COMPLEMENT OF C(AC) INTO THE AC.
|
|
;IN THIS CASE, C(AC)=777000,,123477 AND E=0,,765401
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 000777,,775701
|
|
|
|
C62300: MOVE 16,[777000,,123477] ;PRELOAD AC WITH 777000,,123477
|
|
ORCAI 16,765401 ;*ORCAI SHOULD PLACE 000777,,767477
|
|
;INTO THE AC
|
|
CAME 16,[777,,775701] ;PASS IF C(AC)=000777,,775701
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT ORCAM PLACES THE INCLUSIVE OR FUNCTION
|
|
;OF C(E) AND THE COMPLEMENT OF C(AC) INTO
|
|
;IN THIS CASE, C(AC)=777000,,123477 AND C(E)=707070,,707072
|
|
;HENCE, THE RESULT IN E SHOULD BE 707777,,757372
|
|
|
|
C62400: MOVE 15,[777000,,123477] ;PRELOAD AC WITH 777000,,123477
|
|
MOVE 16,[707070,,707072] ;PRELOAD E WITH 707070,,707072
|
|
ORCAM 15,16 ;*ORCAM SHOULD PLACE 707777,,757372
|
|
;INTO E
|
|
CAME 15,[777000,,123477] ;PASS IF C(AC) IS UNCHANGED
|
|
STOP
|
|
CAME 16,[707777,,757372] ;PASS IF C(E)=707777,,757372
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT ORCAB PLACES THE INCLUSIVE OR FUNCTION
|
|
;OF C(E) AND THE COMPLEMENT OF C(AC) INTO BOTH AC AND E.
|
|
;IN THIS CASE, C(AC)=777000,,123477 AND C(E)=707070,,707072
|
|
;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 707777,,757372
|
|
|
|
C62500: MOVE 15,[777000,,123477] ;PRELOAD AC WITH 777000,,123477
|
|
MOVE 16,[707070,,707072] ;PRELOAD E WITH 707070,,707072
|
|
ORCAB 15,16 ;*ORCAB SHOULD PLACE 707777,,757372
|
|
;INTO BOTHE AC AND E
|
|
CAME 15,[707777,,757372] ;PASS IF C(AC)=707777,,757372
|
|
STOP
|
|
CAME 16,[707777,,757372] ;PASS IF C(E)=707777,,757372
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT SETCMI PLACES THE COMPLEMENT OF THE
|
|
;WORD 0,,E INTO THE AC
|
|
;IN THIS CASE, C(AC)=777000,,123456 AND E=0,,707070
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE -1,,070707
|
|
|
|
C62600: MOVE 0,[777000,,123456] ;PRELOAD AC WITH 777000,,123456
|
|
SETCMI 0,707070 ;*SETCMI SHOULD PLACE -1,,070707
|
|
;INTO THE AC
|
|
CAME 0,[-1,,070707] ;PASS IF C(AC)=-1,,070707
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT SETCMM PLACES THE COMPLEMENT OF C(E)
|
|
;INTO E.
|
|
;IN THIS CASE, C(E)=123456,,765432 AND C(AC)=-1,,-1.
|
|
;HENCE, THE RESULT IN E SHOULD BE 654321,,012345
|
|
|
|
C62700: MOVE 17,[123456,,765432] ;PRELOAD E WITH 123456,,76543
|
|
SETO 0, ;PRELOAD AC WITH -1,,-1
|
|
SETCMM 0,17 ;*SETCMM SHOULD PLACE
|
|
;654321,012345 INTO E
|
|
CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 17,[654321,,12345] ;PASS IF C(E)=654321,,012345
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT SETCMB PLACES THE COMPLEMENT OF C(E)
|
|
;INTO BOTH AC AND E.
|
|
;IN THIS CASE, C(E)=123456,,765432 AND C(AC)=-1,,-1.
|
|
;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 654321,,012345
|
|
|
|
C63000: MOVE 17,[123456,,765432] ;PRELOAD E WITH 123456,,76543
|
|
SETO 0, ;PRELOAD AC WITH -1,,-1
|
|
SETCMB 0,17 ;*SETCMB SHOULD PLACE
|
|
;654321,,012345 INTO BOTH AC AND E
|
|
CAME 0,[654321,,12345] ;PASS IF C(AC)=654321,,012345
|
|
STOP
|
|
CAME 17,[654321,,12345] ;PASS IF C(E)=654321,,012345
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT ORCMI PLACES THE INCLUSIVE OR FUNCTION
|
|
;OF C(AC) AND THE COMPLEMENT OF THE WORD 0,,E INTO THE AC.
|
|
;IN THIS CASE, C(AC)=777000,,123477 AND E=0,,765401
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE -1,,133777
|
|
|
|
C63100: MOVE 16,[777000,,123477] ;PRELOAD AC WITH 777000,,123477
|
|
ORCMI 16,765401 ;*ORCMI SHOULD PLACE -1,,133777
|
|
;INTO THE AC
|
|
CAME 16,[-1,,133777] ;PASS IF C(AC)=-1,,133777
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT ORCMM PLACES THE INCLUSIVE OR FUNCTION
|
|
;OF C(AC) AND THE COMPLEMENT OC C(E) INTO
|
|
;IN THIS CASE, C(E)=777000,,123477 AND C (AC)=707070,,707072
|
|
;HENCE, THE RESULT IN E SHOULD BE 707777,,757372
|
|
|
|
C63200: MOVE 15,[777000,,123477] ;PRELOAD E WITH 777000,,123477
|
|
MOVE 16,[707070,,707072] ;PRELOAD AC WITH 707070,,707072
|
|
ORCMM 16,15 ;*ORCMM SHOULD PLACE 707777,,757372
|
|
;INTO E
|
|
CAME 16,[707070,,707072] ;PASS IF C(AC) IS UNCHANGED
|
|
STOP
|
|
CAME 15,[707777,,757372] ;PASS IF C(E)=707777,,757372
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT ORCMB PLACES THE INCLUSIVE OR FUNCTION
|
|
;OF C(AC) AND THE COMPLEMENT OF C(E) INTO BOTH AC AND E.
|
|
;IN THIS CASE, C(E)=777000,,123477 AND C(AC)=707070,,707072
|
|
;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 707777,,757372
|
|
|
|
C63300: MOVE 15,[777000,,123477] ;PRELOAD E WITH 777000,,123477
|
|
MOVE 16,[707070,,707072] ;PRELOAD AC WITH 707070,,707072
|
|
ORCMB 16,15 ;*ORCMB SHOULD PLACE 707777,,757372
|
|
;INTO BOTH AC AND E
|
|
CAME 16,[707777,,757372] ;PASS IF C(AC)=707777,,757372
|
|
STOP
|
|
CAME 15,[707777,,757372] ;PASS OF C(E)=707777,,757372
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT ORCBI PLACES THE LOGICAL INCLUSIVE OR
|
|
;FUNCTION OF THE COMPLEMENTS OF BOTH C(AC) AND THE WORD 0,,E INTO THE AC.
|
|
;IN THIS CASE, C(AC)=707070,,070706 AND E=0,,770011.
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE -1,,707777
|
|
|
|
C63400: MOVE 15,[707070,,070706] ;PRELOAD AC WITH 707070,,070706
|
|
ORCBI 15,770011 ;*ORCBI SHOULD PLACE -1,,707777 INTO THE AC
|
|
CAME 15,[-1,,707777] ;PASS IF C(AC)=-1,707777
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT ORCBM PLACES THE LOGICAL INCLUSIVE OR
|
|
;FUNCTION OF THE COMPLEMENTS OF BOTH C(AC) AND C(E) INTO
|
|
;IN THIS CASE, C(AC)=123456,,770077 AND C(E)=777001,,123324
|
|
;HENCE, THE RESULT IN E SHOULD BE 654777,,657753
|
|
|
|
C63500: MOVE 14,[123456,,770077] ;PRELOAD AC WITH 123456,,770077
|
|
MOVE 15,[777001,,123324] ;PRELOAD E WITH 777001,,123324
|
|
ORCBM 14,15 ;*ORCBM SHOULD PLACE 654777,,657753
|
|
;INTO E
|
|
CAME 14,[123456,,770077] ;PASS IF C(AC) IS UNCHANGED
|
|
STOP
|
|
CAME 15,[654777,,657753] ;PASS IF C(E)=654777,,657753
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT ORCBB PLACES THE LOGICAL INCLUSIVE OR
|
|
;FUNCTIONOF THE COMPLEMENTS OF BOTH C(AC) AND C(E) INTO BOTH AC AND E
|
|
;IN THIS CASE, C(AC)=123456,,770077 AND C(E)=777001,,657753
|
|
|
|
C63600: MOVE 14,[123456,,770077] ;PRELOAD AC WITH 123456,,770077
|
|
MOVE 15,[777001,,123324] ;PRELOAD E WITH 777001,,123324
|
|
ORCBB 14,15 ;*ORCBB SHOULD PLACE 654777,,657753
|
|
;INTO BOTH AC AND E
|
|
CAME 14,[654777,,657753] ;PASS IF C(AC)=654777,,657753
|
|
STOP
|
|
CAME 15,[654777,,657753] ;PASS IF C(E)=654777,,657753
|
|
STOP
|
|
|
|
;**********
|
|
SUBTTL TEST OF MSCL HWT INSTRUCTIONS
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HLLI CLEARS AC LEFT
|
|
;IN THIS CASE, C(AC)=707070,,123456 AND E=777000
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 0,,123456
|
|
|
|
C63700: MOVE 17,[707070,,123456] ;PRELOAD AC WITH 707070,,123456
|
|
HLLI 17,777000 ;*HLLI SHOULD PLACE 0,,123456 INTO THHE AC
|
|
CAIE 17,123456 ;PASS IF C(AC)=0,,123456
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HLLS PLACES C(E) INTO THE AC IF AC IS NON-ZERO
|
|
;AND IS A NO-OP IF AC=0
|
|
;IN THIS CASE, AC=0, C(AC)=-1,,-1 AND C(E)=123456,,765432
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1
|
|
;AND 123456,,765432 RESPECTIVELY
|
|
|
|
C64000: SETO 0 ;PRELOAD AC WITH -1,,-1
|
|
MOVE 2,[123456,,765432] ;PRELOAD E WITH 123456,,765432
|
|
HLLS 0,2 ;*HLLS SHOULD NOT AFFECT AC OR E
|
|
CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 2,[123456,,765432] ;PASS IF C(C) IS UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HLLS PLACES C(E) INTO THE AC IF AC IS NON-ZERO?
|
|
;AND IS A NO-OP IF AC=0
|
|
;IN THIS CASE, AC=1, C(AC)=1,,-1 AND C(E)=123456,,765432
|
|
;HENCE, THE RESULTS IN AC AND E WHOULD BE 123456,,765432
|
|
;AND 123456,,765432 RESPECTVIELY
|
|
|
|
C64010: SETO 1, ;PRELOAD AC WITH -1,,-1
|
|
MOVE 2,[123456,,765432] ;PRELOAD E WITH 123456,,765432
|
|
HLLS 1,2 ;*HLLS SHOULD PLACE 123456,,765432 INTO THE AC
|
|
CAME 1,[123456,,765432] ;PASS IF C(AC)=123456,,765432
|
|
STOP
|
|
CAME 2,[123456,,765432] ;PASS IF C(C) IS UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HRLS PLACES C(E-RIGHT) INTO E-LEFT, BUT
|
|
;DOES NOT AFFECT E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E
|
|
;IS ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=0, C(AC)=1,,-1 AND C(E)=123456,707070
|
|
;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE -1,,-1
|
|
;AND 707070,,707070.
|
|
|
|
C64100: SETO 0, ;PRELOAD AC WITH -1,,-1
|
|
MOVE 3,[123456,,707070] ;PRELOAD E WITH 123456,,707070
|
|
HRLS 0,3 ;*HRLS SHOULD PLACE 707070,,707070
|
|
;INTO E.
|
|
CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 3,[707070,,707070] ;PASS IF C(E)=707070,,707070
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HRLS PLACES C(E-RIGHT) INTO E-LEFT, BUT
|
|
;DOES NOT AFFECT E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E
|
|
;IS ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=1, C(AC)=-1,,-1 AND C(E)=123456,,707070
|
|
;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE 707070,,707070
|
|
;AND 707070,,707070.
|
|
|
|
C64110: SETO 1, ;PRELOAD AC WITH -1,,-1
|
|
MOVE 3,[123456,,707070] ;PRELOAD E WITH 123456,,707070
|
|
HRLS 1,3 ;*HRLS SHOULD PLACE 707070,,707070
|
|
;INTO BOTH AC AND E.
|
|
CAME 1,[707070,,707070] ;PASS IF C(AC)=707070,,707070
|
|
STOP
|
|
CAME 3,[707070,,707070] ;PASS IF C(E)=707070,,707070
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAN HLLZM PLACES C(AC-LEFT) INTO E-LEFT AND
|
|
;PLACES 0 INTO E-RIGHT
|
|
;IN THIS CASE, C(AC)=123456,,123422 AND C(E)=707070,717171
|
|
;HENCE, THE RESULT IN E SHOULD BE 123456,,0
|
|
|
|
C64200: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
|
|
MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
|
|
HLLZM 1,2 ;*HLLZM SHOULD PLACE 123456,,0 INTO E
|
|
CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 2,[123456,,0] ;PASS IF C(E)=123456,,0
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HLLZS CLEARS THE RIGHT HALF OF E, BUT DOESN'T
|
|
;AFFECT THE LEFT HALF OF E. IF AC IS NON-ZERO, THE RESULT IN E IS
|
|
;ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=0, C(AC)=-1,,-1 AND C(E)=123456,,707070
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1
|
|
;AND 123456,,0 RESPECTIVELY
|
|
|
|
C64300: SETO 0, ;PRELOAD AC WITH -1,,-1
|
|
MOVE 17,[123456,,707070] ;PRELOAD E WITH 123456,,707070
|
|
HLLZS 0,17 ;*HLLZS SHOULD PLACE 123456,,0 INTO E.
|
|
CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 17,[123456,,0] ;PASS IF C(E)=123456,,0
|
|
STOP
|
|
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HLLZS CLEARS THE RIGHT HALF OF E, BUT DOESN'T
|
|
;AFFECT THE LEFT HALF OF E. IF AC IS NON-ZERO, THE RESULT IN E IS
|
|
;ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=1, C(AC)=-1,,-1 AND C(E)=123456,,707070
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE 123456,,0
|
|
;AND 123456,,0 RESPECTIVELY.
|
|
|
|
C64310: SETO 1, ;PRELOAD AC WITH -1,,-1
|
|
MOVE 17,[123456,,707070] ;PRELOAD E WITH 123456,,707070
|
|
HLLZS 1,17 ;*HLLZS SHOULD PLACE 123456,,0 INTO
|
|
;BOTH AC AND E
|
|
CAME 1,[123456,,0] ;PASS IF C(AC)=123456,,0
|
|
STOP
|
|
CAME 17,[123456,,0] ;PASS IF C(E)=123456,,0
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HRLZM PLACES C(AC-RIGHT) INTO E-LEFT AND
|
|
;PLACES O INTO E-RIGHT.
|
|
;IN THIS CASE, C(AC)=123456,,123422 AND C(E)=707070,,717171
|
|
;HENCE, THE RESULT IN E SHOULD BE 123422,,0
|
|
|
|
C64400: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
|
|
MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
|
|
HRLZM 1,2 ;*HRLZM SHOULD PLACE 123422,,0 INTO E
|
|
CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 2,[123422,,0] ;PASS IF C(E)=123422,,0
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HRLZS PLACES C(E-RIGHT) INTO E-LEFT AND
|
|
;CLEARS E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E IS ALSO
|
|
;PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=0, C(AC)=-1,,-1 AND C(E)=123456,,707076
|
|
;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE -1,,-1
|
|
;AND 707076,,0
|
|
|
|
C64500: SETO 0, ;PRELOAD AC WITH -1,,-1
|
|
MOVE 16,[123456,,707076] ;PRELOAD E WITH 123456,,707076
|
|
HRLZS 0,16 ;*HRLZS SHOULD PLACE 707076,,0
|
|
;INTO E.
|
|
CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 16,[707076,,0] ;PASS IF C(AC)=707076,,0
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HRLZS PLACES C(E-RIGHT) INTO E-LEFT AND
|
|
;CLEARS E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E IS ALSO
|
|
;PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=1, C(AC)=-1,,-1 AND C(E)=123456,,707076
|
|
;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE 707076,,0
|
|
;AND 707076,,0
|
|
|
|
C64510: SETO 1, ;PRELOAD AC WITH -1,,-1
|
|
MOVE 16,[123456,,707076] ;PRELOAD E WITH 123456,,707076
|
|
HRLZS 1,16 ;*HRLZS SHOULD PLACE 707076,,0
|
|
;INTO BOTH AC AND E.
|
|
CAME 1,[707076,,0] ;PASS IF C(AC)=707076,,0
|
|
STOP
|
|
CAME 16,[707076,,0] ;PASS IF C(AC)=707076,,0
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HLLOM PLACES C(AC-LEFT) INTO E-LEFT AND
|
|
;PLACES -1 INTO E-RIGHT.
|
|
;IN THIS CASE, C(AC)=123456,,123422 AND C(E)=707070,,717171
|
|
;HENCE, THE RESULT IN E SHOULD BE 123456,,-1.
|
|
|
|
C64600: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
|
|
MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
|
|
HLLOM 1,2 ;*HLLOM SHOULD PLACE 123456,,-1 INTO E
|
|
CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 2,[123456,,-1] ;PASS IF C(E)=123456,,-1
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HRLO, C(E-RIGHT) INTO AC=LEFT AND
|
|
;PLACES -1 INTO AC-RIGHT. IN THIS CASE, C(AC)=123456,,135724 AND
|
|
;C(E)=765432,,246135. HENCE, THE RESULT IN THE AC SHOULD BE 246135,,-1
|
|
|
|
C64700: MOVE 15,[123456,,135724] ;PRELOAD AC WITH 123456,,135724
|
|
MOVE 16,[765432,,246135] ;PRELOAD E WITH 765432,,246135
|
|
HRLO 15,16 ;*HRLO SHOULD PLACE 246135,,-1 INTO AC
|
|
CAME 15,[246135,,-1] ;PASS IF C(AC)=246135,,-1
|
|
STOP
|
|
CAME 16,[765432,,246135] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HRLOI PLACES 0,,E INTO AC-LEFT AND
|
|
;PLACES ONES INTO AC-RIGHT. IN THIS CASE, C(AC)=0 AND E=0,,123456.
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,-1
|
|
|
|
C65000: SETZ 14, ;CLEAR AC
|
|
HRLOI 14,123456 ;*HRLOI SHOULD PLACE 123456,,-1 INTO THE AC
|
|
CAME 14,[123456,,-1] ;PASS IF C(AC)=123456,,-1
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HRLOM PLACES C(AC-RIGHT) INTO E-LEFT
|
|
;AND PLACES -1 INTO E-RIGHT. IN THIS CASE, C(E)=0 AND C(AC)=123123,,456765
|
|
;HENCE, THE RESULT IN E SHOULD BE 456765,,-1.
|
|
|
|
C65100: SETZM 14 ;CLEAR E
|
|
MOVE 13,[123123,,456765] ;PRELOAD AC WITH 123123,,456765
|
|
HRLOM 13,14 ;*HRLOM SHOULD PLACE 456765,,-1 INTO E
|
|
CAME 13,[123123,,456765] ;PASS IF C(AC) UNCHANGED
|
|
|
|
STOP
|
|
CAME 14,[456765,,-1] ;PASS IF C(E)=456765,,-1
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HRLOS PLACES C(E-RIGHT) INTO E-LEFT AND
|
|
;PLACES -1 INTO E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E IS ALOS
|
|
;PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123456,,707076
|
|
;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE 0
|
|
;AND 707076,,0
|
|
|
|
C65200: SETZ 0, ;PRELOAD AC WITH 0
|
|
MOVE 16,[123456,,707076] ;PRELOAD E WITH 123456,,707076
|
|
HRLOS 0,16 ;*HRLZS SHOULD PLACE 707076,,-1
|
|
;INTO E.
|
|
CAME 0,[0] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 16,[707076,,-1] ;PASS IF C(AC)=707076,,-1
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HRLOS PLACES C(E-RIGHT) INTO E-LEFT AND
|
|
;PLACES -1 INTO E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E IS ALSO
|
|
;PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=123456,,707076
|
|
;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE 707076,,-1
|
|
;AND 707076,,-1
|
|
|
|
C65210: SETZ 1, ;PRELOAD AC WITH 0
|
|
MOVE 16,[123456,,707076] ;PRELOAD E WITH 123456,,707076
|
|
HRLOS 1,16 ;*HRLZS SHOULD PLACE 707076,,-1
|
|
;INTO BOTH AC AND E
|
|
CAME 1,[707076,,-1] ;PASS IF C(AC)=707076,,-1
|
|
STOP
|
|
CAME 16,[707076,,-1] ;PASS IF C(AC)=707076,,-1
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HLLEM PLACES C(AC-LEFT) INTO E-LEFT
|
|
;AND PLACES BIT 0 OF THE AC INTO BITS 18 THRU 35 OF E. IN THIS CASE,
|
|
;C(AC)=123456,,707076 AND C(E)=-1,,-1. HENCE, THE RESULT IN E
|
|
;SHOULD BE 123456,,0.
|
|
|
|
C65300: MOVE 12,[123456,,707076] ;PRELOAD AC WITH 123456,,707076
|
|
SETOM 13 ;PRELOAD E WITH -1,,-1
|
|
HLLEM 12,13 ;*HLLEM SHOULD PLACE 123456,,0 INTO E
|
|
CAME 12,[123456,,707076] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 13,[123456,,0] ;PASS IF C(E)=123456,,0
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HLLES PLACES C(E-LEFT) INTO E-LEFT AND
|
|
;PLACES BIT 0 OF E INTO BITS 18 THRU 35 OF E. IF AC IS NON-ZERO
|
|
;THE RESULT IN E IS ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=765432,,0.
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE 0
|
|
;AND 765432,,-1 RESPECTIVELY.
|
|
|
|
C65400: SETZ 0, ;CLEAR AC
|
|
HRLZI 2,765432 ;PRELOAD E WITH 765432,,0
|
|
HLLES 0,2 ;*HLLES SHOULD PLACE 765432,,-1
|
|
;INTO E
|
|
CAME 0,[0] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 2,[765432,,-1] ;PASS IF C(E)=765432,,-1
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HLLES PLACES C(E-LEFT) INTO E-LEFT AND
|
|
;PLACES BIT 0 OF E INTO BITS 18 THRU 35 OF E. IF AC IS NON-ZERO,
|
|
;THE RESULT IN E IS ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=765432,,0
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE 765432,,-1
|
|
;AND 765432,,-1 RESPECTIVELY
|
|
|
|
C65410: SETZ 1, ;CLEAR AC
|
|
HRLZI 2,765432 ;PRELOAD E WITH 765432,,0
|
|
HLLES 1,2 ;*HLLES SHOULD PLACE 765432,,-1
|
|
;INTO BOTH AC AND E
|
|
CAME 1,[765432,,-1] ;PASS IF C(AC)=765432,,-1
|
|
STOP
|
|
CAME 2,[765432,,-1] ;PASS IF C(E)=765432,,-1
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HLLEM PLACES C(AC-RIGHT) INTO E-LEFT
|
|
;AND PLACES BIT 18 OF THE AC INTO BITS 18 THRU 35 OF E. IN THIS CASE,
|
|
;C(AC)=365432,123456 AND C(E)=-1,,-1. HENCE, THE RESULT IN E
|
|
;SHOULD BE 365432,,0.
|
|
|
|
C65500: MOVE 12,[365432,,123456] ;PRELOAD AC WITH 365432,,123456
|
|
SETOM 13 ;PRELOAD E WITH -1,,-1
|
|
HLLEM 12,13 ;*HLLEM SHOULD PLACE 365432,,0 INTO E
|
|
CAME 12,[365432,,123456] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 13,[365432,,0] ;PASS IF C(E)=365432,,0
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HRLES PLACES C(E-RIGHT) INTO E-LEFT AND
|
|
;PLACES BIT 18 OF E INTO BITS 18 THRU 35 OF E. IF AC IS NON-ZERO,
|
|
;THE RESULT IN E IS ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=0,,765432
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE 0
|
|
;AND 765432,,-1 RESPECTIVELY
|
|
|
|
C65600: SETZ 0, ;CLEAR AC
|
|
HRRZI 2,765432 ;PRELOAD E WITH 0,,765432
|
|
HRLES 0,2 ;*HLLES SHOULD PLACE 765432,,-1
|
|
;INTO
|
|
CAME 0,[0] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 2,[765432,,-1] ;PASS IF C(E)=765432,,-1
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HRLES PLACES C(E-RIGHT) INTO E-LEFT AND
|
|
;PLACES BIT 18 OF E INTO BITS 18 THRU 35 OF E. IF AC IS NON-ZERO,
|
|
;THE RESULT IN E IS ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=0,,765432
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE 765432,,-1
|
|
;AND 765432,,-1 RESPECTIVELY.
|
|
|
|
C65610: SETZ 1, ;CLEAR AC
|
|
HRRZI 2,765432 ;PRELOAD E WITH 0,765432
|
|
HRLES 1,2 ;*HLLES SHOULD PLACE 765432,,-1
|
|
;INTO BOTH AC AND E
|
|
CAME 1,[765432,,-1] ;PASS IF C(AC)=765442,,-1
|
|
STOP
|
|
CAME 2,[765432,,-1] ;PASS IF C(E)=765432,,-1
|
|
STOP
|
|
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HLRM SHOULD PLACE C(AC-LEFT) INTO E-RIGHT
|
|
;AND NOT AFFECT E-LEFT. IN THIS CASE, C(AC)=123456,,701234
|
|
;AND C(E)=0. HENCE, THE RESULT IN E SHOULD BE 0,,123456
|
|
|
|
C65700: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
SETZM 12 ;CLEAR E
|
|
HLRM 11,12 ;*HLRM SHOULD PLACE 0,,123456 INTO E
|
|
CAME 11,[123456,,701234] ;PASS IF C(AC) UNCHANGE
|
|
STOP
|
|
CAIE 12,123456 ;PASS IF C(E)=0,,123456
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HLRS PLACES C(E-LEFT) INTO E-RIGHT AND
|
|
;DOES NOT AFFECT E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
|
|
;IS ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123123,,246135
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE 0
|
|
;AND 123123,,123123 RESPECTIVELY.
|
|
|
|
C66000: SETZ 0, ;CLEAR AC
|
|
MOVE 12,[123123,,246135] ;PRELOAD E WITH 123123,,246135
|
|
HLRS 0,12 ;*HLRS SHOULD PLACE 123123,,123123
|
|
;INTO E.
|
|
CAME 0,[0] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 12,[123123,,123123] ;PASS IF C(E)=123123,,123123
|
|
STOP
|
|
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HLRS PLACES C(E-LEFT) INTO E-RIGHT AND
|
|
;DOES NOT AFFECT E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
|
|
;IS ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=123123,,246135
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE 123123,,123123
|
|
;AND 123123,,123123 RESPECTIVELY.
|
|
|
|
C66010: SETZ 1, ;CLEAR AC
|
|
MOVE 12,[123123,,246135] ;PRELOAD E WITH 123123,,246135
|
|
HLRS 1,12 ;*HLRS SHOULD PLACE 123123,,123123
|
|
;INTO BOTH AC AND E.
|
|
CAME 1,[123123,,123123] ;PASS IF C(AC)=123123,,123123
|
|
STOP
|
|
CAME 12,[123123,,123123] ;PASS IF C(E)=123123,,123123
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HRRZS CLEARS THE LEFT HALF OF E, BUT DOES NOT
|
|
;AFFECT THE RIGHT HALF OF E. IF AC IS NON-ZERO, THE RESULT IN E IS
|
|
;ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC = 0, C(AC) = -1,,-1 AND C(E) = 123456,,701234
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1 AND 0,,701234
|
|
;RESPECTIVELY.
|
|
|
|
C66100: SETO 0 ;PRELOAD AC WITH -1,,-1
|
|
MOVE 17,[123456,,701234] ;PRELOAD E WITH 123456,,701234
|
|
HRRZS 0,17 ;HRRZS SHOULD PLACE 0,,701234 INTO E
|
|
CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAIE 17,701234 ;PASS IF C(E) = 0,,701234
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HRRZS CLEARS THE LEFT HALF OF E, BUT DOES NOT
|
|
;AFFECT THE RIGHT HALF OF E. IF AC IS NON-ZERO, THE RESULT IN E IS
|
|
;ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC = 1, C(AC) = -1,,-1 AND C(E) = 123456,,701234
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE 0,,701234 AND 0,,701234
|
|
;RESPECTIVELY.
|
|
|
|
C66110: SETO 1, ;PRELOAD AC WITH -1,,-1
|
|
MOVE 17,[123456,,701234] ;PRELOAD E WITH 123456,,701234
|
|
HRRZS 1,17 ;HRRZS SHOULD PLACE 0,,701234 INTO
|
|
;BOTH AC AND E
|
|
CAIE 1,701234 ;PASS IF C(AC) = 0,,701234
|
|
STOP
|
|
CAIE 17,701234 ;PASS IF C(E) = 0,,701234
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HLRZI CLEARS THE AC
|
|
;IN THIS CASE, C(AC) = -1,,-1 AND E = 0,,-1. HENCE, THE
|
|
;RESULT IN THE AC SHOULD BE 0.
|
|
|
|
C66200: SETO 7 ;PRELOAD AC WITH -1,,-1
|
|
HLRZI 7,-1 ;*HLRZI SHOULD CLEAR THE AC
|
|
SKIPE 7 ;PASS IF C(AC) = 0
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HLRZM PLACES C(AC-LEFT) INTO E-RIGHT AND
|
|
;PLACES 0 INTO E-LEFT.
|
|
;IN THIS CASE, C(AC) = 123456,,123422 AND C(E) = 707070,,717171
|
|
;HENCE, THE RESULT IN E SHOULD BE 0,,123456.
|
|
|
|
C66300: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
|
|
MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
|
|
HLRZM 1,2 ;*HLRZM SHOULD PLACE 0,,123456 INTO E.
|
|
CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAIE 2,123456 ;PASS IF C(E) = 0,,123456
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HLRZM PLACES C(AC-LEFT) INTO E-RIGHT AND
|
|
;PLACES 0 INTO E-LEFT.
|
|
;IN THIS CASE, C(AC) = 123456,,123422 AND C(E) = 707070,,717171
|
|
;HENCE, THE RESULT IN E SHOULD BE 0,,123456.
|
|
|
|
C66301: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
|
|
MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
|
|
MOVEM 2,E66301
|
|
HLRZM 1,E66301 ;*HLRZM SHOULD PLACE 0,,123456 INTO E.
|
|
CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
MOVE 2,E66301
|
|
CAIE 2,123456 ;PASS IF C(E) = 0,,123456
|
|
STOP
|
|
|
|
SKIPA ;GO TO NEXT TEST
|
|
E66301: 0 ;TEST WORD MEMORY
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HLRZS PLACES C(E-LEFT) INTO E-RIGHT AND
|
|
;PLACES 0 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E IS
|
|
;ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC = 0, C(AC) = -1,,-1 AND C(E) = 123456,,701234.
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1 AND 0,,123456
|
|
;RESPECTIVELY.
|
|
|
|
C66400: SETO 0, ;PRELOAD AC WITH -1,,-1
|
|
MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
|
|
HLRZS 0,7 ;*HLRZS SHOULD PLACE 0,,123456 INTO E
|
|
CAME 0,[-1] ;PASS IF C(AC) IS UNCHANGED
|
|
STOP
|
|
CAIE 7,123456 ;PASS IF C(E) = 0,,123456
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HLRZS PLACES C(E-LEFT) INTO E-RIGHT AND
|
|
;PLACES 0 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
|
|
;IS ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC = 6, C(AC) = -1,,-1 AND C(E) = 123456,,701234.
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE 0,,123456 AND 0123456
|
|
;RESPECTIVELY.
|
|
|
|
C66410: SETO 6, ;PRELOAD AC WITH -1,,-1
|
|
MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
|
|
HLRZS 6,7 ;*HLRZS SHOULD PLACE 0,,123456 INTO
|
|
;BOTH AC AND E
|
|
CAIE 6,123456 ;PASS IF C(AC) = 0,,123456
|
|
STOP
|
|
CAIE 7,123456 ;PASS IF C(E) = 0,,123456
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HLRZS PLACES C(E-LEFT) INTO E-RIGHT AND
|
|
;PLACES 0 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
|
|
;IS ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC = 6, C(AC) = -1,,-1 AND C(E) = 123456,,701234.
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE 0,,123456 AND 0123456
|
|
;RESPECTIVELY.
|
|
|
|
C66411: SETO 6, ;PRELOAD AC WITH -1,,-1
|
|
MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
|
|
MOVEM 7,E66411
|
|
HLRZS 6,E66411 ;*HLRZS SHOULD PLACE 0,,123456 INTO
|
|
;BOTH AC AND E
|
|
CAIE 6,123456 ;PASS IF C(AC) = 0,,123456
|
|
STOP
|
|
MOVE 7,E66411
|
|
CAIE 7,123456 ;PASS IF C(E) = 0,,123456
|
|
STOP
|
|
|
|
SKIPA ;GO TO NEXT TEST
|
|
E66411: 0 ;TEST WORD MEMORY
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HRROM PLACES C(AC-RIGHT) INTO E-RIGHT AND
|
|
;PLACES -1 INTO E-LEFT. IN THIS CASE, C(AC) = 123456,,701234 AND
|
|
;C(E) = 0. HENCE, THE RESULT IN E SHOULD BE -1,,601234.
|
|
|
|
C66500: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
SETZM 6 ;CLEAR E
|
|
HRROM 5,6 ;*HRROM SHOULD PLACE -1,,701234 INTO E
|
|
CAME 5,[123456,,701234] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 6,[-1,,701234] ;PASS IF C(E) = -1,,701234
|
|
STOP
|
|
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HRROS PLACES -1 INTO THE LEFT HALF OF E, BUT DOES NOT
|
|
;AFFECT THE RIGHT HALF OF E. IF AC IS NON-ZERO THE RESULT IN E IS
|
|
;ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123456,,701234
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE 0
|
|
;AND -1,,701234 RESPECTIVELY.
|
|
|
|
C66600: SETZ 0 ;PRELOAD AC WITH 0
|
|
MOVE 17,[123456,,701234] ;PRELOAD E WITH 123456,,701234
|
|
HRROS 0,17 ;HRROS SHOULD PLACE -1,,701234 INTO E
|
|
CAME 0,[0] ;PASS IF C(AC) IS UNCHANGED
|
|
STOP
|
|
CAME 17,[-1,,701234] ;PASS IF C(E)=-1,,701234
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HRROS PLACES -1 INTO THE LEFT HALF OF E, BUT DOES NOT
|
|
;AFFECT THE RIGHT HALF OF E. IF AC IS NON-ZERO THE RESULT IN E IS
|
|
;ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=16, C(AC)=0 AND C(E)=123456,,701234
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,701234
|
|
;AND -1,,701234 RESPECTIVELY.
|
|
|
|
C66610: SETZ 16, ;PRELOAD AC WITH 0
|
|
MOVE 17,[123456,,701234] ;PRELOAD E WITH 123456,,701234
|
|
HRROS 16,17 ;*HRROS SHOULD PLACE -1,,701234 INTO
|
|
;BOTH AC AND E
|
|
CAME 16,[-1,,701234] ;PASS IF C(AC)=-1,,701234
|
|
STOP
|
|
CAME 17,[-1,,701234] ;PASS IF C(E)=-1,,701234
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HLRO PLACES C(E-LEFT) INTO AC-RIGHT AND
|
|
;PLACES -1 INTO AC-LEFT. IN THIS CASE, C(AC)=0
|
|
;C(E)=765432,,107654. HENCE, THE RESULT IN THE AC SHOULD BE -1,,765432.
|
|
|
|
C66700: SETZ 4, ;CLEAR AC
|
|
MOVE 5,[765432,,107654] ;PRELOAD E WITH 765432,,107654
|
|
HLRO 4,5 ;*HLRO SHOULD PLACE -1,,765432 INTO THE AC
|
|
CAME 4,[-1,,765432] ;PASS IF C(AC)=-1,,765432
|
|
STOP
|
|
CAME 5,[765432,,107654] ;PASS IF C(E) IS UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HLROI PLACES -1,,0 INTO THE AC.
|
|
;IN THIS CASE, C(AC)=123456,,765432 AND E=070707. HENCE, THE
|
|
;RESULT IN THE AC SHOULD BE -1,,0
|
|
|
|
C67000: MOVE 3,[123456,,765432] ;PRELOAD AC WITH 123456,,765432
|
|
HLROI 3,070707 ;*HLROI SHOULD PLACE -1,,0 INTO THE AC
|
|
CAME 3,[-1,,0] ;PASS IF C(AC)=-1,,0
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HLROM PLACES C(AC-LEFT) INTO E RIGHT AND
|
|
;PLACES -1 INTO E-LEFT
|
|
;IN THIS CASE, C(AC)=123456,,123422 AND C(E)=707070,,717171
|
|
;HENCE, THE RESULT IN E SHOULD BE -1,,123456
|
|
|
|
C67100: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
|
|
MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
|
|
HLROM 1,2 ;*HLROM SHOULD PLACE -1,,123456 INTO E
|
|
CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 2,[-1,,123456] ;PASS IF C(E)=-1,,123456
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HLROS PLACES C(E-LEFT) INTO E-RIGHT AND
|
|
;PLACES -1 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
|
|
;IS ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123456,,701234.
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE 0
|
|
;AND -1,,123456 RESPECTIVELY
|
|
|
|
C67200: SETZ 0 ;PRELOAD AC WITH 0
|
|
MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
|
|
HLROS 0,7 ;*HLROS SHOULD PLACE -1,,123456 INTO E
|
|
;
|
|
CAIE 0,0 ;PASS IF C(AC) IS UNCHANGED
|
|
STOP
|
|
CAME 7,[-1,,123456] ;PASS IF C(E)=-1,,123456
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HLROS PLACES C(E-LEFT) INTO E-RIGHT AND
|
|
;PLACES -1 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
|
|
;IS ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=123456,,701234.
|
|
;HENCE, THE RESULT IN AC AND E SHOULD BE -1,,123456
|
|
;AND -1,,123456 RESPECTIVELY.
|
|
|
|
C67210: SETZ 1, ;PRELOAD AC WITH 0
|
|
MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
|
|
HLROS 1,7 ;*HLROS SHOULD PLACE -1,,123456 INTO
|
|
;BOTH AC AND E
|
|
CAME 1,[-1,,123456] ;PASS IF C(AC)=-1,,123456
|
|
STOP
|
|
CAME 7,[-1,,123456] ;PASS IF C(E)=-1,,123456
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HRRES PLACES C(E-RIGHT) INTO E-RIGHT
|
|
;AND PLACES BIT 18 OF E INTO BITS 0 THRU 17 OF E. IF AC IS NON-ZERO,
|
|
;THE RESULT IN E IS ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123456,,701234
|
|
;HENCE, THE RESULT IN AC AND E SHOULD BE 0
|
|
;AND -1,,701234 RESPECTIVELY.
|
|
|
|
C67300: SETZ 0, ;PRELOAD AC WITH 0
|
|
MOVE 3,[123456,,701234] ;PRELOAD WITH 123456,,701234
|
|
HRRES 0,3 ;HRRES SHOULD PLACE -1,,701234 INTO E
|
|
|
|
SKIPE ;PASS IF C(AC) IS UNCHANGED
|
|
STOP
|
|
CAME 3,[-1,,701234] ;PASS IF C(E)=-1,,701234
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HRRES, PLACES C(E-RIGHT) INTO E-RIGHT
|
|
;AND PLACES BIT 18 OF E INTO BITS 0 THRU 17 OF E. IF AC IS NON-ZERO,
|
|
;THE RESULT IN E IS ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=123456,,701234.
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,701234
|
|
;AND -1,,701234 RESPECTIVELY.
|
|
|
|
C67310: SETZ 1, ;PRELOAD AC WITH 0
|
|
MOVE 3,[123456,,701234] ;PRELOAD WITH 123456,,701234
|
|
HRRES 1,3 ;HRRES SHOULD PLACE -1,,701234 INTO
|
|
;BOTH AC AND E
|
|
CAME 1,[-1,,701234] ;PASS IF C(AC)=-1,,701234
|
|
STOP
|
|
CAME 3,[-1,,701234] ;PASS IF C(E)=-1,,701234
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT HLRES PLACES C(E-LEFT) INTO E-RIGHT
|
|
;AND PLACES BIT 0 OF E INTO BITS 0 THRU 17 OF E. IF AC IS
|
|
;NON-ZERO, THE RESULT IN E IS ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=0, C(AC)=-1,,-1 AND C(E) 123456,,701234
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1
|
|
;AND 0,,123456 RESPECTIVELY.
|
|
|
|
C67400: SETO 0, ;PRELOAD AC WITH -1,,-1
|
|
MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
|
|
HLRES 0,7 ;*HLRES SHOULD PLACE 0,,123456 INTO E
|
|
|
|
CAME 0,[-1] ;PASS IF C(AC) IS UNCHANGED
|
|
STOP
|
|
CAIE 7,123456 ;PASS IF C(E)=0,,123456
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT HLRES PLACES C(E-LEFT) INTO E-RIGHT
|
|
;AND PLACES BIT 0 OF E INTO BITS 0 THRU 17 OF E. IF AC IS
|
|
;NON-ZERO, THE RESULT IN E IS ALSO PLACED INTO THE AC.
|
|
;IN THIS CASE, AC=1, C(AC)=-1,,-1 AND C(E) 123456,,701234.
|
|
;HENCE, THE RESULTS IN AC AND E SHOULD BE 0,,123456
|
|
;AND 0,,123456 RESPECTIVELY.
|
|
|
|
C67410: SETO 1, ;PRELOAD AC WITH -1,,-1
|
|
MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
|
|
HLRES 1,7 ;*HLRES SHOULD PLACE 0,,123456 INTO
|
|
;BOTH AC AND E
|
|
CAIE 1,123456 ;PASS IF C(AC)=0,,123456
|
|
STOP
|
|
CAIE 7,123456 ;PASS IF C(E)=0,,123456
|
|
STOP
|
|
|
|
;**********
|
|
SUBTTL TEST OF MSCL LOGICAL TEST INSTRUCTIONS
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TRNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3
|
|
;HENCE, TRNE SHOULD SKIP THE NEXT INSTRUCTION. THE AC IS ALSO
|
|
;CHECKED FOR NO MODIFICATION.
|
|
|
|
C67500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRNE 17,3 ;*TRNE SHOULD SKIP THE NEXT INSTRUCTION
|
|
STOP
|
|
CAME 17,[123456,,701234] ;PASS IF C AC) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TRNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, TRNE SHOULD NOT SKIP THE NEXT INSTRUCTION. THE AC IS ALSO
|
|
;CHECKED FOR NO MODIFICATION.
|
|
|
|
C67510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRNE 16,300 ;*TRNE SHOULD NOT SKIP THE NEXT INSTRUCTION
|
|
SKIPA ;PASS IF TRNE DID NOT SKIP
|
|
STOP
|
|
CAME 16,[123456,,701234] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TLNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, TLNE SHOULD SKIP THE NEXT INSTRUCTION, THE AC IS ALSO
|
|
;CHECKED FOR NO MODIFICATION.
|
|
|
|
C67600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLNE 15,300 ;*TLNE CHOULD SKIP
|
|
STOP
|
|
CAME 15,[123456,,701234] ;PASS IF C(AC) IS UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TLNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
|
|
;HENCE, TLNE SHOULD NOT SKIP THE NEXT INSTRUCTION, THE AC IS ALSO
|
|
;CHECKED FOR NO MODIFICATION
|
|
|
|
C67610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLNE 14,3 ;*TLNE SHOULD NOT SKIP
|
|
SKIPA ;PASS IF TLNE DID NOT SKIP
|
|
STOP
|
|
CAME 14,[123456,,701234] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TRNA ALWAYS SKIPS THE NEXT SEQUENTIAL
|
|
;INSTRUCTION. HENCE, TRNA IS INDEPENDENT OF BOTH C(A) AND E
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
|
|
;HENCE, TRNA SHOULD SKIP THENEXT INSTRUCTION AND NOT ALTER C(AC).
|
|
|
|
C67700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRNA 13,3 ;*TRNA SHOULD ALWAYS SKIP
|
|
STOP
|
|
CAME 13,[123456,,701234] ;PASS IFC(AC) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFhES THAT TRNA ALWAYS SKIPS THE NEXT SEQUENTIAL
|
|
;INSTRUCTION. HENCE, TRNA IS INDEPENDENT OF BOTH C(A) AND E.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, TRNA SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
|
|
|
|
C67710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRNA 12,300 ;*TRNA SHOQLD ALWAYS SKIP
|
|
STOP
|
|
CAME 12,[123456,,701234] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIaS THAT TLNA ALWAYS SKIPS THE NEXT SEQUENTIAL
|
|
;INSTRUCTION. HENCE, TLNA IS INDEPENDENt OF BOTH C(AC) AND E.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
|
|
;HENCE, TLNA SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
|
|
|
|
C70000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLNA 11,3 ;*TLNA SHOULD ALWAYS SKIP
|
|
STOP
|
|
CAME 11,[123456,,701234] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TLNA ALWAYS SKIPS THE NEXT SEQUENTIAL
|
|
;INSTRUCTION. HENCE, TLNA IS INDEPENDENT OF BOTH C(AC) AND E.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
|
|
;HENCE, TLNA SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
|
|
|
|
C70010: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLNA 10,300 ;*TLNA SHOULD ALWAYS SKIP
|
|
STOP
|
|
CAME 10,[123456,,701234] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TRNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN
|
|
;E ARE ZERO. IN THIS CASE, C(AC)=123456,,701234 AND E=300.
|
|
;HENCE, TRNN SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
|
|
|
|
C70100: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRNN 7,300 ;*TRNN SHOULD SKIP
|
|
SToP
|
|
CAME 7,[123456,,701234] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TRNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN
|
|
;E ARE ZERO. IN THIS CASE, C(AC)=123456,,701234 AND E=3.
|
|
;HENCE, TRNN SHoULD NOT SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
|
|
|
|
C70110: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRNN 6,3 ;*TRNN SHOULD NOT SKIP
|
|
SKIPA ;PASS IF TRNN DID NOT SKIP
|
|
STOP
|
|
CAME 6,[123456,,701234] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TLNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
|
|
;HENCE, TLNN SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
|
|
|
|
C70200: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLNN 5,3 ;*TLNN SHOULD SKIP
|
|
STOP
|
|
CAME 5,[123456,,701234] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES thAT TLNN SkIPS THE NEXT SEQUENTIAL INSTRUcTION
|
|
;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
|
|
;HENCE, TLNN SHOULD NOT SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
|
|
|
|
C70210: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLNN 4,300 ;*TLNN SHOULD NOT SKIP
|
|
SKIPA ;PASS IF TLNN DOES NOT SKIP
|
|
STOP
|
|
CAME 4,[123456,,701234] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TSNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN C(E) WITH
|
|
;BOTH HALVES SNAPPED ARE ZERO. NEITHER AC NOR E ARE AFFECTED.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
|
|
;HENCE, TSNE SHOULD SKIP THE NEXT INSTRUCtION AND
|
|
;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED.
|
|
|
|
C70300: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 4,[76543,,654321] ;PRELOAD E WITH 076543,,654321
|
|
TSNE 3,4 ;*TSNE SHOULD SKIP
|
|
STOP
|
|
CAME 3,[123456,,701234] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 4,[76543,,654321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TSNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN C(E) WITH
|
|
;BOTH HALVES SNAPPED ARE ZERO. NEITHER AC NOR E ARE AFFECTED.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654323
|
|
;HENCE, TSNE SHOULD NOT SKIP THE NEXT INSTRUCTION AND
|
|
;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED.
|
|
|
|
C70310: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 3,[76543,,654323] ;PRELOAD E WITH 076543,,654323
|
|
TSNE 2,3 ;*TSNE SHOULD NOT SKIP
|
|
SKIPA ;PASS IF TSOE DId NOT SKIP
|
|
STOP
|
|
CAME 2,[123456,,701234] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 3,[76543,,654323] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TSNA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;NEITHER AC NOR E ARE AFFECTED.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
|
|
;HENCE, TSNA SHOULD SKIP THE NEXT INSTRUCTION AND
|
|
;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED
|
|
|
|
C70400: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 2,[76543,,654321] ;PRELOAD E WITH 076543,,654321
|
|
TSNA 1,2 ;*TSNA SHOULD SKIP
|
|
STOP
|
|
CAME 1,[123456,,701234] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 2,[76543,,654321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TSNA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;NEITHER AC NOR E ARE EFFECTED.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654323
|
|
;HENCE, TSNA SHOULD SKIP THE NEXT INSTRUCTION AND
|
|
;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED
|
|
|
|
C70410: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 1,[76543,,654323] ;PRELOAD E WITH 076543,,654323
|
|
TSNA 0,1 ;*TSNA SHOULD SKIP
|
|
STOP
|
|
CAME 1,[76543,,654323] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TSNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL HITS IN THE AC CORRESPONDING TO 1'S IN C(E) WITH
|
|
;BOTH HALVES SWAPPED ARE ZERO. NEITHER AC NOR E ARE AFFECTED.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076547,,654321
|
|
;HENCE, TSNN SHOULD SKIP THE NEXT INSTRUCTION AND
|
|
;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED
|
|
|
|
C70500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 0,[76547,,654321] ;PRELOAD E WITH 076547,,654321
|
|
TSNN 17,0 ;*TSNN SHOULD SKIP
|
|
STOP
|
|
CAME 17,[123456,,701234] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 0,[76547,,654321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TSNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN C(E) WITH
|
|
;BOTH HALVES SWAPPED ARE ZERO. NEITHER AC NOR E ARE AFFECTED.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
|
|
;HENCE, TSNN SHOULD NOT SKIP THE NEXT INSTRUCTION AND
|
|
;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED
|
|
|
|
C70510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 17,[76543,,654321] ;PRELOAD E WITH 076543,,654321
|
|
TSNN 16,17 ;*TSNN SHOULD NOT SKIP
|
|
SKIPA ;PASS IF TSNN DID NOT SKIP
|
|
STOP
|
|
CAME 16,[123456,,701234] ;PASS IF C(AC) UNCHANGED
|
|
STOP
|
|
CAME 17,[76543,,654321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TRZ CHANGES ALL BITS IN THE AC-RIGHT WHICH
|
|
;CORRESPOND TO 1'S IN E TO ZERO AND DOES NOT SKIP.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701234
|
|
|
|
C70600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234]
|
|
TRZ 12,3 ;*TRZ SHOULD PLACE 123456,,701234 INTO
|
|
;THE AC AND NOT SKIP
|
|
SKIPA ;PASS IF TRZ DOES NOT SKIP
|
|
STOP
|
|
CAME 15,[123456,,701234] ;PASS IF C(AC)=123456,,701234
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TRZ CHANGES ALL BITS IN THE AC-RIGHT WHICH
|
|
;CORRESPOND TO 1'S IN E TO ZERO AND DOES NOT SKIP.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701034
|
|
|
|
C70610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRZ 14,300 ;*TRZ SHOULD PLACE 123456,,701234 INTO
|
|
;THE ACAND NOT SKIP
|
|
SKIPA ;PASS IF TRX DOES NOT SKIP
|
|
STOP
|
|
CAME 14,[123456,,701034] ;PASS IF C(AC)=123456,,701034
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TLZ CHANGES ALL BITS IN THE AC-LEFT WHICH
|
|
;CORRESPOND TO 1'S IN E TO ZERO AND DOES NOT SKIP.
|
|
;IN THIS CACE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, THE RESULT IN THE AC SHOUL BE 123456,,701234
|
|
|
|
C70700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLZ 13,300 ;*TLZ SHOULD PLACE 123456,,701234 INTO
|
|
;THE AC AND NOT SKIP
|
|
SKIPA ;PASS IF TLZ DOES NOT SKIP
|
|
STOP
|
|
CAME 13,[123456,,701234] ;PASS IF C(AC)=123456,,701234
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TLZ CHANGES ALL BITS IN THE AC-LEFT WHICH
|
|
;CORRSPOND TO 1'S IN E TO ZERO AND DOES NOT SKIP.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 123454,,701234
|
|
|
|
C70710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLZ 12,3 ;*TLZ SHOULD PLACE 123454,,701234 INTO
|
|
;THE AC AND NOT SKIP
|
|
SKIPA ;PASS IF TLZ DOES NOT SKIP
|
|
STOP
|
|
CAME 12,[123454,,701234] ;PASS IF C(AC)=123454,701234
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TRZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3
|
|
;HENCE, TRZE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123456,,701234
|
|
|
|
C71000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRZE 11,3 ;*TRZE SHOULD SKIP AND
|
|
;PLACE 123456,,701234 INTO THE AC
|
|
STOP
|
|
CAME 11,[123456,,701234] ;PASS IF C(AC)=123456,,701234
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TRZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRSPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, TRZE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOUDL BE 123456,,701034
|
|
|
|
C71010: MOVE 10,[123456,,701234] ;PRELOAD AC WIT@ 123456,,701234
|
|
TRZE 10,300 ;*TRZE SHOULD PLACE 123456,,701034 INTO
|
|
;THE AC AND NOT SKIP
|
|
SKIPA ;PASS IF TRZE DOES NOT SKIP
|
|
STOP
|
|
CAME 10,[123456,,701034] ;PASS IF C(AC)=123456,,701034
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TLZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, TLZE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123456,,701234
|
|
|
|
C71100: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLZE 7,300 ;*TLZE SHOULD SKIP AND
|
|
;PLACE 123456,,701234 INTO THE AC
|
|
STOP
|
|
CAME 7,[123456,,701234] ;PASS IF C(AC)=123456,,701234
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TLZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3
|
|
;HENCE, TLZE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123454,,701234
|
|
|
|
C71110: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLZE 6,3 ;*TLZE SHOULD PLACE 123454,,701234 INTO
|
|
;THE AC AND NOT SKIP
|
|
SKIPA ;PASS IF TLZE DOES NOT SKIP
|
|
STOP
|
|
CAME 6,[123454,,701234] ;PASS IF C(AC)=123454,,701234
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TRZA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND CHANGES ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E TO ZERO.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
|
|
;HENCE, TRZA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
|
|
;THE AC SHOULD BE 123456,,701234
|
|
|
|
C71200: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRZA 5,3 ;*TRZA SHOULD SKIP AND
|
|
;PLACE 123456,,701234 INTO THE AC
|
|
STOP
|
|
CAME 5,[123456,,701234] ;PASS IF C(AC)=123456,,701234
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TRZA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND CHANGES ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E TO ZERO.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
|
|
;HENCE, TRZA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
|
|
;THE AC SHOULD BE 123456,,701234.
|
|
|
|
C71210: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRZA 4,300 ;*TRZA SHOULD SKIP AND
|
|
;PLACE 123456,,701034 INTO THE AC
|
|
STOP
|
|
CAME 4,[123456,,701034] ;PASS IF C(AC)=123456,,701034
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TLZA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRQCTION
|
|
;AND CHANGES ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E TO ZERO.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
|
|
;HENCE, TLZA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
|
|
;THE AC SHOULD BE 123454,,701234.
|
|
|
|
C71300: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLZA 3,3 ;*TLZA SHOULD SKIP AND
|
|
;PLACE 123454,,701234 INTO THE AC
|
|
STOP
|
|
CAME 3,[123454,,701234] ;PASS IF C(AC)=123454,,701234
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TLZA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND CHANGES ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E TO ZERO.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
|
|
;HENCE, TLZA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
|
|
;THE AC SHOULD BE 123456,,701234.
|
|
|
|
C71310: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLZA 2,300 ;*TLZA SHOULD SKIP AND
|
|
;PLACE 123456,,701234 INTO THE AC
|
|
STOP
|
|
CAME 2,[123456,,701234] ;PASS IF C(AC)=123456,,701234
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TRZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
|
|
;HENCE, TRZN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123456,,701034.
|
|
|
|
C71400: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRZN 1,300 ;*TRZN SHOULD SKIP AND
|
|
;PLACE 123456,,701034 INTO THE AC
|
|
STOP
|
|
CAME 1,[123456,,701034] ;PASS IF C(AC)=123456,,701034
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TRZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
|
|
;HENCE, TRZN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123456,,701234.
|
|
|
|
C71410: MOVE 0,[123456,,701234] ;PRELOAD AC WATH 123456,,701234
|
|
TRZN 0,3 ;*TRZN SHOULD PLACE 123456,,701234 INTO
|
|
;THE AC AND NOT SKIP
|
|
SKIPA ;PASS IF TRZN DOES NOT SKIP
|
|
STOP
|
|
CAME 0,[123456,,701234] ;PASS IF C(AC)=123456,,701234
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TLZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
|
|
;HENCE, TLZN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123454,,701234.
|
|
|
|
C71500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLZN 17,3 ;TLZN SHOULD SKIP AND
|
|
;PLACE 123454,,701234 INTO THE AC
|
|
STOP
|
|
CAME 17,[123454,,701234] ;PASS IF C(AC)=123454,,701234
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TLZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BIPS ARE THEN CHANGED TO ZEROS.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
|
|
;HENCE, TLZN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123456,,701234.
|
|
|
|
C71510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLZN 16,300 ;*TLZN SHOULD PLACE 123456,,701234 INTO
|
|
;THE AC AND NOT SKIP
|
|
SKIPA ;PASS IF TLZN DOES NOT SKIP
|
|
STOP
|
|
CAME 16,[123456,,701234] ;PASS IF C(AC)=123456,,701234
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TSZ CLEARS ALL BITS OF THE AC WHICH
|
|
;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND DOES
|
|
;NOT SKIP THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321.
|
|
;HENCE, TSZ SHOULD NOT SKIP AND C(AC) SHOULD BE 123456,,701234.
|
|
|
|
C71600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 16,[076543,,654321] ;PRELOAD E WITH 076543,,654321
|
|
TSZ 15,16 ;*TSZ SHOULD NOT SKIP AND
|
|
;PLACE 123456,,701234 INTO THE AC
|
|
SKIPA ;PASS IF TSZ DID NOT SKIP
|
|
STOP
|
|
CAME 15,[123456,,701234] ;PASS IF C(AC)=123456,,701234
|
|
STOP
|
|
CAME 16,[76543,,654321] ;PASS IF C(E) UNCHANCED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TSZ CLEARS ALL BITS OF THE AC WHICH
|
|
;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND DOES
|
|
;NOT SKIP THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070.
|
|
;HENCE, TSZ SHOULD NOT SKIP AND C(AC) SHOULD BE 020406,,501210.
|
|
|
|
C71610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 15,[252525,,707070] ;PRELOAD E WITH 252525,,707070
|
|
TSZ 14,15 ;*TSZ SHOULD NOT SKIP AND
|
|
;PLACE 020406,,501210 INTO THE AC
|
|
SKIPA ;PASS IF TSZ DID NOT SKIP
|
|
STOP
|
|
CAME 14,[020406,,501210] ;PASS IF C(AC)=020406,,501210
|
|
STOP
|
|
CAME 15,[252525,,707070] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TDZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E).
|
|
;AC BITS ARE THEN CHANGED TO ZERO.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543.
|
|
;HENCE, TDZE SHOULD SKIP AND THE RESULT IN THE AC
|
|
;SHOULD BE 123456,,701234. C(E) IS NOT AFFECTED.
|
|
|
|
C71700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 14,[654321,,076543] ;PRELOAD E WITH 654321,,076543
|
|
TDZE 13,14 ;*TDZE SHOULD SKIP AND
|
|
;PLACE 123456,,701234 INTO THE AC
|
|
STOP
|
|
CAME 13,[123456,,701234] ;PASS IF C(AC)=123456,,701234]
|
|
STOP
|
|
CAME 14,[654321,,076543] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TDZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN CHANGED TO ZERO.
|
|
;IN THIS CASE, C(AC)= 123456,,701234 AND C(E)= 754321,,076543
|
|
;HENCE, TDZE SHOULD NOT SKIP AND THE RESULT IN AC
|
|
;SHOULD BE 023456,,701234 C(E) IS NOT AFFECTED
|
|
|
|
C71710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 13,[754321,,076543] ;PRELOAD E WITH 754321,,076543
|
|
TDZE 12,13 ;*TDZE SHOULD NOT SKIP AND
|
|
;PLACE 023456,,701234 INTO THE AC
|
|
SKIPA ;PASS IF TDZE DOES NOT SKIP
|
|
STOP
|
|
CAME 12,[023456,,701234] ;PASS IF C(AC)= 023456,,701234
|
|
STOP
|
|
CAME 13,[754321,,076543] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TSZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN THE AC CORRECPONDING TO 1'S IN
|
|
;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN CHANGED TO ZERO.
|
|
;IN THIS CASE, C(AC)= 123456,,701234 AND C(E)= 076543,,654321
|
|
;HENCE, TSZE SHOULD SKIP AND THE RESULT IN AC
|
|
;SHOULD BE 123456,,701234 C(E) IS NOT AFFECTED
|
|
|
|
C72000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 12,[076543,,654321] ;PRELOAD E WITH 076543,,654321
|
|
TSZE 11,12 ;*TSZE SHOULD SKIP AND
|
|
;PLACE 123456,,701234 INTO THE AC
|
|
STOP
|
|
CAME 11,[123456,,701234] ;PASS IF C(AC)= 123456,,701234
|
|
STOP
|
|
CAME 12,[76543,,654321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TSZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C (E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN CHANGED TO ZERO
|
|
;IN THIS CASE, C(AC)= 123456,,701234 AND C(E)= 076543,,657321
|
|
;HENCE, TSZE SHOULD NOT SKIP AND THE RESULT IN AC
|
|
;SHOULD BE 120456,,701234 C(E) IS NOT AFFECTED
|
|
|
|
C72010: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 11,[76543,,657321] ;PRELOAD E WITH 076543,,654321
|
|
TSZE 10,11 ;*TSZE SHOULD NOT SKIP AND
|
|
;PLACE 120456,,701234 INTO THE AC
|
|
SKIPA ;PASS IF TSZE DID NOT SKIP
|
|
STOP
|
|
CAME 10,[120456,,701234] ;PASS IF C(AC)= 120456,,701234
|
|
STOP
|
|
CAME 11,[76543,,657321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TDZA CLEARS ALL BITS OF THE AC WHICH
|
|
;CORRESPOND TO 1'S IN C(E) AND ALWAYS
|
|
;SKIPS THE NEXT INSTRUCTION C(E) IS NOT AFFECTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)= 654321,,076543
|
|
;HENCE, TD2A SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 123456,,701234
|
|
|
|
C72100: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 10,[654321,,076543] ;PRELOAD E WITH 654321,,076543
|
|
TDZA 7,10 ;*TDZA SHOULD SKIP AND
|
|
;PLACE 123456,,701234 INTO THE AC
|
|
STOP
|
|
CAME 7,[123456,,701234] ;PASS IF C(AC)= 123456,,701234
|
|
STOP
|
|
CAME 10,[654321,,076543] ;PASS IF C(AC)=123456,,701234
|
|
STOP
|
|
CAME 10,[654321,,076543] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TDZA CLEARS ALL BITS OF THE AC WHICH
|
|
;CORRESPOND TO 1'S IN C(E) AND ALWAYS
|
|
;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070
|
|
;HENCE, TDZA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 121052,,000204
|
|
|
|
C72110: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 7,[252525,,707070] ;PRELOAD E WITH 252525,,707070
|
|
TDZA 6,7 ;*TDZA SHOULD SKIP AND
|
|
;PLACE 121052,,000204 INTO THE AC
|
|
STOP
|
|
CAME 6,[121052,,000204] ;PASS IF C(AC)=121052,,000204
|
|
STOP
|
|
CAME 7,[252525,,707070] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES TH`T TSZA CLEARS AHL BITS OF THE AC WHICH
|
|
;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
|
|
;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
|
|
;HENCE, TSZA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 123456,,701234
|
|
|
|
C72200: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 6,[076543,,654321] ;PRELOAD E WITH 076543,,654321
|
|
TSZA 5,6 ;*TSZA SHOULD SKIP AND
|
|
;PLACE 123456,,701234 INTO THE AC
|
|
STOP
|
|
CAME 5,[123456,,701234] ;PASS IF C(AC)=123456,,701234
|
|
STOP
|
|
CAME 6,[076543,,654321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TSZA CLEARS ALL BITS OF THE AC WHICH
|
|
;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
|
|
;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=701234,,123456
|
|
;HENCE, TSZA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 0
|
|
|
|
C72210: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 5,[701234,,123456] ;PRELOAD E WITH 701234,,123456
|
|
TSZA 4,5 ;*TSZA SHOULD SKIP AND
|
|
;PLACE 0 INTO THE AC
|
|
STOP
|
|
CAME 4,[0] ;PASS IF C(AC)=0
|
|
STOP
|
|
CAME 5,[701234,,123456] ;PASS IF C(E) UNCHANGED
|
|
SToP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TDZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN CHANGEDTO ZERO.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076547
|
|
;HENCE, TDZN SHOULD SKIP AND THE RESULT IN THE AC
|
|
;SHOULD BE 123456(,701230. C(E) IS NOT AFFECTED.
|
|
|
|
C72300: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 4,[654321,,76547] ;PRELOAD E WITH 654321,,076547
|
|
TDZN 3,4 ;*TDZN SHoULD SKIP AND
|
|
;PLACE 123456,,701230 INTO THE AC
|
|
STOP
|
|
CAME 3,[123456,,701230] ;PASS IF C(AC)=123456,,701230
|
|
STOP
|
|
CAME 4,[654321,,076547] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TDZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN CHANGED TO ZERO.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
|
|
;HENCE, TDZN SHOULD NOT SKIP AND THE RESULT IN THE AC
|
|
;SHOULD BE 123456,,701234. C(E) IS NOT AFFECTED.
|
|
|
|
C72310: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 3,[654321,,076543] ;PRELOAD E WITH 654321,,076543
|
|
TDZN 2,3 ;*TDZN SHOULD NOT SKIP AND
|
|
;PLACE 123456,,701234 INTO THE AC
|
|
SKIPA ;PASS IF TDZN DOES NOT SKIP
|
|
STOP
|
|
CAME 2,[123456,,701234] ;PASS IF C(AC)=123456,,701234
|
|
STOP
|
|
CAME 3,[654321,,076543] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THaT TSZN SKIPS THE NEXT SEQQENPIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN CHANGED TO ZERO.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=077543,,654321.
|
|
;HENCE, TSZN SHOULD SKIP AND THE RESULT IN THE AC
|
|
;SHOULD BE 123456,,700234. C(E) IS NOT AFFECTED.
|
|
|
|
C72400: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 2,[077543,,654321] ;PRELOAD E WITH 077543,,654321
|
|
TSZN 1,2 ;*TSZN SHOULD SKIP AND
|
|
;PLACE 123456,,700234 INTO THE AC
|
|
STOP
|
|
CAME 1,[123456,,700234] ;PASS IF C(AC)=123456,,700234
|
|
STOP
|
|
CAME 2,[77543,,654321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TSZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN CHANGED TO ZERO.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321.-
|
|
;HENCE, TSZN SHOULD NOT SKIP AND THE RESULT IN THE AC
|
|
;SHOULD BE 123456,,701234. C(E) IS NOT AFFECTED.
|
|
|
|
C72410: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 1,[76543,,654321] ;PRElOAD E WITH 076543,,654321
|
|
TSZN 0,1 ;*TSZN SHOULD NOT SKIP AND
|
|
;PLACE 123456,,701234 INTO THE AC
|
|
SKIPA ;PASS IF TSZN DOES NOT SKIP
|
|
STOP
|
|
CAME 0,[123456,,701234] ;PASS IF C(AC)=123456,,701234]
|
|
STOP
|
|
CAME 1,[76543,,654321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TRC COMPLEMENTS ALL BITS IN THE AC-RIGHT WHICH
|
|
;CORRESPOND TO 1'S IN E AND DOES NOT SKIP.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
|
|
;HENCE, THE RESULT IN THE AC SHOUHD BE 123456,,701237
|
|
|
|
C72500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRC 17,3 ;*TRC SHOULD NOT SKIP AND
|
|
;PLACE 123456,,701237 INTO THE AC
|
|
SKIPA ;PASS IF TRC DID NOT SKIP
|
|
STOP
|
|
CAME 17,[123456,,701237] ;PASS IF C(AC)=123456,,701237
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TRC COMPLEMENTS ALL BITS IN THE AC-RIGHT WHICH
|
|
;CORRESPOND TO 1'S IN E AND DOES NOT SKIP.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701134
|
|
|
|
C72510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRC 16,300 ;*TRC SHOULD NOT SKIP AND
|
|
;PLACE 123456,,701134 INTO THE AC
|
|
SKIPA ;PASS IF TRC DID NOT SKIP
|
|
STOP
|
|
CAME 16,[123456,,701134] ;PASS IF C(AC)=123456,,701134
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TLC COMPLEMENTS ALL BITS IN THE AC-LEFT WHICH
|
|
;CORRESPOND TO 1'S IN E AND DOES NOT SKIP.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
|
|
;HENCE, ThE RESULT IN THE AC SHOULD BE 123756,,701234.
|
|
|
|
C72600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLC 15,300 ;*TLC SHOULD NOT SKIP AND
|
|
;PLACE 123756,,701234 INTO THE AC
|
|
SKIPA ;PASS IF TLC DID NOT SKIP
|
|
STOP
|
|
CAME 15,[123756,,701234] ;PASS IF A(AC)=123756,,701234
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TLC COMPLEMENTS ALL BITS IN THE AC-LEFT WHICH
|
|
;CORRESPOND TO 1'S IN E AND DOES NOT SKIP.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 123455,,701234.
|
|
|
|
C72610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLC 14,3 ;*TLC SHOULD NOT SKIP AND
|
|
;PLACE 123455,,701234 INTO THE AC
|
|
SKIPA ;PASS IF TLC DID NOT SKIP
|
|
STOP
|
|
CAME 14,[123455,,701234] ;PASS IF C(AC)=123455,,701234
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TRCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN COMPLEMENTED.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
|
|
;HENCE, TRCE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123456,,701237.
|
|
|
|
C72700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRCE 13,3 ;*TRCE SHOULD SKIP AND
|
|
;PLACE 123456,,701237 INTO ThE AC
|
|
STOP
|
|
CAME 13,[123456,,701237] ;PASS IF C(AC)=123456,,701237
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TRCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN COMPLEMENTED.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
|
|
;HENCE, TRCE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123456,,701134
|
|
|
|
C72710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRCE 12,300 ;*TRCE SHOULD NOT SKIP AND
|
|
;PLACE 123456,,701134 INTO THE AC
|
|
SKIPA ;PASS IF TRCE DID NOT SKIP
|
|
STOP
|
|
CAME 12,[123456,,701134] ;PASS IF C(AC)=123456,,701134
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TLCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN COMPLEMENTED.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
|
|
;HENCE, TLCE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123756,,701234.
|
|
|
|
C73000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLCE 11,300 ;*TLCE SHOULD SKIP AND
|
|
;PLACE 123756,,701234 INTO THE AC
|
|
STOP
|
|
CAME 11,[123756,,701234] ;PASS IF C(AC)=123756,,701234
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TLCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN COMPLEMENTED.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
|
|
;HENCE, TLCE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123455,,701234.
|
|
|
|
C73010: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLCE 10,3 ;*TLCE SHOULD NOT SKIP AND
|
|
;PLACE 123455,,701234 INTO THE AC
|
|
SKIPA ;PASS IF TLCE DID NOT SKIP
|
|
STOP
|
|
CAME 10,[123455,,701234] ;PASS IF C(AC)=123455,,701234]
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TRCA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND COMPLEMENTS ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
|
|
;HENCE, TRCA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
|
|
;THE AC SHOULD BE 123456,,701237.
|
|
|
|
C73100: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRCA 7,3 ;*TRCA SHOULD SKIP AND
|
|
;PLACE 123456,,701237 INTO THE AC
|
|
STOP
|
|
CAME 7,[123456,,701237] ;PASS IF C(AC)=123456,,701237
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TRCA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND COMPLEMENTS ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, TRCA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
|
|
;THE AC SHOULD BE 123456,,701134
|
|
|
|
C73110: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRCA 6,300 ;*TRCA SHOULD SKIP AND
|
|
;PLACE 123456,,701134 INTO THE AC
|
|
STOP
|
|
CAME 6,[123456,,701134] ;PASS IF C(AC)=123456,,701134
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TLCA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND COMPLEMENTS ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3
|
|
;HENCE, TLCA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
|
|
;THE AC SHOULD 123456,,701234
|
|
|
|
C73200: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLCA 5,3 ;*TLCA SHOULD SKIP AND
|
|
;PLACE 12345,,701234 INTO THE AC
|
|
STOP
|
|
CAME 5,[123455,,701234] ;PASS IF C(AC)=123455,,701234
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TLCA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND COMPLEMENTS ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, TLCA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
|
|
;THE AC SHOULD BE 123756,,701234
|
|
|
|
C73210: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLCA 4,300 ;*TLCA SHOULD SKIP AND
|
|
;PLACE 123756,,701234 INTO THE AC
|
|
STOP
|
|
CAME 4,[123756,,701234] ;PASS IF C(AC)=123756,,701234
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TRCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN COMPLEMENTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, TRCN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND RESULT IN THE AC SHOULD BE 123456,,701134
|
|
|
|
C73300: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRCN 3,300 ;*SHOULD SKIP AND
|
|
;PLACE 123456,,701134 INTO THE AC
|
|
STOP
|
|
CAME 3,[123456,,701134] ;PASS IF C(AC)=123456,,701134
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TRCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN COMPLEMENTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3
|
|
;HENCE, TRCN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123456,,701237
|
|
|
|
C73310: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRCN 2,3 ;*TRCN SHOULD NOT SKIP AND
|
|
;PLACE 123456,,701237 INTO THE AC
|
|
SKIPA ;PASS IF TRCN DID NOT SKIP
|
|
STOP
|
|
CAME 2,[123456,,701237] ;PASS IF C(AC)=123456,,701237
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TLCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN COMPLEMENTED
|
|
;IN THE CASE, C(AC)=123456,,701234 AND E=3
|
|
;HENCE, TLCN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123456,,701234
|
|
|
|
C73400: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLCN 1,3 ;*TLCN SHOULD SKIP AND
|
|
;PLACE 123455,701234 INTO THE AC
|
|
STOP
|
|
CAME 1,[123455,,701234] ;PASS IF C(AC)=123455,,701234
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TLCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZER.
|
|
;THESE MASKED AC BITS ARE THEN COMPLEMENTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, TLCN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123756,,701234
|
|
|
|
C73410: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLCN 0,300 ;*TLCN SHOULD NOT SKIP AND
|
|
;PLACE 123756,,701234 INTO THE AC
|
|
SKIPA ;PASS IF TLCN DID NOT SKIP
|
|
STOP
|
|
CAME 0,[123756,,701234] ;PASS IF C(AC)=123756,,701234
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TSL COMPLEMENTS ALL BITS OF THE AC WHICH
|
|
;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND DOES
|
|
;NOT SKIP THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)6543,,654321
|
|
;HENCE, TSC SHOULD NOT SKIP AND C(AC) SHOULD BE -1,,-1
|
|
|
|
C73500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 0,[076543,,654321] ;PRELOAD E WITH 076543,,654321
|
|
TSC 17,0 ;*TSC SHOULD NOT SKIP AND
|
|
;PLACE -1,,-1 INTO THE AC
|
|
SKIPA ;PASS IF TSC DOES NOT SKIP
|
|
STOP
|
|
CAME 17,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
CAME 0,[076543,,654321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TSC COMPLEMENTS ALL BITS OF THE AC WHICH
|
|
;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND DOES
|
|
;NOT SKIP THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070
|
|
;HENCE, TSC SHOULD NOT SKIP AND C(AC) SHOULD BE 624426,,553711
|
|
|
|
C73510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 17,[252525,,707070] ;PRELOAD E WITH 252525,,707070
|
|
TSC 16,17 ;*TSC SHOULD NOT SKIP AND
|
|
;PLACE 624426,,553711 INTO THE AC
|
|
SKIPA ;PASS IF TSC DOES NOT SKIP
|
|
STOP
|
|
CAME 16,[624426,,553711] ;PASS IF C(AC)=624426,,553711
|
|
STOP
|
|
CAME 17,[252525,,707070] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TDCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN COMPLEMENTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
|
|
;HENCE, TDCE SHOULD SKIP AND THE RESULT IN AC
|
|
;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
|
|
|
|
C73600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 16,[654321,,076543] ;PRELOAD E WITH 654321,,076543
|
|
TDCE 15,16 ;*TDCE SHOULD SKIP AND
|
|
;PLACE -1,,-1 INTO THE AC
|
|
STOP
|
|
CAME 15,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
CAME 16,[654321,,076543] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TDCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN COMPLEMENTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E) 754321,,076543
|
|
;HENCE, TDCE SHOULD NOT SKIP AND THE RESULT IN AC
|
|
;SHOULD BE 677777,,-1 C(E) IS NOT AFFECTED.
|
|
|
|
C73610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 15,[754321,,076543] ;PRELOAD E WITH 754321,,076543
|
|
TDCE 14,15 ;*TDCE SHOULD NOT SKIP AND
|
|
;PLACE 677777,,-1 INTO THE AC
|
|
SKIPA ;PASS IF TDCE DOES NOT SKIP
|
|
STOP
|
|
CAME 14,[677777,,-1] ;PASS IF C(AC)=677777,,-1
|
|
STOP
|
|
CAME 15,[754321,,076543] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TSCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN COMPLEMENTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
|
|
;HENCE, TSCE SHOULD SKIP AND THE RESULT IN THE AC
|
|
;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
|
|
|
|
C73700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 14,[76543,,654321] ;PRELOAD E WITH 076543,,654321
|
|
TSCE 13,14 ;*TSCE SHOULD SKIP AND
|
|
;PLACE -1,,-1 INTO THE AC
|
|
STOP
|
|
CAME 13,[-1] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TSCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN COMPLEMENTED
|
|
;IN THIS CASE, C(AC)=123456,701234 AND C(E)=076543,,657321
|
|
;HENCE, TSCE SHOULD NOT SKIP AND THE RESULT IN THE AC
|
|
;SHOULD BE 774777,,-1. C(E) IS NOT AFFECTED.
|
|
|
|
C73710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 13,[76543,,657321] ;PRELOAD E WITH 076543,,657321
|
|
TSCE 12,13 ;*TSCE HOULD NOT SKIP AND
|
|
;PLACE 774777,,-1 INTO THE AC
|
|
SKIPA ;PASS IF TSCE DOES NOT SKIP
|
|
STOP
|
|
CAME 12,[774777,,-1] ;PASS IF C(AC)=774777,,-1
|
|
STOP
|
|
CAME 13,[76543,,657321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TDCA COMPLEMENTS ALL BITS OF THE AC WHICH
|
|
;CORRESPOND TO 1'S IN C(E) AND ALWAYS
|
|
;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
|
|
;HENCE, TDCA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE -1,,-1
|
|
|
|
C74000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 12,[654321,,076543] ;PRELOAD E WITH 654321,,076543
|
|
TDCA 11,12 ;*TDCA SHOULD SKIP AND
|
|
;PLACE -1,,-1 INTO THE AC
|
|
STOP
|
|
CAME 11,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
CAME 12,[654321,,76543] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TDCA COMPLEMENTS ALL BITS OF THE AC WHICH
|
|
;CORRESPOND TO 1'S IN C(E) AND SLWAYS
|
|
;SKIPS THE NEXT INSTRUCTION C(E) IS NOT AFFECTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070
|
|
;HENCE, TDCA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 371173,,006244
|
|
|
|
C74100: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 11,[252525,,707070] ;PRELOAD E WITH 252525,,707070
|
|
TDCA 10,11 ;*TDCA SHOULD SKP AND
|
|
;PLACE 371173,,006244 INTO THE AC
|
|
STOP
|
|
CAME 10,[371173,,6244] ;PASS IF C(AC)=371173,,006244
|
|
STOP
|
|
CAME 11,[252525,,707070] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TSCA COMPLEMENTS ALL BITS OF THE AC WHICH
|
|
;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
|
|
;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
|
|
;HENCE, TSCA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE -1,,-1
|
|
|
|
C74200: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 10,[076543,,654321] ;PRELOAD E WITH 076543,,654321
|
|
TSCA 7,10 ;*TSCA CHOULD SKIP AND
|
|
;PLACE -1,,-1 INTO THE AC
|
|
STOP
|
|
CAME 7,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
CAME 10,[076543,,654321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TSCA COMPLEMENTS ALL BITS OF THE AC WHICH
|
|
;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
|
|
;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=701234,,123456
|
|
;HENCE, TSCA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 0
|
|
|
|
C74210: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 7,[701234,,123456] ;PRELOAD E WITH 701234,,123456
|
|
TSCA 6,7 ;*TSCA SHOULD SKIP AND
|
|
;PLACE 0 INTO THE AC
|
|
STOP
|
|
CAME 6,[0] ;PASS IF C(AC)=0
|
|
STOP
|
|
CAME 7,[701234,,123456] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TDCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN COMPLEMENTED
|
|
;IN THE CASE, C(AC)=123456,,701234 AND C(E)=654321,,076547
|
|
;HENCE, TDCN SHOULD SKIP AND THE RESULT IN AC
|
|
;SHOULD BE -1,,777773 C(E) IS NOT AFFECTED
|
|
|
|
C74300: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 6,[654321,,76547] ;PRELOAD E WITH 654321,,076547
|
|
TDCN 5,6 ;*TDCN SHOULD SKIP AND
|
|
;PLACE -1,,777773 INTO THE AC
|
|
STOP
|
|
CAME 5,[-1,,777773] ;PASS IF C(AC)=-1,777773
|
|
STOP
|
|
CAME 6,[654321,,76547] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TDCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN COMPLEMENTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
|
|
;HENCE, TDCN SHOULD NOT SKIP AND THE REUSLT IN AC
|
|
;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
|
|
|
|
C74310: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 5,[654321,,76543] ;PRELOAD E WITH 654321,,076543
|
|
TDCN 4,5 ;*TDCN SHOULD NOT SKIP AND
|
|
;PLACE -1,,-1 INTO THE AC
|
|
SKIPA ;PASS IF TDCN DOES NOT SKIP
|
|
STOP
|
|
CAME 4,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
CAME 5,[654321,,76543] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TSCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN COMPLEMENTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=077543,,654321
|
|
;HENCE, TSCN SHOULD SKIP AND THE RESULT IN AC
|
|
;SHOULD BE -1,,776777. C(E) IS NOT AFFECTED
|
|
|
|
C74400: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 4,[77543,,654321] ;PRELOAD E WITH 077543,,654321
|
|
TSCN 3,4 ;*TSCN SHOULD SKIP AND
|
|
;PLACE -1,,776777 INTO THE AC
|
|
STOP
|
|
CAME 3,[-1,,776777] ;PASS IF C(AC)=-1,776777
|
|
STOP
|
|
CAME 4,[77543,,654321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TSCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN COMPLEMENTD
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
|
|
;HENCE, TSCN SHOULD NOT SKIP AND THE RESULT IN AC
|
|
;SHOULD BE -1,,-1. C(E) IS NOT AFFECTED.
|
|
|
|
C74410: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 3,[76543,,654321] ;PRELOAD E WITH 076543,,654321
|
|
TSCN 2,3 ;*TSCN SHOULD NOT SKIP AND
|
|
;PLACE -1,,-1 INTO THE AC
|
|
SKIPA ;PASS IF TSCN DOES NOT SKIP
|
|
STOP
|
|
CAME 2,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
CAME 3,[76543,,654321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TRO CHANGES ALL BITS IN THE AC-RIGHT WHICH
|
|
;CORRESPOND TO 1'S IN E TO ONES AND DOES ANT SKIP
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701237
|
|
|
|
C74500: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRO 1,3 ;*TRO SHOULD NOT SKIP AND
|
|
;PLACE 123456,,701237 INTO THE AC
|
|
SKIPA ;PASS IF TRO DID NOT SKIP
|
|
STOP
|
|
CAME 1,[123456,,701237] ;PASS IF C(AC)=123456,,701237
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TRO CHANGES ALL BITS IN THE AC-RIGHT WHICH
|
|
;CORRESPOND TO 1'S IN E TO ONES AND DOES NOT SKIP
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701224
|
|
|
|
C74510: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRO 0,300 ;*TRO SHOULD NOT SKIP AND
|
|
;PLACE 123456,,701334 INTO THE AC
|
|
SKIPA ;PASS IF TRO DID NOT SKIP
|
|
STOP
|
|
CAME 0,[123456,,701334] ;PASS IF C(AC)=123456,,701334
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TLO CHANGES ALL BITS IN THE AC-LEFT WHICH
|
|
;CORRESPOND TO 1'S IN E TO ONES AND DOES NOT SKIP
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 123756,,701234
|
|
|
|
C74600: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLO 17,300 ;*TLO SHOULD NOT SKIP AND
|
|
;PLACE 123756,,701234 INTO THE AC
|
|
SKIPA ;PASS IF TLO DID NOT SKIP
|
|
STOP
|
|
CAME 17,[123756,,701234] ;PASS IF C(AC)=123456,,701234
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TLO CHANGES ALL BITS IN THE AC-LEFT WHICH
|
|
;CORRESPOND TO 1'S IN E TO ONES AND DOES NOT SKIP
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3
|
|
;HENCE, THE RESULT IN THE AC SHOULD BE 123457,,701234
|
|
|
|
C74610: MOVE 16,[123456,,70234] ;PRELOAD AC WITH 123456,,701234
|
|
TLO 16,3 ;*TLO SHOULD NOT SKIP AND
|
|
;PLACE 123457,,701234 INTO THE AC
|
|
SKIPA ;PASS IF DID NOT SKIP
|
|
STOP
|
|
CAME 16,[123457,,70234] ;PASS IF C(AC)=123457,,701234
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TROE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3
|
|
;HENCE, TROE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND RESULT IN THE AC SHOUD BE 123456,,701237
|
|
|
|
C74700: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TROE 15,3 ;TROE SHOULD SKIP AND
|
|
;PLACE 123456,,701237 IN TO THE AC
|
|
STOP
|
|
CAME 15,[123456,,701237] ;PASS IF C(AC)=123456,,701237
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TROE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, TROE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123456,,701334
|
|
|
|
C74710: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TROE 14,300 ;*TROE SHOULD NOT SKIP AND
|
|
;PLACE 123456,,701224 INTO THE AC
|
|
SKIPA ;PASS IF DID NOT SKIP
|
|
STOP
|
|
CAME 14,[123456,,701334] ;PASS IF C(AC)=123456,,701334
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TLOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE TEN CHANGED TO ONES
|
|
;IN THES CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, TLOE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123756,,701234
|
|
|
|
C75000: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLOE 13,300 ;*TLOE SOULD SKIP AND
|
|
;PLAND 123756,,701234 INTO THE AC
|
|
STOP
|
|
CAME 13,[123756,,701234] ;PASS IF C(AC)=123456,,701234
|
|
STOP
|
|
|
|
;********
|
|
|
|
;THIS TEST VERIFIES THAT TLOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3
|
|
;HENCE, TLOE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123457,,701234
|
|
|
|
C75010: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLOE 12,3 ;*TLOE SHOULD NOT SKIP AND
|
|
;PLACE 123457,,701234 INTO THE AC
|
|
SKIPA ;PASS IF TLOE DID NOT SKIP
|
|
STOP
|
|
CAME 12,[123457,,701234] ;PASS IF C(AC)=123457,,701234
|
|
STOP
|
|
|
|
;*******
|
|
;THIS TEST VERIFIES THAT TROA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTUCTION
|
|
;AND CHANGES ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E TO ONES
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3
|
|
;HENCE, TROA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
|
|
;THE AC SHOULD BE 123456,,701237
|
|
|
|
C75100: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TROA 11,3 ;*TROA SHOULD SKIP AND
|
|
;PLACE 123456,,701237
|
|
STOP
|
|
CAME 11,[123456,,701237] ;PASS IF C(AC)=123456,,701237
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TROA ALWAYS SKIPS THE NEXT SEQUENTAIL INSTRUCTION
|
|
;AND CHANGES ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E TO ONES
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, TROA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
|
|
;THE AC SHOULD BE 123456,,701334
|
|
|
|
C75110: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TROA 10,300 ;*TROA SHOULD SKIP AND
|
|
;PLACE 123456,,701334 INTO THE AC
|
|
STOP
|
|
CAME 10,[123456,,701334] ;PASS IF C (AC)=123456,,701334
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TLOA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTUCTION
|
|
;AND CHANGES ALL BITS IN AC-LEFT WHICH CORRESPOND 1'S IN E TO ONES
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3
|
|
;HENCE, TLOA SHOULD SKIP THE NEXT INSTRUCTION AND RESULT IN
|
|
;THE AC SHOULD BE 123457,,701234
|
|
|
|
C75200: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLOA 7,3 ;*TLOA SHOULD SKIP AND
|
|
;PLACE 123457,,701234 INTO THE AC
|
|
STOP
|
|
CAME 7,[123457,,701234] ;PASS IF C(AC)=123457,,701234]
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TLOA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND CHANGES ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E TO ONES
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, TLOA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
|
|
;THE AC SHOULD BE 123756,,701234
|
|
|
|
C75210: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLOA 6,300 ;*TLOA SHOULD SKIP AND
|
|
;PLACE 123756,,701234 INTO THE AC
|
|
STOP
|
|
CAME 6,[123756,,701234] ;PASS IF C(AC)=123756,,701234
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TRON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, TRON SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123456,,701334
|
|
|
|
C75300: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRON 5,300 ;*TRON SHOULD SKIP AND
|
|
;PLACE 123456,,701334 INTO THE AC
|
|
STOP
|
|
CAME 5,[123456,,701334] ;PASS IF C(AC)=123456,,701334
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TRON SKIPS THE NEXT SEQUENTIAL INSTUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=3
|
|
;HENCE, TRON SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123456,,701237
|
|
|
|
C75310: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TRON 4,3 ;*TRON SHOULD NOT SKIP AND
|
|
;PLACE 123456,,701237 INTO THE AC
|
|
SKIPA ;PASS IF TRON DID NOT SKIP
|
|
STOP
|
|
CAME 4,[123456,,701237] ;PASS IF C(AC)=123456,701237
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TLON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
|
|
;IN THIS CASE, C(AC)-123456,,701234 AND E=3
|
|
;HENCE, TLON SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123457,,701234
|
|
|
|
C75400: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLON 3,3 ;*TLON SHOULD SKIP AND
|
|
;PLACE 123457,,701234 INTO THE AC
|
|
STOP
|
|
CAME 3,[123457,,701234] ;PASS IF C(AC)=123457,,701234
|
|
STOP
|
|
|
|
;*******
|
|
|
|
;THIS TEST VERIFIES THAT TLON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
|
|
;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND E=300
|
|
;HENCE, TLON SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
|
|
;AND THE RESULT IN THE AC SHOULD BE 123756,,701234
|
|
|
|
C75410: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
TLON 2,300 ;*TLON SHOULD NOT SKIP AND
|
|
;PLACE 123756,,701234 INTO THE AC
|
|
SKIPA ;PASS IF TLON DID NOT SKIP
|
|
STOP
|
|
CAME 2,[123756,,701234] ;PASS IF C(AC)=123756,,701234
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TDOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E)ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN CHANGED TO ONES
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
|
|
;HENCE, TDOE SHOULD SKIP AND THE RESULT IN AC
|
|
;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
|
|
|
|
C75500: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 2,[654321,,076543] ;PRELOAD E WITH 654321,,076543
|
|
TDOE 1,2 ;*TDOE SHOULD SKIP AND
|
|
;PLACE -1,,-1 INTO THE AC
|
|
STOP
|
|
CAME 1,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
CAME 2,[654321,,76543] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TDOE SKIPS THE NEXT SEQUENTAIL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN CHANGED TO ONES
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=754321,,076543
|
|
;HENCE, TDOE SHOULD NOT SKIP AND THE RESULT IN AC
|
|
;SHOULD BE -1,,-1 C(E) IS NOT AFFECTD
|
|
|
|
C75510: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 1,[754321,,76543] ;PRELOAD E WITH 754321,,076543
|
|
TDOE 0,1 ;*TDOE SHOULD NOT SKIP AND
|
|
;PLACE -1,,-1 INTO THE AC
|
|
SKIPA ;PASS IF TDOE DOES NOT SKIP
|
|
STOP
|
|
CAME 0,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
CAME 1,[754321,,76543] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TSOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN CHANGED TO ONES.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
|
|
;HENCE, TSOE SHOULD SKIP AND THE RESULT IN AC
|
|
;SHOULD BE -1,,-1. C(E) IS NOT AFFECTED
|
|
|
|
C75600: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 0,[76543,,654321] ;PRELOAD E WITH 076543,,654321
|
|
TSOE 17,0 ;*TSOE SHOULD SKIP AND
|
|
;PLACE -1,,-1 INTO THE AC
|
|
STOP
|
|
CAME 17,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
CAME 0,[76543,,654321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TSOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN CHANGED TO ONES.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,657321
|
|
;HENCE, TSOE SHOULD NOT SKIP AND THE RESULT IN THE AC
|
|
;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED.
|
|
|
|
C75610: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,701234
|
|
MOVE 17,[76543,,657321] ;PRELOAD E WITH 076543,,657321
|
|
TSOE 16,17 ;*TSOE SHOULD NOT SKIP AND
|
|
;*TSOE SHOULD NOT SKIP AND
|
|
;PLACE -1,,-1 INTO THE AC
|
|
SKIPA ;PASS IF SKIP
|
|
STOP
|
|
CAME 16,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
CAME 17,[76543,,657321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TDOA PLACES ONES INTO ALL BITS OF THE AC WHICH
|
|
;CORRRESPOND TO 1'S IN C(E) AND ALWAYS
|
|
;SKIPS THE NEXT INSTRUCTION C(E) IS NOT AFFECTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)= 654321,,076543
|
|
;HENCE, TDOA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE -1,,-1
|
|
|
|
C75700: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 16,[654321,,076543] ;PRELOAD E WITH 654321,,076543
|
|
TDOA 15,16 ;*TDOA SHOULD SKIP AND
|
|
;PLACE -1,,-1 INTO THE AC
|
|
STOP
|
|
CAME 15,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
CAME 16,[654321,,076543] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TDOA PLACE ONES ALL BIT OF THE AC WHICH
|
|
;CORRESPOND TO 1'S IN C(E) AND ALWAYS
|
|
;SKIPS THE NEXT INSTRUCTION C(E) IS NOT AFFECTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070
|
|
;HENCE, TDOA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 373577,,707274
|
|
|
|
C75710: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 15,[252525,,707070] ;PRELOAD E WITH 252525,,707070
|
|
TDOA 14,15 ;*TDOA SHOULD SKIP AND
|
|
;PLACE 373577,707274 ONTO THE AC
|
|
STOP
|
|
CAME 14,[373577,,707274] ;PASS IF C(AC)=373577,,707274
|
|
STOP
|
|
CAME 15,[252525,,707070] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TSOA PLACE ONES INTO ALL BITS OF THE AC WHICH
|
|
;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
|
|
;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
|
|
;HENCE, TSOA SHOULD SLAWAYS SKIP AND C(AC) SHOULD BE -1,,-1
|
|
|
|
C76000: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 14,[176543,,654321] ;PRELOAD E WITH 076543,,654321
|
|
TSOA 13,14 ;*TSOA SHOULD SKIP AND
|
|
;PLACE -1,,-1 ONTO THE AC
|
|
STOP
|
|
CAME 13,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
CAME 14,[176543,,654321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TSOA PLACES ONES INTO ALL BITS OF THE AC WHICH
|
|
;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
|
|
;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=701234,,123456
|
|
;HENCE, TSOA SHOULD SLWAYS SKIP AND C(AC) SHOULD BE 123456,,701234
|
|
|
|
C76010: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 13,[701234,,123456] ;PRELOAD E WITH 701234,123456
|
|
TSOA 12,13 ;*TSOA SHOULD SKIP AND
|
|
;PLACE 123456,,701234 INTO THE AC
|
|
STOP
|
|
CAME 12,[123456,,701234] ;PASS IF C(AC)=123456,,701234
|
|
STOP
|
|
CAME 13,[701234,,123456] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TDON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN CHANGED TO ONES
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076547
|
|
;HENCE, TDON SHOULD SKIP AND THE RESULT IN AC
|
|
;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
|
|
|
|
C76100: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 12,[654321,,076547] ;PRELOAD E WITH 654321,,076547
|
|
TDON 11,12 ;*TDON SHOULD SKIP AND
|
|
;PLACE -1,,-1 INTO THE AC
|
|
STOP
|
|
CAME 11,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
CAME 12,[654321,,076547] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TDON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN CHANGED TO ONES.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
|
|
;THENC, TDON SHOULD NOT SKIP AND THE RESULT IN TH AC
|
|
;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
|
|
|
|
C76110: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 11,[654321,,076543] ;PRELOAD E WITH 654321,,076543
|
|
TDON 10,11 ;*TDON SHOULD NOT SKIP AND
|
|
;PLACE -1,,-1 INTO THE AC
|
|
SKIPA ;PASS IF TDON DOES NOT SKIP
|
|
STOP
|
|
CAME 10,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
CAME 11,[654321,,076543] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;THIS TEST VERIFIES THAT TSON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) WITH BOTH HALVE SWAPPED ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN CHANGED TO ONES
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=077543,,654321
|
|
;HENCE, TSON SHOULD SKIP AND THE RESULT IN AC
|
|
;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
|
|
|
|
C76200: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 10,[77543,,654321] ;PRELOAD E WITH 077543,,654321]
|
|
TSON 7,10 ;*TSON HOULD SKIP AND
|
|
;PLACE -1,,-1 INTO THE AC
|
|
STOP
|
|
CAME 7,[-1] ;PASS IF C(AC)=-1,,-1
|
|
STOP
|
|
CAME 10,[77543,,654321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
|
|
;THIS TEST VERIFIES THAT TSON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
|
|
;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
|
|
;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
|
|
;AC BITS ARE THEN CHANGED TO ONES.
|
|
;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
|
|
;HENCE, TSON SHOULD NOT SKIP AND THE RESULT IN AC
|
|
;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
|
|
|
|
C76210: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
|
|
MOVE 7,[76543,,654321] ;PRELOAD E WITH 076543MM654321
|
|
TSON 6,7 ;*TSON SHOULD NOT SKIP AND
|
|
;PLACE -1,,-1 INTO THE AC
|
|
SKIPA ;PASS IF TSON DOES NOT SKIP
|
|
STOP
|
|
CAME 6,[-1] ;PASS IF C(AC)-=1,,-1
|
|
STOP
|
|
CAME 7,[76543,,654321] ;PASS IF C(E) UNCHANGED
|
|
STOP
|
|
|
|
;**********
|
|
;JRST BEGEND
|