OpCodeT16BImmCmp.cs 578 B

12345678910111213141516171819
  1. namespace ARMeilleure.Decoders
  2. {
  3. class OpCodeT16BImmCmp : OpCodeT16
  4. {
  5. public int Rn { get; }
  6. public int Immediate { get; }
  7. public static new OpCode Create(InstDescriptor inst, ulong address, int opCode) => new OpCodeT16BImmCmp(inst, address, opCode);
  8. public OpCodeT16BImmCmp(InstDescriptor inst, ulong address, int opCode) : base(inst, address, opCode)
  9. {
  10. Rn = (opCode >> 0) & 0x7;
  11. int imm = ((opCode >> 2) & 0x3e) | ((opCode >> 3) & 0x40);
  12. Immediate = (int)GetPc() + imm;
  13. }
  14. }
  15. }