CSPspEmu.Core.Tests.CpuEmitterTest.ShiftTest C# (CSharp) Method

ShiftTest() private method

private ShiftTest ( ) : void
return void
        public void ShiftTest()
        {
            ExecuteAssembly(@"
                li   r10, 0b_10110111011110111110111111000000
                li   r11, 0b_01011011101111011111011111100000
                li   r12, 7

                sll  r1, r10, 7
                sllv r2, r10, r12
                srl  r3, r10, 7
                srlv r4, r10, r12
                sra  r5, r10, 7
                srav r6, r10, r12
                sra  r7, r11, 7
                srav r8, r11, r12
            ");

            // Check input not modified.
            Assert.AreEqual("10110111011110111110111111000000", "%032b".Sprintf(CpuThreadState.GPR[10]));
            Assert.AreEqual(7, CpuThreadState.GPR[12]);

            Assert.AreEqual("10111101111101111110000000000000", "%032b".Sprintf(CpuThreadState.GPR[1]));
            Assert.AreEqual("10111101111101111110000000000000", "%032b".Sprintf(CpuThreadState.GPR[2]));
            Assert.AreEqual("00000001011011101111011111011111", "%032b".Sprintf(CpuThreadState.GPR[3]));
            Assert.AreEqual("00000001011011101111011111011111", "%032b".Sprintf(CpuThreadState.GPR[4]));
            Assert.AreEqual("11111111011011101111011111011111", "%032b".Sprintf(CpuThreadState.GPR[5]));
            Assert.AreEqual("11111111011011101111011111011111", "%032b".Sprintf(CpuThreadState.GPR[6]));
            Assert.AreEqual("00000000101101110111101111101111", "%032b".Sprintf(CpuThreadState.GPR[7]));
            Assert.AreEqual("00000000101101110111101111101111", "%032b".Sprintf(CpuThreadState.GPR[8]));
        }