Beispiel #1
0
        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;
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
 }