public AOpCodeAdr(AInst Inst, long Position, int OpCode) : base(Inst, Position) { Rd = OpCode & 0x1f; Imm = ADecoderHelper.DecodeImmS19_2(OpCode); Imm |= ((long)OpCode >> 29) & 3; }
public AOpCodeBImmCmp(AInst Inst, long Position, int OpCode) : base(Inst, Position, OpCode) { Rt = OpCode & 0x1f; Imm = Position + ADecoderHelper.DecodeImmS19_2(OpCode); RegisterSize = (OpCode >> 31) != 0 ? ARegisterSize.Int64 : ARegisterSize.Int32; }
public AOpCodeBImmCond(AInst Inst, long Position, int OpCode) : base(Inst, Position) { int O0 = (OpCode >> 4) & 1; if (O0 != 0) { Emitter = AInstEmit.Und; return; } Cond = (ACond)(OpCode & 0xf); Imm = Position + ADecoderHelper.DecodeImmS19_2(OpCode); }
public AOpCodeSimdMemLit(AInst Inst, long Position, int OpCode) : base(Inst, Position) { int Opc = (OpCode >> 30) & 3; if (Opc == 3) { Emitter = AInstEmit.Und; return; } Rt = OpCode & 0x1f; Imm = Position + ADecoderHelper.DecodeImmS19_2(OpCode); Size = Opc + 2; }
public AOpCodeMemLit(AInst Inst, long Position, int OpCode) : base(Inst, Position) { Rt = OpCode & 0x1f; Imm = Position + ADecoderHelper.DecodeImmS19_2(OpCode); switch ((OpCode >> 30) & 3) { case 0: Size = 2; Signed = false; Prefetch = false; break; case 1: Size = 3; Signed = false; Prefetch = false; break; case 2: Size = 2; Signed = true; Prefetch = false; break; case 3: Size = 0; Signed = false; Prefetch = true; break; } }
public AOpCodeBImmCmp(AInst Inst, long Position, int OpCode) : base(Inst, Position) { Rt = OpCode & 0x1f; Imm = Position + ADecoderHelper.DecodeImmS19_2(OpCode); }