| 12345678910111213141516171819202122232425262728293031 |
- namespace ARMeilleure.Decoders
- {
- class OpCodeSimdRegElem : OpCodeSimdReg
- {
- public int Index { get; }
- public new static OpCode Create(InstDescriptor inst, ulong address, int opCode) => new OpCodeSimdRegElem(inst, address, opCode);
- public OpCodeSimdRegElem(InstDescriptor inst, ulong address, int opCode) : base(inst, address, opCode)
- {
- switch (Size)
- {
- case 1:
- Index = (opCode >> 20) & 3 |
- (opCode >> 9) & 4;
- Rm &= 0xf;
- break;
- case 2:
- Index = (opCode >> 21) & 1 |
- (opCode >> 10) & 2;
- break;
- default: Instruction = InstDescriptor.Undefined; break;
- }
- }
- }
- }
|