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

JalTest() private method

private JalTest ( ) : void
return void
        public void JalTest()
        {
            var Events = new List<int>();

            CpuProcessor.RegisterNativeSyscall(1, () => { Events.Add(1); });
            CpuProcessor.RegisterNativeSyscall(2, () => { Events.Add(2); });
            CpuProcessor.RegisterNativeSyscall(3, () => { Events.Add(3); });
            CpuProcessor.RegisterNativeSyscall(4, () => { Events.Add(4); });

            ExecuteAssembly(@"
                li r1, 100
                syscall 1

                jal function1
                nop
                jal function1
                nop
                jal function1
                nop
                syscall 3

            j end
            nop

            function1:
                syscall 2
                addi r1, r1, 1
                jr r31
                nop

            end:
                nop
                syscall 4
            ");

            Assert.AreEqual("[1,2,2,2,3,4]", Events.ToJson());
            Assert.AreEqual(103, CpuThreadState.GPR[1]);
        }