Exemple #1
0
        public void _00EE_RET(ushort addr)
        {
            // Make sure it's a valid address and doesn't cause an infinite loop
            Assert.InRange(addr,
                           514,
                           4094);

            var stackModule = new StackModule();

            stackModule.Push(addr);

            var instructions = new byte[]
            {
                0x00,
                0xEE
            };

            var chip = CHIP8Factory.GetChip8(stack: stackModule);

            chip.LoadProgram(instructions);

            chip.Tick += (c,
                          e) =>
            {
                chip.Stop();
            };

            chip.Start();

            var programCounter = GetProgramCounter(chip);

            Assert.Equal(addr,
                         programCounter);
        }