Exemple #1
0
        public virtual void addOpcode(int opcode, int mask, string label)
        {
            NativeOpcodeInfo[] newOpcodes = new NativeOpcodeInfo[opcodes.Length + 1];
            Array.Copy(opcodes, 0, newOpcodes, 0, opcodes.Length);
            opcodes = newOpcodes;

            opcodes[opcodes.Length - 1] = new NativeOpcodeInfo(opcode, mask, label);
        }
Exemple #2
0
            public virtual int getValue(int address, NativeOpcodeInfo[] opcodes)
            {
                if (isLabelIndex && value >= 0 && value < opcodes.Length)
                {
                    int labelAddress        = address + (value << 2);
                    int targetOpcode        = Memory.Instance.read32(labelAddress);
                    NativeOpcodeInfo opcode = opcodes[value];
                    return(targetOpcode & opcode.NotMask);
                }

                return(value);
            }