public static Instruction Destination(this Instruction instuction, MemoryAddress value) { instuction.MaskedOpCode = instuction.MaskedOpCode.SetDest(OpCodeFlag.MemoryAddress); instuction.Parameters = instuction.Parameters.Length == 0 ? new uint[] {value} : new[] {value, instuction.Parameters[0]}; return instuction; }
public static Instruction Source(this Instruction instuction, MemoryAddress value) { instuction.MaskedOpCode = instuction.MaskedOpCode.SetSource(OpCodeFlag.MemoryAddress); instuction.Parameters = instuction.Parameters.Length == 0 ? new uint[] { value } : new[] { instuction.Parameters[0], value }; return(instuction); }
public static Instruction Source(this Instruction instuction, MemoryAddress value) { instuction.MaskedOpCode = instuction.MaskedOpCode.SetSource(OpCodeFlag.MemoryAddress); instuction.Parameters = instuction.Parameters.Length == 0 ? new uint[] {value} : new[] { instuction.Parameters[0], value }; return instuction; }
private void Invoke(Action<Cpu, byte, uint, uint> instruction, Register destination, MemoryAddress source) { instruction(_cpu, (byte) OpCodeFlag.Register | (byte) OpCodeFlag.MemoryAddress << 2, destination, source); }
private void Invoke(Action<Cpu, byte, uint, uint> instruction, MemoryAddress destination, uint source) { instruction(_cpu, (byte) OpCodeFlag.MemoryAddress | (byte) OpCodeFlag.Constant << 2, destination, source); }
private void Invoke(Action<Cpu, byte, uint> instruction, MemoryAddress destination) { instruction(_cpu, (byte)OpCodeFlag.MemoryAddress | (byte)OpCodeFlag.MemoryAddress << 2, destination); }