{FlapShift.mc, HGM, 12-Nov-84 17:32:55}


	Reserve[0F5F, 0FFF]; { section used by the CP Kernel }
	SetTask[0]; StartAddress[Go];


RegDef[R0,R,0];
RegDef[R1,R,1];
RegDef[R2,R,2];
RegDef[R3,R,3];
RegDef[R4,R,4];
RegDef[R5,R,5];
RegDef[R6,R,6];
RegDef[R7,R,7];
RegDef[R8,R,8];
RegDef[R9,R,9];

RegDef[RA,R,0A];



Go:	ClrIntErr,					c1, at[0];
	R0 ← 0,						c2, at[0FF];
	Noop,						c3, at[0F00];
	
Loop:	IB ← 0, {Scope sync}				c1;
	R0 ← 0,						c2;
	R1 ← ~R1 xor R1,				c3;

	R2 ← RShift1 R0, SE←0,				c1;
	R3 ← RShift1 R1, SE←0,				c2;
	Noop,						c3;

	R4 ← RShift1 R0, SE←1,				c1;
	R5 ← RShift1 R1, SE←1,				c2;
	Noop,						c3;

	R6 ← LShift1 R0, SE←0,				c1;
	R7 ← LShift1 R1, SE←0,				c2;
	Noop,						c3;

	R8 ← LShift1 R0, SE←1,				c1;
	R9 ← LShift1 R1, SE←1,				c2;
	Noop,						c3;

	R2 ← RShift1 (~R2 xor R2), SE←0,		c1, at[01AF];
	Noop,						c2;
	Noop,						c3;

	Noop,						c1;
	Noop,						c2;
	GOTO[Loop],					c3;