| 1234567891011121314151617181920212223242526 |
- using ChocolArm64.Instruction;
- using ChocolArm64.State;
- namespace ChocolArm64.Decoder
- {
- class AOpCodeSimdShImm : AOpCode, IAOpCodeSimd
- {
- public int Rd { get; private set; }
- public int Rn { get; private set; }
- public int Imm { get; private set; }
- public int Size { get; private set; }
- public AOpCodeSimdShImm(AInst Inst, long Position, int OpCode) : base(Inst, Position)
- {
- Rd = (OpCode >> 0) & 0x1f;
- Rn = (OpCode >> 5) & 0x1f;
- Imm = (OpCode >> 16) & 0x7f;
- Size = ABitUtils.HighestBitSet32(Imm >> 3);
- RegisterSize = ((OpCode >> 30) & 1) != 0
- ? ARegisterSize.SIMD128
- : ARegisterSize.SIMD64;
- }
- }
- }
|