예제 #1
0
        public void Execute(Instruction instruction, ICpu cpu, IMmu mmu)
        {
            // Only call the routine if the zero flag is set
            if (!cpu.Registers.F.ZeroFlag)
            {
                IncrementProgramCounter = true;
                return;
            }

            cpu.Stack.Call(cpu.ReadImmediateNN(), cpu.Registers, mmu);
            IncrementProgramCounter = false;
        }
예제 #2
0
        public void Execute(Instruction instruction, ICpu cpu, IMmu mmu)
        {
            var nn = cpu.ReadImmediateNN();

            mmu.WriteByte(nn, cpu.Registers.A.Value);
        }
예제 #3
0
 public void Execute(Instruction instruction, ICpu cpu, IMmu mmu)
 {
     cpu.Registers.HL.Value = cpu.ReadImmediateNN();
 }
예제 #4
0
        public void Execute(Instruction instruction, ICpu cpu, IMmu mmu)
        {
            var nn = cpu.ReadImmediateNN();

            cpu.Stack.Call(nn, cpu.Registers, mmu);
        }