Esempio n. 1
0
 public override XtensaInstruction Decode(XtensaDisassembler dasm)
 {
     return(new XtensaInstruction
     {
         Opcode = this.opcode,
         Operands = new MachineOperand[] {
             dasm.GetAluRegister(dasm.state.s),
             ImmediateOperand.Byte((byte)(((dasm.state.r & 1) << 4) | dasm.state.t)),
             dasm.JumpOffset(dasm.state.imm8)
         }
     });
 }
Esempio n. 2
0
            public override XtensaInstruction Decode(XtensaDisassembler dasm)
            {
                var n =
                    dasm.state.r |
                    ((dasm.state.t & 0x3) << 4);
                var dst = dasm.JumpOffset((byte)n);

                // this is a 2-byte instruction, so back up one byte.
                dasm.rdr.Offset -= 1;

                return(new XtensaInstruction
                {
                    Opcode = opcode,
                    Operands = new MachineOperand[]
                    {
                        dasm.GetAluRegister(dasm.state.s),
                        dst,
                    }
                });
            }