Exemplo n.º 1
0
 protected override void OnLastCycleLastM()
 {
     if (IsConditionMet())
     {
         Registers.PC = OpcodeByte.MakeUInt16(InstructionM2.Data, InstructionM3.Data);
     }
 }
        protected override void OnLastCycleLastM()
        {
            base.OnLastCycleLastM();

            if (!IsWrite)
            {
                var val16 = OpcodeByte.MakeUInt16(_readInstructionLo.Data, _readInstructionHi.Data);
                Registers[AffectedRegisters] = val16;
            }
        }
Exemplo n.º 3
0
        private ushort GetAddress()
        {
            if (IsIndirect)
            {
                return(OpcodeByte.MakeUInt16(
                           _readIndirectPart.Data,
                           new OpcodeByte(Registers.A)));
            }

            return(Registers.BC);
        }
        protected override void OnLastCycleLastM()
        {
            ThrowIfNoParametersFound();
            var lsb   = ExecutionEngine.MultiCycleOpcode.GetParameter(0);
            var msb   = ExecutionEngine.MultiCycleOpcode.GetParameter(1);
            var value = OpcodeByte.MakeUInt16(lsb, msb);

            if (ExecutionEngine.Opcode.Definition.IsIX)
            {
                Registers.IX = value;
            }
            else if (ExecutionEngine.Opcode.Definition.IsIY)
            {
                Registers.IY = value;
            }
            else
            {
                Registers[ExecutionEngine.Opcode.Definition.Register16FromP] = value;
            }
        }
Exemplo n.º 5
0
 private ushort GetAddress()
 {
     return(OpcodeByte.MakeUInt16(InstructionM2.Data, InstructionM3.Data));
 }