@Override
    public DecodedInstruction decode(int opcodeUnit, CodeInput in) throws EOFException {
      int opcode = byte0(opcodeUnit);
      int a = byte1(opcodeUnit);
      long literal = (short) in.read(); // sign-extend

      /*
       * Format 21h decodes differently depending on the opcode,
       * because the "signed hat" might represent either a 32-
       * or 64- bit value.
       */
      literal <<= (opcode == Opcodes.CONST_HIGH16) ? 16 : 48;

      return new OneRegisterDecodedInstruction(this, opcode, 0, null, 0, literal, a);
    }
Representation of an instruction format, which knows how to decode into and encode from instances
of {@link DecodedInstruction}.
android/android_framework/dex-maker/src/main/java/com/android/dx/io/instructions/InstructionCodec.java