Home of the original IBM PC emulator for browsers.
The PDP-10 KA10 Basic Instruction Diagnostic #6 (MAINDEC-10-DAKAF) test code has been extracted from DAKAFM.MAC [original] for use with the PDP-10 Test Machine with Debugger below.
This diagnostic “TESTS THE BOOLE, HWT AND TEST INSTRUCTIONS.”
Resources for this diagnostic include:
[PCjs Machine "testka10"]
Waiting for machine "testka10" to load....
The Debugger’s assemble (“a”) command can be used to test the new built-in MACRO-10 Mini-Assembler, which supports a subset of the MACRO-10 assembly language.
This command:
a 30724 DAKAF.MAC
will automatically read the DAKAF.MAC source file (a slightly modified copy of DAKAFM.MAC), assemble it, and then load the binary output at the specified address.
MAINDEC-10-DAKAF.TXT
IDENTIFICATION
--------------
PRODUCT CODE: MAINDEC-10-DAKAF-B-D
PRODUCT NAME: DECSYSTEM10 PDP-10 KA10 BASIC
INSTRUCTION DIAGNOSTIC (6)
FUNCTION: BOOLE, HWT, TEST
VERSION: 0.2
DATE RELEASED: JANUARY 1977
MAINTAINED BY: DIAGNOSTIC ENGINEERING GROUP
AUTHOR: JOHN R. KIRCHOFF
COPYRIGHT(C) 1976,1977
DIGITAL EQUIPMENT CORPORATION
MARLBORO, MASS. 01752
THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY
ON A SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH
THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE,
OR ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE
MADE AVAILABLE TO ANY OTHER PERSON EXECPT FOR USE ON SUCH SYSTEM
AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE TO AND
OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.
THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
EQUIPMENT CORPORATION.
DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
MAINDEC-10-DAKAF.TXT
PAGE 2
TABLE OF CONTENTS
-----------------
1.0 ABSTRACT
2.0 REQUIREMENTS
2.1 EQUIPMENT
2.2 STORAGE
2.3 PRELIMINARY PROGRAMS
3.0 PROGRAM PROCEDURES
3.1 LOADING PROCEDURE
3.2 STARTING PROCEDURE
3.3 OPERATING PROCEDURE
4.0 ERRORS
5.0 ITERATION COUNTER
6.0 CYCLE TIME
7.0 OPERATIONAL VARIATIONS
8.0 MISCELLANEOUS
9.0 LISTING
MAINDEC-10-DAKAF.TXT
PAGE 3
1.0 ABSTRACT
THIS PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC IS THE
SIXTH IN A SERIES OF PDP-10 KA10 PROCESSOR DIAGNOSTICS.
THE DIAGNOSTIC TESTS THE BOOLE, HWT AND TEST INSTRUCTIONS.
2.0 REQUIREMENTS
2.1 EQUIPMENT
A PDP-10 KA10 WITH A MINIMUM OF 32K OF MEMORY
PAPER TAPE READER
DECTAPE (OPTIONAL)
CONSOLE TELETYPE
2.2 STORAGE
THE PROGRAM RUNS WITHIN 32K OF MEMORY.
2.3 PRELIMINARY PROGRAMS
CONSOLE FUNCTIONS WORKING PROPERLY
PAPER TAPE OR DECTAPE READ-IN WORKING PROPERLY
PREVIOUS PROCESSOR DIAGNOSTICS
MAINDEC-10-DAKAF.TXT
PAGE 4
3.0 PROGRAM PROCEDURES
3.1 LOADING PROCEDURE
PAPER TAPE - HARDWARE READ-IN (READER DEVICE CODE 104)
DECTAPE - LOAD WITH DIAMON (DECTAPE DEVICE CODE 320)
3.2 STARTING PROCEDURE
STAND-ALONE STARTING ADDRESS IS 30000.
IF THE DIAGNOSTIC FAILS TO START CORRECTLY TRY STARTING AT THE
FIRST TEST INSTEAD OF AT THE BEGINNING OF THE CONTROL SEQUENCE.
(SEE LISTING).
3.3 OPERATING PROCEDURE
ONCE STARTED THE PROGRAM WILL CYCLE CONTINUALLY UNTIL STOPPED
OR AN ERROR OCCURS.
4.0 ERRORS
ERRORS ARE IN THE FORM OF HALT INSTRUCTIONS. THE LISTING
SHOULD BE CONSULTED TO DETERMINE THE CAUSE OF THE ERROR. A
NO OPERATION (JUMP) INSTRUCTION FOLLOWS EACH HALT. THIS
MAY BE USEFUL IN CONSTRUCTING A SCOPE LOOP TO CYCLE ON THE
FAILING INSTRUCTION.
5.0 ITERATION COUNTER
THE ITERATION COUNT OF THE PROGRAM IS DISPLAYED IN THE MEM-
ORY INDICATORS (MI). THIS COUNT IS A DECREMENTING COUNT AND
INITIALLY STARTS AT -1 IN STAND-ALONE OPERATION.
6.0 CYCLE TIME
THE CYCLE TIME OF THE PROGRAM IS IN THE MILLISECOND RANGE AND
IS THEREFORE SUITABLE FOR TAKING MARGINS, VIBRATION TESTS, ETC.
MAINDEC-10-DAKAF.TXT
PAGE 5
7.0 OPERATIONAL VARIATIONS
A. DIAGNOSTIC MONITOR
THE PROGRAM IS USABLE WITH THE DIAGNOSTIC MONITOR TO PRO-
VIDE RELIABILITY TESTS, ACCEPTANCE TESTS, AND/OR TO PRO-
VIDE A QUICK METHOD OF ISOLATION OF A FAULT TO A PARTICULAR
AREA OF THE PROCESSOR. CERTAIN PROCEDURES ARE USED WHEN
THE PROGRAM IS USED IN THIS MANNER. THEY ARE:
1. THE DIAGNOSTIC MONITOR TRANSFERS CONTROL TO THE PRO-
GRAM AND STARTS IT AT LOCATION 30002.
2. MONCTL - LOCATION 30043 IS USED AS THE DIAGNOSTIC MON-
ITOR CONTROL FLAG WORD.
B. USER MODE
THE PROGRAM WILL OPERATE IN USER MODE AND AS SUCH PROVIDES
ASSURANCE THAT THE PROCESSOR IS PERFORMING ALL FUNCTIONS
CORRECTLY. USER MODE STARTING ADDRESS IS 30000.
C. SYSTEM EXERCISER
STARTING ADDRESS IS 30003. NO DATA SWITCHES ARE USED BY
THIS PROGRAM.
8.0 MISCELLANEOUS
NONE
9.0 LISTING
THIS IS A HISTORY OF THE DEVELOPMENT OF MAINDEC-10-DAKAF
************************************************************************
PRODUCT CODE: MAINDEC-10-DAKAF
PRODUCT NAME: BASIC INSTRUCTION DIAGNOSTIC #6
DATE RELEASED: JANUARY 1977
VERSION: 0.2
UPDATE AUTHOR: JOHN R. KIRCHOFF
CHANGES MADE:
1. UPGRADE TO ALLOW COMPATABILITY WITH THE SUBROUTINE PACKAGE.
************************************************************************
ORIGINAL VERSION: 0.1
ORIGINAL AUTHOR: RICHARD MALISKA
ORIGINAL RELEASE: 16-MAR-72
************************************************************************
[Download]
;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