AOpCodeBImmCond.cs 573 B

12345678910111213141516171819202122232425
  1. using ChocolArm64.Instruction;
  2. namespace ChocolArm64.Decoder
  3. {
  4. class AOpCodeBImmCond : AOpCodeBImm, IAOpCodeCond
  5. {
  6. public ACond Cond { get; private set; }
  7. public AOpCodeBImmCond(AInst Inst, long Position, int OpCode) : base(Inst, Position, OpCode)
  8. {
  9. int O0 = (OpCode >> 4) & 1;
  10. if (O0 != 0)
  11. {
  12. Emitter = AInstEmit.Und;
  13. return;
  14. }
  15. Cond = (ACond)(OpCode & 0xf);
  16. Imm = Position + ADecoderHelper.DecodeImmS19_2(OpCode);
  17. }
  18. }
  19. }