Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/dskaj1.mac
There are no other files named dskaj1.mac in the archive.
EXIT:	DROPDV			;CLOSE LOGICAL OUTPUT FILE
	EXIT

PGMNAM:	ASCIZ	%
DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC [DSKAJ]
SHIFT/ROTATE
%

;INITIALIZE SUBROUTINES

START:	PGMINT
	MOVE	[ASCIZ/AJ/]
	MOVEM	TLET

STARTA:	JRST	PART2		;GO PERFORM DIAGNOSTIC
SUBTTL	DIAGNOSTIC SECTION - END CONNECTIONS TEST (LSHC)

	AC=1
PART2:	SAVEAC	(1,1)

;END CONNECTIONS-LSHC
;TEST AR-MQ END BIT INPUT GATES
;TEST LEFT-AR0,1,34,35 SHLT INP GATES
;          MQ0,1,34,35 SHLT INP GATES
;TEST RIGHT-AR0,1,34,35 SHRT INP GATES
;	   MQ0,1,34,35 SHRT INPUT GATES
;AC,AC+1 ARE LOGICALLY SHIFTED LEFT/RIGHT AND
;END BITS ARE TESTED
;TEST ASSUMES BOTH REGISTERS ARE
;CAPABLE OF SHIFTING 1,-1 AND -2 BIT POSITIONS CORRECTLY
;INPUT GATES PREVIOUSLY TESTED ARE AGAIN
;TESTED HERE
;AN ERROR IS MOST LIKELY DUE TO FAILURE
;OF LSHC TO BRING UP ENABLING LEVEL

;SHIFT CONNECTIONS TEST
;TEST MQ35 SHLT INP-ZERO'S - LSHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ
	SR2	(243,-1,-1,-1,-1,-1,-1,-1,-2,LSHC,1)

;SHIFT CONNECTIONS TEST
;TEST MQ34 SHLT INP-ONE'S - LSHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ
	SR2	(244,0,0,0,1,0,0,0,2,LSHC,1)

;SHIFT CONNECTIONS TEST
;TEST MQ34 SHLT INP-ZERO'S - LSHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ 
	SR2	(245,-1,-1,-1,-2,-1,-1,-1,-4,LSHC,1)
PAGE
;SHIFT CONNECTIONS TEST
;TEST MQ1 SHLT INP-ONE'S - LSHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ 
	SR2	(246,0,0,100000,0,0,0,200000,0,LSHC,1)

;SHIFT CONNECTIONS TEST
;TEST MQ1 SHLT INP-ZERO'S - LSHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ 
	SR2	(247,-1,-1,677777,-1,-1,-1,577777,-2,LSHC,1)

;SHIFT CONNECTIONS TEST
;TEST MQ0 SHLT INP-ONE'S - LSHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ 
	SR2	(250,0,0,200000,0,0,0,400000,0,LSHC,1)

;SHIFT CONNECTIONS TEST
;TEST MQ0 SHLT INP-ZERO'S - LSHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ 
	SR2	(251,-1,-1,577777,-1,-1,-1,377777,-2,LSHC,1)

;SHIFT CONNECTIONS TEST
;TEST AR35 SHLT INP-ONE'S - LSHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 35 OF AR 
	SR2	(252,0,0,400000,0,0,1,0,0,LSHC,1)

;SHIFT CONNECTIONS TEST
;TEST AR35 SHLT INP-ZERO'S - LSHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 35 OF AR
	SR2	(253,-1,-1,377777,-1,-1,-2,-1,-2,LSHC,1)

;SHIFT CONNECTIONS TEST
;TEST AR34 SHLT INP-ONE'S - LSHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 34 OF AR
	SR2	(254,0,1,0,0,0,2,0,0,LSHC,1)

;SHIFT CONNECTIONS TEST
;TEST AR34 SHLT INP-ZERO'S - LSHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 34 OF AR 
	SR2	(255,-1,-2,-1,-1,-1,-3,-1,-2,LSHC,1)
PAGE
;SHIFT CONNECTIONS TEST
;TEST AR1 SHLT INP-ONE'S - LSHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 1 OF AR 
	SR2	(256,100000,0,0,0,200000,0,0,0,LSHC,1)

;SHIFT CONNECTIONS TEST
;TEST AR1 SHLT INP-ZERO'S - LSHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 1 OF AR 
	SR2	(257,677777,-1,-1,-1,577777,-1,-1,-2,LSHC,1)

;SHIFT CONNECTIONS TEST
;TEST AR0 SHLT INP-ONE'S - LSHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 0 OF AR 
	SR2	(260,200000,0,0,0,400000,0,0,0,LSHC,1)

;SHIFT CONNECTIONS TEST
;TEST AR0 SHLT INP-ZERO'S - LSHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 0 OF AR 
	SR2	(261,577777,-1,-1,-1,377777,-1,-1,-2,LSHC,1)

;SHIFT CONNECTIONS TEST
;TEST AR0 SHRT INP-ZERO'S - LSHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 0 OF AR 
	SR2	(262,-1,-1,-1,-1,377777,-1,-1,-1,LSHC,-1)

;SHIFT CONNECTIONS TEST
;TEST AR1 SHRT INP-ONE'S - LSHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 1 OF AR 
	SR2	(263,400000,0,0,0,200000,0,0,0,LSHC,-1)

;SHIFT CONNECTIONS TEST
;TEST AR1 SHRT INP-ZERO'S - LSHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 1 OF AR 
	SR2	(264,377777,-1,-1,-1,177777,-1,-1,-1,LSHC,-1)

;SHIFT CONNECTIONS TEST
;TEST AR34 SHRT INP-ONE'S - LSHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 34 OF AR 
	SR2	(265,0,4,0,0,0,2,0,0,LSHC,-1)
PAGE
;SHIFT CONNECTIONS TEST
;TEST AR34 SHRT INP-ZERO'S - LSHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 34 OF AR 
	SR2	(266,-1,-5,-1,-1,377777,-3,-1,-1,LSHC,-1)

;SHIFT CONNECTIONS TEST
;TEST AR35 SHRT INP-ONE'S - LSHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 35 OF AR 
	SR2	(267,0,2,0,0,0,1,0,0,LSHC,-1)

;SHIFT CONNECTIONS TEST
;TEST AR35 SHRT INP-ZERO'S - LSHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 35 OF AR 
	SR2	(270,-1,-3,-1,-1,377777,-2,-1,-1,LSHC,-1)

;SHIFT CONNECTIONS TEST
;TEST MQ0 SHRT INP-ONE'S - LSHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ 
	SR2	(271,0,1,0,0,0,0,400000,0,LSHC,-1)

;SHIFT CONNECTIONS TEST
;TEST MQ0 SHRT INP-ZERO'S - LSHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ 
	SR2	(272,-1,-2,-1,-1,377777,-1,377777,-1,LSHC,-1)

;SHIFT CONNECTIONS TEST
;TEST MQ1 SHRT INP-ONE'S - LSHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ 
	SR2	(273,0,0,400000,0,0,0,200000,0,LSHC,-1)

;SHIFT CONNECTIONS TEST
;TEST MQ1 SHRT INP-ZERO'S - LSHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ 
	SR2	(274,-1,-1,377777,-1,377777,-1,577777,-1,LSHC,-1)
PAGE
;SHIFT CONNECTIONS TEST
;TEST MQ34 SHRT INP-ONE'S - LSHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ 
	SR2	(275,0,0,0,4,0,0,0,2,LSHC,-1)

;SHIFT CONNECTIONS TEST
;TEST MQ34 SHRT INP-ZERO'S - LSHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ 
	SR2	(276,-1,-1,-1,-5,377777,-1,-1,-3,LSHC,-1)

;SHIFT CONNECTIONS TEST
;TEST MQ35 SHRT INP-ONE'S - LSHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ 
	SR2	(277,0,0,0,2,0,0,0,1,LSHC,-1)

;SHIFT CONNECTIONS TEST
;TEST MQ35 SHRT INP-ZERO'S - LSHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ 
	SR2	(300,-1,-1,-1,-3,377777,-1,-1,-2,LSHC,-1)

;SHIFT CONNECTIONS TEST
;TEST AR0 SHRT INP-ZERO'S - LSHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 0 OF AR 
	SR2	(301,-1,-1,-1,-1,177777,-1,-1,-1,LSHC,-2)

;SHIFT CONNECTIONS TEST
;TEST AR1 SHRT INP-ZERO'S - LSHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 1 OF AR 
	SR2	(302,-1,-1,-1,-1,177777,-1,-1,-1,LSHC,-2)

;SHIFT CONNECTIONS TEST
;TEST AR34 SHRT INP-ONE'S - LSHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 34 OF AR 
	SR2	(303,0,10,0,0,0,2,0,0,LSHC,-2)
PAGE
;SHIFT CONNECTIONS TEST
;TEST AR34 SHRT INP-ZERO'S - LSHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 34 OF AR 
	SR2	(304,-1,-11,-1,-1,177777,-3,-1,-1,LSHC,-2)

;SHIFT CONNECTIONS TEST
;TEST AR35 SHRT INP-ONE'S - LSHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 35 OF AR 
	SR2	(305,0,4,0,0,0,1,0,0,LSHC,-2)

;SHIFT CONNECTIONS TEST
;TEST AR35 SHRT INP-ZERO'S - LSHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 35 OF AR 
	SR2	(306,-1,-5,-1,-1,177777,-2,-1,-1,LSHC,-2)

;SHIFT CONNECTIONS TEST
;TEST MQ0 SHRT INP-ONE'S - LSHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ 
	SR2	(307,0,2,0,0,0,0,400000,0,LSHC,-2)

;SHIFT CONNECTIONS TEST
;TEST MQ0 SHRT INP-ZERO'S - LSHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ 
	SR2	(310,-1,-3,-1,-1,177777,-1,377777,-1,LSHC,-2)

;SHIFT CONNECTIONS TEST
;TEST MQ1 SHRT INP-ONE'S - LSHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ 
	SR2	(311,0,1,0,0,0,0,200000,0,LSHC,-2)

;SHIFT CONNECTIONS TEST
;TEST MQ1 SHRT INP-ZERO'S - LSHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ 
	SR2	(312,-1,-2,-1,-1,177777,-1,577777,-1,LSHC,-2)
PAGE
;SHIFT CONNECTIONS TEST
;TEST MQ34 SHRT INP-ONE'S - LSHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ 
	SR2	(313,0,0,0,10,0,0,0,2,LSHC,-2)

;SHIFT CONNECTIONS TEST
;TEST MQ34 SHRT INP-ZERO'S - LSHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ 
	SR2	(314,-1,-1,-1,-11,177777,-1,-1,-3,LSHC,-2)

;SHIFT CONNECTIONS TEST
;TEST MQ35 SHRT INP-ONE'S - LSHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ 
	SR2	(315,0,0,0,4,0,0,0,1,LSHC,-2)

;SHIFT CONNECTIONS TEST
;TEST MQ35 SHRT INP-ZERO'S - LSHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ 
	SR2	(316,-1,-1,-1,-5,177777,-1,-1,-2,LSHC,-2)

SUBTTL	DIAGNOSTIC SECTION - END CONNECTIONS TEST (ASHC)

;END CONNECTIONS-ASHC
;TEST AR-MQ END BIT INPUT GATES
;TEST LEFT-AR0,1,34,35 SHLT INP GATES
;          MQ0,1,34,35 SHLT INP GATES
;TEST RIGHT-AR0,1,34,35 SHRT INP GATES
;	   MQ0,1,34,35 SHRT INPUT GATES
;AC,AC+1 ARE ARITHMETICALLY SHIFTED LEFT/RIGHT AND
;END BITS ARE TESTED
;TEST ASSUMES BOTH REGISTERS ARE
;CAPABLE OF SHIFTING 1,-1 AND -2 BIT POSITIONS CORRECTLY

;GATES PREVIOUSLY TESTED,ARE AGAIN TESTED
;ERRORS MOST LIKELY DUE TO FAILURE OF
;ASHC TO BRING UP ENABLING LEVELS

;SHIFT CONNECTIONS TEST
;TEST MQ35 SHLT INP-ZERO'S - ASHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ
	SR2	(317,-1,-1,-1,-1,-1,-1,-1,-2,ASHC,1)

;SHIFT CONNECTIONS TEST
;TEST MQ34 SHLT INP-ONE'S - ASHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ
	SR2	(320,0,0,0,1,0,0,0,2,ASHC,1)

;SHIFT CONNECTIONS TEST
;TEST MQ34 SHLT INP-ZERO'S - ASHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ 
	SR2	(321,-1,-1,-1,-2,-1,-1,-1,-4,ASHC,1)
PAGE
;SHIFT CONNECTIONS TEST
;TEST MQ1 SHLT INP-ONE'S - ASHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ 
	SR2	(322,0,0,100000,0,0,0,200000,0,ASHC,1)

;SHIFT CONNECTIONS TEST
;TEST MQ1 SHLT INP-ZERO'S - ASHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ 
	SR2	(323,-1,-1,677777,-1,-1,-1,577777,-2,ASHC,1)

;SHIFT CONNECTIONS TEST
;TEST MQ0 SHLT INP-ONE'S - ASHC AC,1
;RESULT IN MQ0 SHOULD AGREE WITH INITIAL AR0
;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ 
	SR2	(324,400000,0,0,0,400000,0,400000,0,ASHC,1)

;SHIFT CONNECTIONS TEST
;TEST MQ0 SHLT INP-ZERO'S - ASHC AC,1
;RESULT IN MQ0 SHOULD AGREE WITH INITIAL AR0
;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ 
	SR2	(325,377777,-1,-1,-1,377777,-1,377777,-2,ASHC,1)

;SHIFT CONNECTIONS TEST
;TEST AR35 SHLT INP-ONE'S - ASHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 35 OF AR 
	SR2	(326,0,0,200000,0,0,1,0,0,ASHC,1)

;SHIFT CONNECTIONS TEST
;TEST AR35 SHLT INP-ZERO'S - ASHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 35 OF AR
	SR2	(327,-1,-1,577777,-1,-1,-2,-1,-2,ASHC,1)

;SHIFT CONNECTIONS TEST
;TEST AR34 SHLT INP-ONE'S - ASHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 34 OF AR
	SR2	(330,0,1,0,0,0,2,0,0,ASHC,1)

;SHIFT CONNECTIONS TEST
;TEST AR34 SHLT INP-ZERO'S - ASHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 34 OF AR 
	SR2	(331,-1,-2,-1,-1,-1,-3,-1,-2,ASHC,1)
PAGE
;SHIFT CONNECTIONS TEST
;TEST AR1 SHLT INP-ONE'S - ASHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 1 OF AR 
	SR2	(332,100000,0,0,0,200000,0,0,0,ASHC,1)

;SHIFT CONNECTIONS TEST
;TEST AR1 SHLT INP-ZERO'S - ASHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 1 OF AR 
	SR2	(333,677777,-1,-1,-1,577777,-1,-1,-2,ASHC,1)

;SHIFT CONNECTIONS TEST
;TEST AR0 SHLT INP-ONE'S - ASHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 0 OF AR 
	SR2	(334,400000,0,400000,0,400000,0,400000,0,ASHC,1)

;SHIFT CONNECTIONS TEST
;TEST AR0 SHLT INP-ZERO'S - ASHC AC,1
;TEST ABILITY TO SHIFT INTO BIT 0 OF AR 
	SR2	(335,377777,-1,377777,-1,377777,-1,377777,-2,ASHC,1)

;SHIFT CONNECTIONS TEST
;TEST AR0 SHRT INP-ONE'S - ASHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 0 OF AR 
	SR2	(336,400000,0,400000,0,600000,0,400000,0,ASHC,-1)

;SHIFT CONNECTIONS TEST
;TEST AR0 SHRT INP-ZERO'S - ASHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 0 OF AR 
	SR2	(337,377777,-1,377777,-1,177777,-1,377777,-1,ASHC,-1)

;SHIFT CONNECTIONS TEST
;TEST AR1 SHRT INP-ONE'S - ASHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 1 OF AR 
	SR2	(340,400000,0,400000,0,600000,0,400000,0,ASHC,-1)

;SHIFT CONNECTIONS TEST
;TEST AR1 SHRT INP-ZERO'S - ASHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 1 OF AR 
	SR2	(341,377777,-1,377777,-1,177777,-1,377777,-1,ASHC,-1)
PAGE
;SHIFT CONNECTIONS TEST
;TEST AR34 SHRT INP-ONE'S - ASHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 34 OF AR 
	SR2	(342,0,4,0,0,0,2,0,0,ASHC,-1)

;SHIFT CONNECTIONS TEST
;TEST AR34 SHRT INP-ZERO'S - ASHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 34 OF AR 
	SR2	(343,-1,-5,-1,-1,-1,-3,-1,-1,ASHC,-1)

;SHIFT CONNECTIONS TEST
;TEST AR35 SHRT INP-ONE'S - ASHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 35 OF AR 
	SR2	(344,0,2,0,0,0,1,0,0,ASHC,-1)

;SHIFT CONNECTIONS TEST
;TEST AR35 SHRT INP-ZERO'S - ASHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 35 OF AR 
	SR2	(345,-1,-3,-1,-1,-1,-2,-1,-1,ASHC,-1)

;SHIFT CONNECTIONS TEST
;TEST MQ0 SHRT INP-ONE'S - ASHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ 
	SR2	(346,400000,0,0,0,600000,0,400000,0,ASHC,-1)

;SHIFT CONNECTIONS TEST
;TEST MQ0 SHRT INP-ZERO'S - ASHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ 
	SR2	(347,377777,-1,-1,-1,177777,-1,377777,-1,ASHC,-1)

;SHIFT CONNECTIONS TEST
;TEST MQ1 SHRT INP-ONE'S - ASHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ 
	SR2	(350,0,1,0,0,0,0,200000,0,ASHC,-1)

;SHIFT CONNECTIONS TEST
;TEST MQ1 SHRT INP-ZERO'S - ASHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ 
	SR2	(351,-1,-2,-1,-1,-1,-1,577777,-1,ASHC,-1)
PAGE
;SHIFT CONNECTIONS TEST
;TEST MQ34 SHRT INP-ONE'S - ASHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ 
	SR2	(352,0,0,0,4,0,0,0,2,ASHC,-1)

;SHIFT CONNECTIONS TEST
;TEST MQ34 SHRT INP-ZERO'S - ASHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ 
	SR2	(353,-1,-1,-1,-5,-1,-1,-1,-3,ASHC,-1)

;SHIFT CONNECTIONS TEST
;TEST MQ35 SHRT INP-ONE'S - ASHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ 
	SR2	(354,0,0,0,2,0,0,0,1,ASHC,-1)

;SHIFT CONNECTIONS TEST
;TEST MQ35 SHRT INP-ZERO'S - ASHC AC,-1
;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ 
	SR2	(355,-1,-1,-1,-3,-1,-1,-1,-2,ASHC,-1)

;SHIFT CONNECTIONS TEST
;TEST AR0 SHRT INP-ONE'S - ASHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 0 OF AR 
	SR2	(356,400000,0,400000,0,700000,0,400000,0,ASHC,-2)

;SHIFT CONNECTIONS TEST
;TEST AR0 SHRT INP-ZERO'S - ASHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 0 OF AR 
	SR2	(357,377777,-1,377777,-1,077777,-1,377777,-1,ASHC,-2)

;SHIFT CONNECTIONS TEST
;TEST AR1 SHRT INP-ONE'S - ASHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 1 OF AR 
	SR2	(360,400000,0,400000,0,700000,0,400000,0,ASHC,-2)

;SHIFT CONNECTIONS TEST
;TEST AR1 SHRT INP-ZERO'S - ASHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 1 OF AR 
	SR2	(361,377777,-1,377777,-1,077777,-1,377777,-1,ASHC,-2)
PAGE
;SHIFT CONNECTIONS TEST
;TEST AR34 SHRT INP-ONE'S - ASHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 34 OF AR 
	SR2	(362,0,10,0,0,0,2,0,0,ASHC,-2)

;SHIFT CONNECTIONS TEST
;TEST AR34 SHRT INP-ZERO'S - ASHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 34 OF AR 
	SR2	(363,-1,-11,-1,-1,-1,-3,-1,-1,ASHC,-2)

;SHIFT CONNECTIONS TEST
;TEST AR35 SHRT INP-ONE'S - ASHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 35 OF AR 
	SR2	(364,0,4,0,0,0,1,0,0,ASHC,-2)

;SHIFT CONNECTIONS TEST
;TEST AR35 SHRT INP-ZERO'S - ASHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 35 OF AR 
	SR2	(365,-1,-5,-1,-1,-1,-2,-1,-1,ASHC,-2)

;SHIFT CONNECTIONS TEST
;TEST MQ0 SHRT INP-ONE'S - ASHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ 
	SR2	(366,400000,0,0,0,700000,0,400000,0,ASHC,-2)

;SHIFT CONNECTIONS TEST
;TEST MQ0 SHRT INP-ZERO'S - ASHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 0 OF MQ 
	SR2	(367,377777,-1,-1,-1,077777,-1,377777,-1,ASHC,-2)

;SHIFT CONNECTIONS TEST
;TEST MQ1 SHRT INP-ONE'S - ASHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ 
	SR2	(370,0,2,0,0,0,0,200000,0,ASHC,-2)

;SHIFT CONNECTIONS TEST
;TEST MQ1 SHRT INP-ZERO'S - ASHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 1 OF MQ 
	SR2	(371,-1,-3,-1,-1,-1,-1,577777,-1,ASHC,-2)
PAGE
;SHIFT CONNECTIONS TEST
;TEST MQ34 SHRT INP-ONE'S - ASHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ 
	SR2	(372,0,0,0,10,0,0,0,2,ASHC,-2)

;SHIFT CONNECTIONS TEST
;TEST MQ34 SHRT INP-ZERO'S - ASHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 34 OF MQ 
	SR2	(373,-1,-1,-1,-11,-1,-1,-1,-3,ASHC,-2)

;SHIFT CONNECTIONS TEST
;TEST MQ35 SHRT INP-ONE'S - ASHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ 
	SR2	(374,0,0,0,4,0,0,0,1,ASHC,-2)

;SHIFT CONNECTIONS TEST
;TEST MQ35 SHRT INP-ZERO'S - ASHC AC,-2
;TEST ABILITY TO SHIFT INTO BIT 35 OF MQ 
	SR2	(375,-1,-1,-1,-5,-1,-1,-1,-2,ASHC,-2)
SUBTTL	DIAGNOSTIC SECTION - BIT POSITION RELIABILITY TEST

;BIT POSITION RELIABILITY TEST
;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS
	SR1	(445,252525,252525,525252,525252,ROT,1)

;BIT POSITION RELIABILITY TEST
;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS
	SR1	(446,525252,525252,252525,252525,ROT,1)

;BIT POSITION RELIABILITY TEST
;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS
	SR1	(447,252525,252525,525252,525252,ROT,-1)

;BIT POSITION RELIABILITY TEST
;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS
	SR1	(450,525252,525252,252525,252525,ROT,-1)
PAGE
;BIT POSITION RELIABILITY TEST
;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS
	SR1	(451,146314,631463,631463,146314,ROT,-2)

;BIT POSITION RELIABILITY TEST
;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS
	SR1	(452,631463,146314,146314,631463,ROT,-2)

;BIT POSITION RELIABILITY TEST
;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS
	SR2	(453,252525,252525,252525,252525,525252,525252,525252,525252,ROTC,1)

;BIT POSITION RELIABILITY TEST
;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS
	SR2	(454,525252,525252,525252,525252,252525,252525,252525,252525,ROTC,1)
PAGE
;BIT POSITION RELIABILITY TEST
;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS
	SR2	(455,252525,252525,252525,252525,525252,525252,525252,525252,ROTC,-1)

;BIT POSITION RELIABILITY TEST
;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS
	SR2	(456,525252,525252,525252,525252,252525,252525,252525,252525,ROTC,-1)

;BIT POSITION RELIABILITY TEST
;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS
	SR2	(457,146314,631463,146314,631463,631463,146314,631463,146314,ROTC,-2)

;BIT POSITION RELIABILITY TEST
;TEST ABILITY TO ROTATE ONES AND ZEROS INTO ALL BIT POSITIONS
	SR2	(460,631463,146314,631463,146314,146314,631463,146314,631463,ROTC,-2)
SUBTTL	DIAGNOSTIC SECTION - SC GATING TEST

	AC=5
	SAVEAC	(1,1)

SN=37600
	ZZ=17

E37600:	REPEAT	^D3,<		;SHIFT LEFT 
;TEST SC HIGH ORDER BITS
;TEST THE ABILITY TO SET THE FOUR MOST
;SIGNIFICANT BITS
;AC IS LOGICALLY SHIFTED LEFT
;AND TESTED
;FAILURE TO SET BIT 0 RESULTS IN NO SHIFT
;AN ERROR WILL OCCUR IF AC EQUALS ZERO
;FOLLOWING A SHIFT
;FAILURE TO SET SC BIT 1,2 OR
;3 WILL RESULT IN EXCESSIVE SHIFTING

SN=SN+1
	ZZ=ZZ+1
	MOVEI	AC,1		;SET BIT 35
	LSH	AC,ZZ		;*SHIFT LEFT (N) NUMBER OF TIMES
	CAIN	AC,1		;TEST FOR SHIFT
	ER3	AC,SN		;SC BIT 0 FAILED TO SET
	SKIPN	AC		;SHIFT EXCEEDED OCTAL 44
	ER3	AC,SN		;SC BIT (N) FAILED TO SET
	JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
>

SUBTTL	DIAGNOSTIC SECTION - SC AR CONTROL AND GATING TEST

;TEST SC AR EN
;TEST THE ABILITY OF SC AR EN TO
;AFFECT A TRANSFER BETWEEN SC AND AR
;MALFUNCTION OF SCAD OR SC COUNT GATES
;WILL AFFECT TEST
;AC IS ROTATED LEFT/RIGHT AND TESTED FOR
;EVIDENCE OF ROTATE

	AC=7
	SAVEAC	(1,1)

E37700:	MOVEI	AC,1		;SET BIT 35
	ROT	AC,-5		;*ROTATE RIGHT
	ROT	AC,7		;*ROTATE LEFT
	CAIN	AC,1		;TEST FOR PRESENCE
	ER3	AC,37701		;OF PULSE
	JUMPL	AC+2,E37700	;LOOP ON ERROR SWITCH

				;TEST PULSE WITH SC BITS 5-8
E40000:	MOVEI	AC,1		;SET BIT 35
	ROT	AC,17		;*ROTATE LEFT
	CAIN	AC,1		;TEST FOR ROTATE LEFT
	ER3	AC,40001		;SC AR EN FAILED
	JUMPL	AC+2,E40000	;LOOP ON ERROR SWITCH

				;TEST PULSE WITH SC BITS 4-8
E40100:	MOVEI	AC,1		;SET BIT 35
	ROT	AC,37		;*ROTATE LEFT
	CAIN	AC,1		;TEST FOR ROTATE LEFT
	ER3	AC,40101		;TEST FOR ROTATE LEFT
	JUMPL	AC+2,E40100	;LOOP ON ERROR SWITCH
	AC=6
	SAVEAC	(1,1)

SN=40200
	ZZ=0

E40200:	REPEAT	^D8,<
;TEST SC-AR CONNECTION-ONE'S
;TEST THE ABILITY OF SC AR EN
;TO TRANSFER ONE'S TO SC
;SC BITS EIGHT THROUGH ONE ARE SET IN TURN
;MALFUNCTION OF SCAD OR SC COUNT GATES
;WILL AFFECT TEST
;FAILURE OF A SHIFT COUNTER BIT TO SET
;RESULTS IN NO ROTATE

SN=SN+1
	ZZ=ZZ+ZZ
	IFE	ZZ,<ZZ=1>
	MOVEI	AC,1		;SET BIT 35
	ROT	AC,ZZ		;*ROTATE LEFT (N) NUMBER OF TIMES
	CAIN	AC,1		;TEST FOR ROTATE
	ER3	AC,SN		;SC BIT (N) FAILED TO SET
	JUMPL	AC+2,.-4	;LOOP ON ERROR SWITCH
>
	AC=5
	SAVEAC	(1,1)

SN=40300
	XX=0
	ZZ=-1

E40300:	REPEAT	^D6,<
;TEST SC AR CONNETION-ZERO'S
;TEST THE ABILITY OF A SC BIT TO REMAIN
;A ZERO WHEN TRANSFERRING BR TO SC
;TEST DETECTS A SC F/F PERMENTLY SET TO A ONE
;TEST BY ROTATING RIGHT TWO,LEFT ONE
;MALFUNTION OF SCAD OR SC COUNT GATES
;WILL AFFECT TEST

SN=SN+1
	XX=XX+XX
	ZZ=ZZ+ZZ
	IFE	XX,<XX=1>
	MOVEI	AC,1		;SET BIT 35
	ROT	AC,ZZ		;*ROTATE RIGHT (N) NUMBER OF TIMES
	ROT	AC,XX		;*ROTATE LEFT (N) NUMBER OF TIMES
	CAIN	AC,1		;TEST FOR ROTATE
	ER3	AC,SN		;SC BIT (N) FAILED TO CLEAR
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
SUBTTL	DIAGNOSTIC SECTION - SC-SCAD GATING TEST

;TEST DIRECTION
;TEST THE ABILITY TO ROTATE IN THE
;SPECIFIED DIRECTION
;FAILURE OF AC TO ROTATE OR ROTATING IN THE
;WRONG DIRECTION WILL CAUSE AN ERROR
;MALFUNCTION OF SCAD OR SC COUNT GATES WILL
;CAUSE AN ERROR

	AC=4
	SAVEAC	(1,1)

				;TEST LEFT
E40400:	MOVEI	AC,400000	;SET AC BIT 18
	MOVSI	AC-1,-1		;SET LEFT,CLEAR RIGHT
	ROT	AC,3		;*ROTATE LEFT
	TDNN	AC,AC-1		;TEST DIRECTION
	ER3	AC,40401	;FAILED OR WRONG DIRECTION
	JUMPL	AC+2,E40400	;LOOP ON ERROR SWITCH

				;TEST RIGHT
E40500:	MOVSI	AC,1		;SET AC BIT 17
	MOVEI	AC-1,-1		;CLEAR LEFT,SET RIGHT
	ROT	AC,-3		;*ROTATE RIGHT
	TDNN	AC,AC-1		;TEST DIRECTION
	ER3	AC,40501	;FAILED OR WRONG DIRECTION
	JUMPL	AC+2,E40500	;LOOP ON ERROR SWITCH
	AC=3
	SAVEAC	(1,1)

SN=40600
	ZZ=0

E40600:	REPEAT	^D8,<		;TEST FOR NO ROTATE 
;SCAD-SC NEGATE SET UP TEST
;TEST A BIT FAILING TO CLEAR ON COMPLEMENT
;TEST SC+1 ENABLE
;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE
;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS
;IN ROT LEFT ONE
;MALFUNCTION OF SCAD OR SC COUNT GATES
;WILL AFFECT TEST

SN=SN+1
	ZZ=ZZ+ZZ
	IFE	ZZ,<ZZ=1>
	MOVEI	AC,1		;SET BIT 35
	ROT	AC,ZZ		;*ROTATE LEFT (N) NUMBER OF TIMES
	CAIN	AC,1		;SC BIT (N) FAILED TO CLEAR
	ER3	AC,SN		;ON NEGATE
	JUMPL	AC+2,.-4	;LOOP ON ERROR SWITCH
>
PAGE
SN=40700
	ZZ=1

E40700:	REPEAT	^D7,<		;TEST FOR ROTATE LEFT ONE 
;SCAD-SC NEGATE SET UP TEST
;TEST A BIT FAILING TO CLEAR ON COMPLEMENT
;TEST SC+1 ENABLE
;A BIT FAILING TO CLEAR RESULTS IN NO ROTATE
;A BIT FAILING TO CLEAR AND SC+1 FAILING RESULTS
;IN ROT LEFT ONE
;MALFUNCTION OF SCAD OR SC COUNT GATES
;WILL AFFECT TEST

SN=SN+1
	ZZ=ZZ+ZZ
	MOVEI	AC,1		;SET BIT 35
	ROT	AC,ZZ		;*ROTATE LEFT (N) NUMBER OF TIMES
	CAIN	AC,2		;SC BIT (N) FAILED TO CLEAR
	ER3	AC,SN		;AND SC+1 FAILED
	JUMPL	AC+2,.-4	;LOOP ON ERROR SWITCH
>
	AC=2
	SAVEAC	(1,1)

SN=41000
	XX=1
	ZZ=0

E41000:	REPEAT	^D5,<		;ROTATE FROM 3 TO 17 TIMES 
;SCAD SC COUNT TEST
;TEST THE ABILITY OF SCAD TO PROPERLY
;COUNT THE SHIFT COUNTER
;TEST SC-SCAD CONNECTION
;AC IS ROTATED FROM 3 THROUGH 105 TIMES
;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE
;THE CORRECT NUMBER OF BITS
;ROTATING TO THE LEFT EXERCISES MAXIMUM
;LOGIC

SN=SN+1
	XX=XX*10
	ZZ=ZZ+3
	MOVEI	AC,1		;SET BIT 35
	ROT	AC,ZZ		;*ROTATE (N) NUMBER OF TIMES
	CAIE	AC,XX		;TEST AC
	ER3	AC,SN		;INCORRECT ROTATE
	JUMPL	AC+2,.-4	;LOOP ON ERROR SWITCH
>
PAGE
SN=41100
	XX=0

E41100:	REPEAT	^D6,<		;ROTATE FROM 22 TO 41 TIMES 
;SCAD SC COUNT TEST
;TEST THE ABILITY OF SCAD TO PROPERLY
;COUNT THE SHIFT COUNTER
;TEST SC-SCAD CONNECTION
;AC IS ROTATED FROM 3 THROUGH 105 TIMES
;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE
;THE CORRECT NUMBER OF BITS
;ROTATING TO THE LEFT EXERCISES MAXIMUM
;LOGIC

SN=SN+1
	XX=XX*10
	ZZ=ZZ+3
	IFE	XX,<XX=1>
	MOVEI	AC,1		;SET BIT 35
	ROT	AC,ZZ		;*ROTATE (N) NUMBER OF TIMES
	MOVSS	AC		;SWAP CONTENTS OF AC
	CAIE	AC,XX		;TEST AC
	ER3	AC,SN		;INCORRECT ROTATE
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
SN=41200
	XX=0

E41200:	REPEAT	^D6,<		;ROTATE FROM 44 TO 36 TIMES 
;SCAD SC COUNT TEST
;TEST THE ABILITY OF SCAD TO PROPERLY
;COUNT THE SHIFT COUNTER
;TEST SC-SCAD CONNECTION
;AC IS ROTATED FROM 3 THROUGH 105 TIMES
;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE
;THE CORRECT NUMBER OF BITS
;ROTATING TO THE LEFT EXERCISES MAXIMUM
;LOGIC

SN=SN+1
	XX=XX*10
	ZZ=ZZ+3
	IFE	XX,<XX=1>
	MOVEI	AC,1		;SET BIT 35
	ROT	AC,ZZ		;*ROTATE (N) NUMBER OF TIMES
	CAIE	AC,XX		;TEST AC
	ER3	AC,SN		;INCORRECT ROTATE
	JUMPL	AC+2,.-4	;LOOP ON ERROR SWITCH
>
PAGE
SN=41300
	XX=0

E41300:	REPEAT	^D6,<		;ROTATE FROM 66 TO 105 TIMES 
;SCAD SC COUNT TEST
;TEST THE ABILITY OF SCAD TO PROPERLY
;COUNT THE SHIFT COUNTER
;TEST SC-SCAD CONNECTION
;AC IS ROTATED FROM 3 THROUGH 105 TIMES
;AN ERROR WILL OCCUR IF AC FAILS TO ROTATE
;THE CORRECT NUMBER OF BITS
;ROTATING TO THE LEFT EXERCISES MAXIMUM
;LOGIC

SN=SN+1
	XX=XX*10
	ZZ=ZZ+3
	IFE	XX,<XX=1>
	MOVEI	AC,1		;SET BIT 35
	ROT	AC,ZZ		;*ROTATE (N) NUMBER OF TIMES
	MOVSS	AC		;SWAP CONTENTS OF AC
	CAIE	AC,XX		;TEST AC
	ER3	AC,SN		;INCORRECT ROTATE
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
SUBTTL	DIAGNOSTIC SECTION - SHIFT COUNTER RELIABILITY TEST

;SHIFT COUNTER TEST
;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1
	SR1	(461,230703,603700,230703,603700,ROT,0)

;SHIFT COUNTER TEST
;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1
	SR1	(462,230703,603700,700230,703603,ROT,77)

;SHIFT COUNTER TEST
;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1
	SR1	(463,230703,603700,740114,341701,ROT,76)

;SHIFT COUNTER TEST
;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1
	SR1	(464,230703,603700,370023,070360,ROT,74)
PAGE
;SHIFT COUNTER TEST
;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1
	SR1	(465,230703,603700,017401,143417,ROT,70)

;SHIFT COUNTER TEST
;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1
	SR1	(466,230703,603700,036037,002307,ROT,60)

;SHIFT COUNTER TEST
;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1
	SR1	(467,230703,603700,011434,170174,ROT,40)

;SHIFT COUNTER TEST
;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1
	SR1	(470,230703,603700,600461,607407,ROT,100)
PAGE
;SHIFT COUNTER TEST
;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1
	SR1	(471,230703,603700,461607,407600,ROT,1)

;SHIFT COUNTER TEST
;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1
	SR1	(472,230703,603700,143417,017401,ROT,2)

;SHIFT COUNTER TEST
;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1
	SR1	(473,230703,603700,307036,037002,ROT,3)

;SHIFT COUNTER TEST
;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1
	SR1	(474,230703,603700,434170,174011,ROT,5)
;SHIFT COUNTER TEST
;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1
	SR1	(475,230703,603700,703603,700230,ROT,11)

;SHIFT COUNTER TEST
;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1
	SR1	(476,230703,603700,701740,114341,ROT,21)

;SHIFT COUNTER TEST
;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1
	SR1	(477,230703,603700,023070,360370,ROT,41)

;SHIFT COUNTER TEST
;TEST SHIFT COUNTER FOR ANY BITS S-A-0/1
	SR1	(500,230703,603700,401143,417017,ROT,101)
SUBTTL	DIAGNOSTIC SECTION - SUPPLEMENTARY SHIFT COUNTER RELIABILITY TEST

ADR=501-3
N=-374-44

	REPEAT	^D15,<
ADR=ADR+3
N=N+44

;SHIFT COUNTER TEST
;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION
	SR1	(\ADR,230703,603700,114341,701740,ROT,N-1)

;SHIFT COUNTER TEST
;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS
	SR1	(\<ADR+1>,230703,603700,230703,603700,ROT,N)

;SHIFT COUNTER TEST
;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION
	SR1	(\<ADR+2>,230703,603700,461607,407600,ROT,N+1)
PAGE>
N=-374-44

	REPEAT	^D1,<
ADR=ADR+3
N=N+44

;SHIFT COUNTER TEST
;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION
	SR2	(\ADR,230703,603700,770037,600377,374017,700177,514341,701740,ROTC,N-1)

;SHIFT COUNTER TEST
;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS
	SR2	(\<ADR+1>,230703,603700,770037,600377,770037,600377,230703,603700,ROTC,N)

;SHIFT COUNTER TEST
;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION
	SR2	(\<ADR+2>,230703,603700,770037,600377,760077,400776,461607,407601,ROTC,N+1)
PAGE>
	REPEAT	^D7,<
ADR=ADR+3
N=N+44

;SHIFT COUNTER TEST
;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION
	SR2	(\ADR,230703,603700,770037,600377,514341,701740,374017,700177,ROTC,N-1)

;SHIFT COUNTER TEST
;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS
	SR2	(\<ADR+1>,230703,603700,770037,600377,230703,603700,770037,600377,ROTC,N)

;SHIFT COUNTER TEST
;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION
	SR2	(\<ADR+2>,230703,603700,770037,600377,461607,407601,760077,400776,ROTC,N+1)
PAGE
ADR=ADR+3
N=N+44

;SHIFT COUNTER TEST
;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS -1 POSITION
	SR2	(\ADR,230703,603700,770037,600377,374017,700177,514341,701740,ROTC,N-1)

;SHIFT COUNTER TEST
;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS
	SR2	(\<ADR+1>,230703,603700,770037,600377,770037,600377,230703,603700,ROTC,N)

;SHIFT COUNTER TEST
;TEST FOR CORRECT ROTATION BY A MULTIPLE OF 36 POSITIONS +1 POSITION
	SR2	(\<ADR+2>,230703,603700,770037,600377,760077,400776,461607,407601,ROTC,N+1)
PAGE>
;SHIFT COUNTER TEST
;TEST FOR MAXIMUM LEFT ROTATION (255 POSITIONS)
	SR1	(633,230703,603700,307036,037002,ROT,377)

;SHIFT COUNTER TEST
;TEST FOR MAXIMUM RIGHT ROTATION -1 (255 POSITIONS)
	SR1	(634,230703,603700,023070,360370,ROT,-377)

;SHIFT COUNTER TEST
;TEST FOR MAXIMUM LEFT ROTATION (255 POSITIONS)
	SR2	(635,230703,603700,770037,600377,700376,003772,307036,037007,ROTC,377)

;SHIFT COUNTER TEST
;TEST FOR MAXIMUM RIGHT ROTATION -1 (255 POSITIONS)
	SR2	(636,230703,603700,770037,600377,077003,760037,723070,360370,ROTC,-377)
;SHIFT COUNTER TEST
;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR
;RESULT SHOULD INDICATE NO ROTATION
	SR1	(637,230703,603700,230703,603700,ROT,400)

;SHIFT COUNTER TEST
;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR
;RESULT SHOULD INDICATE NO ROTATION
	SR1	(640,230703,603700,230703,603700,ROT,1000)

;SHIFT COUNTER TEST
;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR
;RESULT SHOULD INDICATE NO ROTATION
	SR1	(641,230703,603700,230703,603700,ROT,2000)

;SHIFT COUNTER TEST
;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR
;RESULT SHOULD INDICATE NO ROTATION
	SR1	(642,230703,603700,230703,603700,ROT,4000)
PAGE
;SHIFT COUNTER TEST
;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR
;RESULT SHOULD INDICATE NO ROTATION
	SR1	(643,230703,603700,230703,603700,ROT,10000)

;SHIFT COUNTER TEST
;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR
;RESULT SHOULD INDICATE NO ROTATION
	SR1	(644,230703,603700,230703,603700,ROT,20000)

;SHIFT COUNTER TEST
;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR
;RESULT SHOULD INDICATE NO ROTATION
	SR1	(645,230703,603700,230703,603700,ROT,40000)

;SHIFT COUNTER TEST
;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR
;RESULT SHOULD INDICATE NO ROTATION
	SR1	(646,230703,603700,230703,603700,ROT,100000)
PAGE
;SHIFT COUNTER TEST
;VERIFY THAT NO ROTATION TO LEFT GREATER THAN 255 POSITIONS CAN OCCUR
;RESULT SHOULD INDICATE NO ROTATION
	SR1	(647,230703,603700,230703,603700,ROT,200000)

;SHIFT COUNTER TEST
;TEST FOR MAXIMUM RIGHT ROTATION (256 POSITIONS)
	SR1	(650,230703,603700,011434,170174,ROT,400000)

;SHIFT COUNTER TEST
;TEST FOR MAXIMUM RIGHT ROTATION (256 POSITIONS)
	SR2	(651,230703,603700,770037,600377,037401,770017,751434,170174,ROTC,400000)
SUBTTL	DIAGNOSTIC SECTION - ACCUMULATOR ADDRESSING TEST

;TEST ACCUMULATOR ADDRESSING
;TEST THE ABILITY OF ROTC,LSHC,ASHC
;TO ADDRESS THE CORRECT ACCUMULATORS
;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS
;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING
;LEFT ZERO TIMES
;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER
;FROM AC'S ADDRESSED BY INSTRUCTION
;THE NUMBER OF THE AC REFERENCED IN ERROR
;IS IN AC
;INADVERTENT SHIFTING OR PICKING UP OF 
;BITS DURING FAC OR SAC WILL CAUSE AN ERROR

	AC=-2
	ZZ=-2
	REPEAT	^D7,		;SET UP ACCUMULATOR'S
<	ZZ=ZZ+2
	AC=AC+2
	MOVEI	AC,ZZ		;AC NUMBER TO AC
	MOVEI	AC+1,ZZ+1	;AC NUMBER TO AC+1
>
PAGE
	AC=1
	SAVEAC	(1,1)

SN=41400
	AC=14
	ZZ=14

E41400:	REPEAT	^D5,<		;TEST ROTC-ACCUMULATOR'S 7-14 
;TEST ACCUMULATOR ADDRESSING
;TEST THE ABILITY OF ROTC,LSHC,ASHC
;TO ADDRESS THE CORRECT ACCUMULATORS
;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS
;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING
;LEFT ZERO TIMES
;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER
;FROM AC'S ADDRESSED BY INSTRUCTION
;THE NUMBER OF THE AC REFERENCED IN ERROR
;IS IN AC
;INADVERTENT SHIFTING OR PICKING UP OF 
;BITS DURING FAC OR SAC WILL CAUSE AN ERROR

SN=SN+1
	ZZ=ZZ-1
	AC=AC-1
	ROTC	AC,0		;*ROTATE LEFT ZERO TIMES
	CAIE	AC,ZZ		;TEST FOR CORRECT AC
	ER3	AC,SN		;INCORRECT AC
	CAIE	AC+1,ZZ+1	;TEST FOR CORRECT AC+1
	ER4	AC,SN		;INCORRECT AC+1
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
	AC=11
	SAVEAC	(1,1)

SN=41500
	AC=12
	ZZ=12

E41500:	REPEAT	^D5,<		;TEST LSHC-ACCUMULATORS 5-12 
;TEST ACCUMULATOR ADDRESSING
;TEST THE ABILITY OF ROTC,LSHC,ASHC
;TO ADDRESS THE CORRECT ACCUMULATORS
;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS
;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING
;LEFT ZERO TIMES
;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER
;FROM AC'S ADDRESSED BY INSTRUCTION
;THE NUMBER OF THE AC REFERENCED IN ERROR
;IS IN AC
;INADVERTENT SHIFTING OR PICKING UP OF 
;BITS DURING FAC OR SAC WILL CAUSE AN ERROR

SN=SN+1
	ZZ=ZZ-1
	AC=AC-1
	LSHC	AC,0		;*SHIFT LEFT ZERO TIMES
	CAIE	AC,ZZ		;TEST FOR CORRECT AC
	ER3	AC,SN		;INCORRECT AC
	CAIE	AC+1,ZZ+1	;TEST FOR CORRECT AC+1
	ER4	AC,SN		;INCORRECT AC+1
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>


	AC=4
	SAVEAC	(1,1)

SN=41600
	AC=5
	ZZ=5

E41600:	REPEAT	^D5,<		;TEST ASHC-ACCUMULATORS 0-5 
;TEST ACCUMULATOR ADDRESSING
;TEST THE ABILITY OF ROTC,LSHC,ASHC
;TO ADDRESS THE CORRECT ACCUMULATORS
;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS
;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING
;LEFT ZERO TIMES
;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER
;FROM AC'S ADDRESSED BY INSTRUCTION
;THE NUMBER OF THE AC REFERENCED IN ERROR
;IS IN AC
;INADVERTENT SHIFTING OR PICKING UP OF 
;BITS DURING FAC OR SAC WILL CAUSE AN ERROR

SN=SN+1
	ZZ=ZZ-1
	AC=AC-1
	ASHC	AC,0		;*SHIFT LEFT ZERO TIMES
	CAIE	AC,ZZ		;TEST FOR CORRECT AC
	ER3	AC,SN		;INCORRECT AC
	CAIE	AC+1,ZZ+1	;TEST FOR CORRECT AC+1
	ER4	AC+1,SN		;INCORRECT AC+1
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
PAGE
;	AC=17
;	SAVEAC	(1,1)

SN=41700

E41700:	REPEAT	^D0,<		;TEST ASHC-ACUMMULATORS 17-0 
;TEST ACCUMULATOR ADDRESSING
;TEST THE ABILITY OF ROTC,LSHC,ASHC
;TO ADDRESS THE CORRECT ACCUMULATORS
;EACH AC IS LOADED WITH IT'S RESPECTIVE ADDRESS
;TESTING IS ACCOMPLISHED BY SHIFTING/ROTATING
;LEFT ZERO TIMES
;AN ERROR WILL OCCUR IF C(AC),C(AC+1) DIFFER
;FROM AC'S ADDRESSED BY INSTRUCTION
;THE NUMBER OF THE AC REFERENCED IN ERROR
;IS IN AC
;INADVERTENT SHIFTING OR PICKING UP OF 
;BITS DURING FAC OR SAC WILL CAUSE AN ERROR

SN=SN+1
	ASHC	AC,0		;*SHIFT LEFT ZERO TIMES
	CAIE	AC,17		;TEST FOR CORRECT AC
	ER3	AC,SN		;INCORRECT AC
	CAIE	AC+1,0		;TEST FOR CORRECT AC+1
	ER4	AC+1,SN		;INCORRECT AC+1
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
SUBTTL	DIAGNOSTIC SECTION - SUPPLEMENTARY BIT POSITION RELIABILITY TEST

	AC=12
	SAVEAC	(1,1)

SN=42000
	WW=030303		;USED FOR COMPARISON
	XX=030303		;SELECTED PATTERN
	ZZ=0

E42000:	REPEAT	^D4,<		;ROT LEFT (011)-TEST AC,AC+1 
;TEST SELECTED BIT CONFIGURATIONS
;TEST ABILITY TO ROTATE SELECTED PATTERNS
;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED
;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER
;        ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0
;        AC-1 CONTAINS BIT(S) THAT FAILED
;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER
;         ERROR WILL OCCUR IF AC DIFFERS FROM 0
;         AC CONTAINS BIT(S) THAT FAILED

SN=SN+1
	WW=WW+WW
	ZZ=ZZ+1
	SETACS (WW,XX)		;SET UP ACCUMULATORS
	ROTC	AC,ZZ		;*ROTATE (N) NUMBER OF TIMES
	XOR	AC-1,AC		;COMPARE AC
	SKIPE	<AC-1>&17	;SHOULD =0
	ER3	AC,SN		;AC-1 CONTAINS BIT(S) THAT FAILED
	XOR	AC-2,<AC+1>&17	;COMPARE AC+1
	SKIPE	<AC-2>&17	;SHOULD =0
	ER4	AC+1,SN		;AC CONTAINS BIT(S) THAT FAILED
	JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
>
PAGE
	AC=14
	SAVEAC	(1,1)

SN=42100
	WW=606060		;USED FOR COMPARISON
	XX=606060		;SELECTED PATTERN
	ZZ=0

E42100:	REPEAT	^D4,<		;ROT RIGHT (110)-TEST AC,AC+1 
;TEST SELECTED BIT CONFIGURATIONS
;TEST ABILITY TO ROTATE SELECTED PATTERNS
;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED
;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER
;        ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0
;        AC-1 CONTAINS BIT(S) THAT FAILED
;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER
;         ERROR WILL OCCUR IF AC DIFFERS FROM 0
;         AC CONTAINS BIT(S) THAT FAILED

SN=SN+1
	WW=WW/2
	ZZ=ZZ-1
	SETACS (WW,XX)
	ROTC	AC,ZZ		;*ROTATE (N) NUMBER OF TIMES
	XOR	AC-1,AC		;COMPARE AC
	SKIPE	<AC-1>&17	;SHOULD =0
	ER3	AC,SN		;AC-1 CONTAINS BIT(S) THAT FAILED
	XOR	AC-2,<AC+1>&17	;COMPARE AC+1
	SKIPE	<AC-2>&17	;SHOULD =0
	ER4	AC+1,SN		;AC CONTAINS BIT(S) THAT FAILED
	JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
>
	AC=13
	SAVEAC	(1,1)

SN=42200
	WW=050505		;USED FOR COMPARISON
	XX=050505		;SELECTED PATTERN
	ZZ=0

E42200:	REPEAT	^D3,<		;ROT LEFT (101)-TEST AC,AC+1 
;TEST SELECTED BIT CONFIGURATIONS
;TEST ABILITY TO ROTATE SELECTED PATTERNS
;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED
;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER
;        ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0
;        AC-1 CONTAINS BIT(S) THAT FAILED
;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER
;         ERROR WILL OCCUR IF AC DIFFERS FROM 0
;         AC CONTAINS BIT(S) THAT FAILED

SN=SN+1
	WW=WW+WW
	ZZ=ZZ+1
	SETACS (WW,XX)
	ROTC	AC,ZZ		;*ROTATE (N) NUMBER OF TIMES
	XOR	AC-1,AC		;COMPARE AC
	SKIPE	<AC-1>&17	;SHOULD  = 0
	ER3	AC,SN		;AC-1 CONTAINS BIT(S) THAT FAILED
	XOR	AC-2,<AC+1>&17	;COMPARE AC+1
	SKIPE	<AC-2>&17	;SHOULD = 0
	ER4	AC+1,SN		;AC CONTAINS BIT(S) THAT FAILED
	JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
>
PAGE
	AC=12
	SAVEAC	(1,1)

SN=42300
	WW=505050		;USED FOR COMPARISON
	XX=505050		;SELECTED PATTERN
	ZZ=0

E42300:	REPEAT	^D3,<		;ROT RIGHT (101)-TEST AC,AC+1 
;TEST SELECTED BIT CONFIGURATIONS
;TEST ABILITY TO ROTATE SELECTED PATTERNS
;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED
;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER
;        ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0
;        AC-1 CONTAINS BIT(S) THAT FAILED
;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER
;         ERROR WILL OCCUR IF AC DIFFERS FROM 0
;         AC CONTAINS BIT(S) THAT FAILED

SN=SN+1
	WW=WW/2
	ZZ=ZZ-1
	SETACS (WW,XX)
	ROTC	AC,ZZ		;*ROTATE (N) NUMBER OF TIMES
	XOR	AC-1,AC		;COMPARE AC
	SKIPE	<AC-1>&17	;SHOULD =0
	ER3	AC,SN		;AC-1 CONTAINS BIT(S) THAT FAILED
	XOR	AC-2,<AC+1>&17	;COMPARE AC+1
	SKIPE	<AC-2>&17	;SHOULD = 0
	ER4	AC+1,SN		;AC CONTAINS BIT(S) THAT FAILED
	JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
>
	AC=11
	SAVEAC	(1,1)

SN=42400
	WW=070707		;USED FOR COMPARISON
	XX=070707		;SELECTED PATTERN
	ZZ=0

E42400:	REPEAT	^D3,<		;ROT LEFT (111)-TEST AC,AC+1 
;TEST SELECTED BIT CONFIGURATIONS
;TEST ABILITY TO ROTATE SELECTED PATTERNS
;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED
;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER
;        ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0
;        AC-1 CONTAINS BIT(S) THAT FAILED
;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER
;         ERROR WILL OCCUR IF AC DIFFERS FROM 0
;         AC CONTAINS BIT(S) THAT FAILED

SN=SN+1
	WW=WW+WW
	ZZ=ZZ+1
	SETACS (WW,XX)
	ROTC	AC,ZZ		;*ROTATE (N) NUMBER OF TIMES
	XOR	AC-1,AC		;COMPARE AC
	SKIPE	<AC-1>&17	;SHOULD = 0
	ER3	AC,SN		;AC-1 CONTAINS BIT(S) THAT FAILED
	XOR	AC-2,<AC+1>&17	;COMPARE AC+1
	SKIPE	<AC-2>&17	;SHOULD = 0
	ER4	AC+1,SN		;AC CONTAINS BIT(S) THAT FAILED
	JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
>
PAGE
	AC=10
	SAVEAC	(1,1)

SN=42500
	WW=707070		;USED FOR COMPARISON
	XX=707070		;SELECTED PATTERN
	ZZ=0

E42500:	REPEAT	^D3,<		;ROT RIGHT (111)-TEST AC,AC+1 
;TEST SELECTED BIT CONFIGURATIONS
;TEST ABILITY TO ROTATE SELECTED PATTERNS
;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED
;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER
;        ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0
;        AC-1 CONTAINS BIT(S) THAT FAILED
;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER
;         ERROR WILL OCCUR IF AC DIFFERS FROM 0
;         AC CONTAINS BIT(S) THAT FAILED

SN=SN+1
	WW=WW/2
	ZZ=ZZ-1
	SETACS (WW,XX)
	ROTC	AC,ZZ		;*ROTATE (N) NUMBER OF TIMES
	XOR	AC-1,AC		;COMPARE
	SKIPE	<AC-1>&17	;SHOULD = 0
	ER3	AC,SN		;AC-1 CONTAINS BIT(S) THAT FAILED
	XOR	AC-2,<AC+1>&17	;COMPARE AC+1
	SKIPE	<AC-2>&17	;SHOULD = 0
	ER4	AC+1,SN		;AC CONTAINS BIT(S) THAT FAILED
	JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
>
	AC=7
	SAVEAC	(1,1)

SN=42600
	WW=025025		;USED FOR COMPARISON
	XX=025025		;SELECTED PATTERN
	ZZ=0

E42600:	REPEAT	^D4,<		;ROT LEFT (010101)-TEST AC,AC+1 
;TEST SELECTED BIT CONFIGURATIONS
;TEST ABILITY TO ROTATE SELECTED PATTERNS
;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED
;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER
;        ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0
;        AC-1 CONTAINS BIT(S) THAT FAILED
;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER
;         ERROR WILL OCCUR IF AC DIFFERS FROM 0
;         AC CONTAINS BIT(S) THAT FAILED

SN=SN+1
	WW=WW+WW
	ZZ=ZZ+1
	SETACS (WW,XX)
	ROTC	AC,ZZ		;*ROTATE (N) NUMBER OF TIMES
	XOR	AC-1,AC		;COMPARE AC
	SKIPE	<AC-1>&17	;SHOULD = 0
	ER3	AC,SN		;AC-1 CONTAINS BIT(S) THAT FAILED
	XOR	AC-2,<AC+1>&17	;COMPARE AC+1
	SKIPE	<AC-2>&17	;SHOULD = 0
	ER4	AC+1,SN		;AC CONTAINS BIT(S) THAT FAILED
	JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
>
PAGE
	AC=6
	SAVEAC	(1,1)

SN=42700
	WW=520520		;USED FOR COMPARISON
	XX=520520		;SELECTED PATTERN
	ZZ=0

E42700:	REPEAT	^D4,<		;ROT RIGHT (101010)-TEST AC,AC+1 
;TEST SELECTED BIT CONFIGURATIONS
;TEST ABILITY TO ROTATE SELECTED PATTERNS
;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED
;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER
;        ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0
;        AC-1 CONTAINS BIT(S) THAT FAILED
;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER
;         ERROR WILL OCCUR IF AC DIFFERS FROM 0
;         AC CONTAINS BIT(S) THAT FAILED

SN=SN+1
	WW=WW/2
	ZZ=ZZ-1
	SETACS (WW,XX)
	ROTC	AC,ZZ		;*ROTATE (N) NUMBER OF TIMES
	XOR	AC-1,AC		;COMPARE AC
	SKIPE	<AC-1>&17	;SHOULD = 0
	ER3	AC,SN		;AC-1 CONTAINS BIT(S) THAT FAILED
	XOR	AC-2,<AC+1>&17	;COMPARE AC+1
	SKIPE	<AC-2>&17	;SHOULD = 0
	ER4	AC+1,SN		;AC CONTAINS BIT(S) THAT FAILED
	JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
>
	AC=5
	SAVEAC	(1,1)

SN=43000
	WW=033033		;USED FOR COMPARISON
	XX=033033		;SELECTED PATTERN
	ZZ=0

E43000:	REPEAT	^D4,<		;ROT LEFT (011011)-TEST AC,AC+1 
;TEST SELECTED BIT CONFIGURATIONS
;TEST ABILITY TO ROTATE SELECTED PATTERNS
;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED
;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER
;        ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0
;        AC-1 CONTAINS BIT(S) THAT FAILED
;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER
;         ERROR WILL OCCUR IF AC DIFFERS FROM 0
;         AC CONTAINS BIT(S) THAT FAILED

SN=SN+1
	WW=WW+WW
	ZZ=ZZ+1
	SETACS (WW,XX)
	ROTC	AC,ZZ		;*ROTATE (N) NUMBER OF TIMES
	XOR	AC-1,AC		;COMPARE AC
	SKIPE	<AC-1>&17	;SHOULD = 0
	ER3	AC,SN		;AC-1 CONTAINS BIT(S) THAT FAILED
	XOR	AC-2,<AC+1>&17	;COMPARE AC+1
	SKIPE	<AC-2>&17	;SHOULD = 0
	ER4	AC+1,SN		;AC CONTAINS BIT(S) THAT FAILED
	JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
>
PAGE
	AC=4
	SAVEAC	(1,1)

SN=43100
	WW=660660		;USED FOR COMPARISON
	XX=660660		;SELECTED PATTERN
	ZZ=0

E43100:	REPEAT	^D4,<		;ROT RIGHT (110110)-TEST AC,AC+1 
;TEST SELECTED BIT CONFIGURATIONS
;TEST ABILITY TO ROTATE SELECTED PATTERNS
;AC,AC+1 ARE ROTATED LEFT/RIGHT AND TESTED
;TEST AC-AC-1 IS UTILIZED AS COMPARISON REGISTER
;        ERROR WILL OCCUR IF AC-1 DIFFERS FROM 0
;        AC-1 CONTAINS BIT(S) THAT FAILED
;TEST AC+1-AC IS UTILIZED AS COMPARISON REGISTER
;         ERROR WILL OCCUR IF AC DIFFERS FROM 0
;         AC CONTAINS BIT(S) THAT FAILED

SN=SN+1
	WW=WW/2
	ZZ=ZZ-1
	SETACS (WW,XX)
	ROTC	AC,ZZ		;*ROTATE (N) NUMBER OF TIMES
	XOR	AC-1,AC		;COMPARE AC
	SKIPE	<AC-1>&17	;SHOULD = 0
	ER3	AC,SN		;AC-1 CONTAINS BIT(S) THAT FAILED
	XOR	AC-2,<AC+1>&17	;COMPARE AC+1
	SKIPE	<AC-2>&17	;SHOULD = 0
	ER4	AC+1,SN		;AC CONTAINS BIT(S) THAT FAILED
	JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
>
SUBTTL	DIAGNOSTIC SECTION - ARITHMETIC OVERFLOW FLAG TEST

;TEST AROV FLAG-ASH,ASHC
;TEST THE ABILITY OF ASH,ASHC TO
;SET AROV FLAG
;TEST (00),(11) FOR SET NOT CONDITION
;TEST (01),(10) FOR SET CONDITION
;AN ERROR WILL OCCUR IF FLAG IS
;SET/SET NOT AS APPROPRIATE

	AC=10
	SAVEAC	(1,1)

				;ASH AROV SET NOT (11)
E43200:	JFCL	10,.+1		;CLR FLAG EXEC NEXT INST
	MOVSI	AC,-1		;SET LEFT,CLEAR RIGHT
	ASH	AC,1		;*SHIFT LEFT ONE
	JSP	AC-2,.+1	;SAVE FLAGS
	JFCL	10,.+2		;TEST FOR SET NOT COND
	JRST	0,.+2		;FLAG NOT SET
	ER13	AC-2,43201	;FLAG IS SET
	JUMPL	AC+2,E43200	;LOOP ON ERROR SWITCH

				;ASH AROV SET NOT (00)
E43300:	JFCL	10,.+1		;CLR FLAG EXEC NEXT INST
	SETZ	AC,		;CLEAR AC
	ASH	AC,1		;*SHIFT LEFT ONE
	JSP	AC-2,.+1	;SAVE FLAGS
	JFCL	10,.+2		;TEST FOR SET NOT COND
	JRST	0,.+2		;FLAG NOT SET
	ER13	AC-2,43301	;FLAG IS SET
	JUMPL	AC+2,E43300	;LOOP ON ERROR SWITCH
PAGE
	AC=7
	SAVEAC	(1,1)

				;ASH AROV SET (01)
E43400:	JFCL	10,.+1		;CLR FLAG EXEC NEXT INST
	MOVSI	AC,377777	;CLEAR 0 AND RIGHT HALF
	ASH	AC,1		;*SHIFT LEFT ONE
	JSP	AC-2,.+1	;SAVE FLAGS
	JFCL	10,.+2		;TEST FOR SET COND
	ER13	AC-2,43401	;FLAG IS NOT SET
	JUMPL	AC+2,E43400	;LOOP ON ERROR SWITCH

				;ASH AROV SET (10)
E43500:	JFCL	10,.+1		;CLR FLAG EXEC NEXT INST
	MOVSI	AC,400000	;SET BIT 0
	ASH	AC,1		;*SHIFT LEFT ONE
	JSP	AC-2,.+1	;SAVE FLAGS
	JFCL	10,.+2		;TEST FOR SET COND
	ER13	AC-2,43501	;FLAG IS NOT SET
	JUMPL	AC+2,E43500	;LOOP ON ERROR SWITCH
	AC=10
	SAVEAC	(1,1)

				;ASHC AROV SET NOT (11)
E43600:	JFCL	10,.+1		;CLR FLAG EXEC NEXT INST
	MOVSI	AC,-1		;SET LEFT, CLEAR RIGHT
	ASHC	AC,1		;*SHIFT LEFT ONE
	JSP	AC-2,.+1	;SAVE FLAGS
	JFCL	10,.+2		;TEST FOR SET NOT COND
	JRST	0,.+2		;FLAG NOT SET
	ER13	AC-2,43601	;FLAG IS SET
	JUMPL	AC+2,E43600	;LOOP ON ERROR SWITCH


				;ASHC AROV SET NOT (00)
E43700:	JFCL	10,.+1		;CLR FLAG EXEC NEXT INST
	SETZ	AC,		;CLEAR AC
	ASHC	AC,1		;*SHIFT LEFT ONE
	JSP	AC-2,.+1	;SAVE FLAGS
	JFCL	10,.+2		;TEST FOR SET NOT COND
	JRST	0,.+2		;FLAG NOT SET
	ER13	AC-2,43701	;FLAG IS SET
	JUMPL	AC+2,E43700	;LOOP ON ERROR SWITCH

	AC=7
	SAVEAC	(1,1)

				;ASHC AROV SET (01)
E44000:	JFCL	10,.+1		;CLR FLAG EXEC NEXT INST
	MOVSI	AC,377777	;CLEAR 0 AND RIGHT HALF
	ASHC	AC,1		;*SHIFT LEFT ONE
	JSP	AC-2,.+1	;SAVE FLAGS
	JFCL	10,.+2		;TEST FOR SET COND
	ER13	AC-2,44001	;FLAG IS NOT SET
	JUMPL	AC+2,E44000	;LOOP ON ERROR SWITCH

				;ASHC AROV SET (10)
E44100:	JFCL	10,.+1		;CLR FLAG EXEC NEXT INST
	MOVSI	AC,400000	;SET BIT 0
	ASHC	AC,1		;*SHIFT LEFT ONE
	JSP	AC-2,.+1	;SAVE FLAGS
	JFCL	10,.+2		;TEST FOR SET COND
	ER13	AC-2,44101	;FLAG IS NOT SET
	JUMPL	AC+2,E44100	;LOOP ON ERROR SWITCH
SUBTTL	DIAGNOSTIC SECTION - TEST INDEXING, INDIRECT ADDRESSING AND XCT OF ROT

;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN IT IS
;INDEXED.  THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO E + C(X),
;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD AND X IS THE INDEX REG.
;IN THIS CASE, C(AC)=230703,,603700, E=0, X=6 AND C(X)=3;
;HENCE, THE NET ROTATION SHOULD BE 3 BIT POSITIONS LEFT,
;AND THE RESULT IN THE AC SHOULD BE 307036,,037002 

	AC=7
	SAVEAC	(1,1)

E70000:	MOVEI	6,3			;PRELOAD INDEX REG WITH 3
	MOVE	AC,[230703,,603700]	;INITIALIZE AC WITH 230703,,603700
	ROT	AC,(6)			;*ROT C(AC) 3 BIT POSITIONS LEFT
	CAME	AC,[307036,,037002]	;IS RESULT IN AC CORRECT?
	ER3	AC,70001		;INDEXING FAILED
	JUMPL	AC+2,E70000		;LOOP ON ERROR SWITCH

;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN IT IS
;INDEXED.  THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO E + C(X),
;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD AND X IS THE INDEX REG.
;IN THIS CASE, C(AC)=230703,,603700, E=4, X=5 AND C(X)=0;
;HENCE, THE NET ROTATION SHOULD BE 4 BIT POSITIONS LEFT,
;AND THE RESULT IN THE AC SHOULD BE 616074,,076004.

E70100:	MOVEI	5,0			;PRELOAD INDEX REG WITH 0
	MOVE	AC,[230703,,603700]	;INITIALIZE AC WITH 230703,,603700
	ROT	AC,4(5)			;*ROT C(AC) 4 BIT POSITIONS LEFT
	CAME	AC,[616074,,076004]	;IS RESULT IN AC CORRECT?
	ER3	AC,70101		;INDEXING FAILED
	JUMPL	AC+2,E70100		;LOOP ON ERROR SWITCH
;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN IT IS
;INDEXED.  THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO E + C(X),
;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD AND X IS THE INDEX REG.
;IN THIS CASE, C(AC)=230703,,603700, E=16, X=6 AND C(X)=5;
;HENCE, THE NET ROTATION SHOULD BE 21 BIT POSITIONS LEFT,
;AND THE RESULT IN THE AC SHOULD BE 407600,,461607.

E70200:	MOVEI	6,5			;PRELOAD INDEX REG WITH 5
	MOVE	AC,[230703,,603700]	;INITIALIZE AC WITH 230703,,603700
	ROT	AC,16(6)		;*ROT C(AC) 21 BIT POSITIONS LEFT
	CAME	AC,[407600,,461607]	;IS RESULT IN AC CORRECT?
	ER3	AC,70201		;INDEXING FAILED
	JUMPL	AC+2,E70200		;LOOP ON ERROR SWITCH
;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN E IS
;INDIRECTLY ADDRESSED.  THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO C(E),
;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD.
;IN THIS CASE, C(AC)=230703,,603700, E=6 AND C(E)=35;
;HENCE, THE NET ROTATION SHOULD BE 35 BIT POSITIONS LEFT,
;AND THE RESULT IN THE AC SHOULD BE 401143,,417017.

E70300:	MOVEI	6,35			;PRELOAD E WITH 35
	MOVE	AC,[230703,,603700]	;INITIALIZE AC WITH 230703,,603700
	ROT	AC,@6			;*ROT C(AC) 35 BIT POSITIONS LEFT
	CAME	AC,[401143,,417017]	;IS RESULT IN AC CORRECT?
	ER3	AC,70301		;INDIRECT ADDRESSING FAILED
	JUMPL	AC+2,E70400		;LOOP ON ERROR SWITCH

;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN E IS
;INDIRECTLY ADDRESSED.  THE NUMBER OF BIT POSITIONS SHIFTED IS EQUAL TO THE RIGHT HALF OF C(E),
;WHERE E IS THE ADDRESS PORTION OF THE INSTRUCTION WORD.
;IN THIS CASE, C(AC)=230703,,603700, E=[0,,1] AND C(E)=15;
;HENCE, THE NET ROTATION SHOULD BE 1 BIT POSITION LEFT,
;AND THE RESULT IN THE AC SHOULD BE 461607,,407600.

E70400:	SETOM	1		;PRELOAD AC1 WITH -1,,-1 IN CASE IND. ADR. FAILS
	MOVE	AC,[230703,,603700]	;INITIALIZE AC WITH 230703,,603700
	ROT	AC,@[0,,1]		;*ROT C(AC) 1 BIT POSITION LEFT
	CAME	AC,[461607,,407600]	;IS RESULT IN AC CORRECT?
	ER3	AC,70401		;INDIRECT ADDRESSING FAILED
	JUMPL	AC+2,E70400		;LOOP ON ERROR SWITCH
;THIS TEST VERIFIES THAT THE ROT INSTRUCTION FUNCTIONS CORRECTLY WHEN IT IS
;EXECUTED BY AN XCT INSTRUCTION.
;IN THIS CASE, C(AC)=230703,,603700 AND E=2.
;HENCE, THE NET ROTATION SHOULD BE 2 BIT POSITIONS LEFT,
;AND THE RESULT IN THE AC SHOULD BE 143417,,017401.

E70500:	MOVE	AC,[230703,,603700]	;INITIALIZE AC WITH 230703,,603700
	XCT	[ROT AC,2]	;*XCT SHOULD ROT C(AC) 2 BIT POSITIONS LEFT
	CAME	AC,[143417,,017401]	;IS RESULT IN AC CORRECT?
	ER3	AC,70501		;XCT OF ROT FAILED
	JUMPL	AC+2,E70500		;LOOP ON ERROR SWITCH

	JRST	BEGEND