Esempio n. 1
0
            public override VaxInstruction Decode(uint uInstr, VaxDisassembler dasm)
            {
                foreach (var m in mutators)
                {
                    if (!m(uInstr, dasm))
                    {
                        return(dasm.CreateInvalidInstruction());
                    }
                }
                var instr = new VaxInstruction
                {
                    Opcode           = this.op,
                    InstructionClass = this.iclass,
                    Operands         = dasm.ops.ToArray()
                };

                return(instr);
            }
Esempio n. 2
0
            public virtual VaxInstruction Decode(VaxDisassembler dasm)
            {
                foreach (var m in mutators)
                {
                    if (!m(dasm))
                    {
                        return(new VaxInstruction
                        {
                            Opcode = Opcode.Invalid,
                            IClass = InstrClass.Invalid,
                            Operands = new MachineOperand[0]
                        });
                    }
                }
                var instr = new VaxInstruction
                {
                    Opcode   = this.op,
                    IClass   = this.iclass,
                    Operands = dasm.ops.ToArray()
                };

                return(instr);
            }
Esempio n. 3
0
 public virtual VaxInstruction Decode(VaxDisassembler dasm)
 {
     return(dasm.DecodeOperands(op, format));
 }