public static int getArg(DecodedInstruction insn, int arg) { switch (arg) { case 0: return insn.getA(); case 1: return insn.getB(); case 2: return insn.getC(); case 3: return insn.getD(); case 4: return insn.getE(); default: throw new JadxRuntimeException("Wrong argument number: " + arg); } }
/** * Gets the C register number, as a code unit. This will throw if the * value is out of the range of an unsigned code unit. */ public final short getCUnit() { int c = getC(); if ((c & ~0xffff) != 0) { throw new DexException("Register C out of range: " + Hex.u8(c)); } return (short) c; }
/** * Gets the C register number, as a byte. This will throw if the * value is out of the range of an unsigned byte. */ public final short getCByte() { int c = getC(); if ((c & ~0xff) != 0) { throw new DexException("Register C out of range: " + Hex.u8(c)); } return (short) c; }
/** * Gets the C register number, as a nibble. This will throw if the * value is out of the range of an unsigned nibble. */ public final short getCNibble() { int c = getC(); if ((c & ~0xf) != 0) { throw new DexException("Register C out of range: " + Hex.u8(c)); } return (short) c; }
/** * Gets the C register number, as a nibble. This will throw if the * value is out of the range of an unsigned nibble. */ public final short getCNibble() { int c = getC(); if ((c & ~0xf) != 0) { throw new DexException("Register C out of range: " + Hex.u8(c)); } return (short) c; }
/** * Gets the C register number, as a byte. This will throw if the * value is out of the range of an unsigned byte. */ public final short getCByte() { int c = getC(); if ((c & ~0xff) != 0) { throw new DexException("Register C out of range: " + Hex.u8(c)); } return (short) c; }
/** * Gets the C register number, as a nibble. This will throw if the * value is out of the range of an unsigned nibble. */ public final short getCNibble() { int c = getC(); if ((c & ~0xf) != 0) { throw new DexException("Register C out of range: " + Hex.u8(c)); } return (short) c; }
/** * Gets the C register number, as a nibble. This will throw if the * value is out of the range of an unsigned nibble. */ public final short getCNibble() { int c = getC(); if ((c & ~0xf) != 0) { throw new DexException("Register C out of range: " + Hex.u8(c)); } return (short) c; }
/** * Gets the C register number, as a code unit. This will throw if the * value is out of the range of an unsigned code unit. */ public final short getCUnit() { int c = getC(); if ((c & ~0xffff) != 0) { throw new DexException("Register C out of range: " + Hex.u8(c)); } return (short) c; }
/** * Gets the C register number, as a byte. This will throw if the * value is out of the range of an unsigned byte. */ public final short getCByte() { int c = getC(); if ((c & ~0xff) != 0) { throw new DexException("Register C out of range: " + Hex.u8(c)); } return (short) c; }
/** * Gets the C register number, as a byte. This will throw if the * value is out of the range of an unsigned byte. */ public final short getCByte() { int c = getC(); if ((c & ~0xff) != 0) { throw new DexException("Register C out of range: " + Hex.u8(c)); } return (short) c; }
@Override public void encode(DecodedInstruction insn, CodeOutput out) { out.write( codeUnit(insn.getOpcode(), insn.getA()), codeUnit(insn.getB(), insn.getC())); } },
@Override public void encode(DecodedInstruction insn, CodeOutput out) { out.write( codeUnit(insn.getOpcode(), insn.getA()), codeUnit(insn.getB(), insn.getC())); } },
@Override public void encode(DecodedInstruction insn, CodeOutput out) { out.write( codeUnit(insn.getOpcode(), insn.getA()), codeUnit(insn.getB(), insn.getC())); } },
/** * Helper method that encodes any of the register-list formats. */ private static void encodeRegisterList(DecodedInstruction insn, CodeOutput out) { out.write(codeUnit(insn.getOpcode(), makeByte(insn.getE(), insn.getRegisterCount())), insn.getIndexUnit(), codeUnit(insn.getA(), insn.getB(), insn.getC(), insn.getD())); }
/** * Helper method that encodes any of the register-list formats. */ private static void encodeRegisterList(DecodedInstruction insn, CodeOutput out) { out.write(codeUnit(insn.getOpcode(), makeByte(insn.getE(), insn.getRegisterCount())), insn.getIndexUnit(), codeUnit(insn.getA(), insn.getB(), insn.getC(), insn.getD())); }
/** * Helper method that encodes any of the register-list formats. */ private static void encodeRegisterList(DecodedInstruction insn, CodeOutput out) { out.write(codeUnit(insn.getOpcode(), makeByte(insn.getE(), insn.getRegisterCount())), insn.getIndexUnit(), codeUnit(insn.getA(), insn.getB(), insn.getC(), insn.getD())); }
/** * Helper method that encodes any of the register-list formats. */ private static void encodeRegisterList(DecodedInstruction insn, CodeOutput out) { out.write(codeUnit(insn.getOpcode(), makeByte(insn.getE(), insn.getRegisterCount())), insn.getIndexUnit(), codeUnit(insn.getA(), insn.getB(), insn.getC(), insn.getD())); }
/** * Helper method that encodes any of the register-list formats. */ private static void encodeRegisterList(DecodedInstruction insn, CodeOutput out) { out.write(codeUnit(insn.getOpcode(), makeByte(insn.getE(), insn.getRegisterCount())), insn.getIndexUnit(), codeUnit(insn.getA(), insn.getB(), insn.getC(), insn.getD())); }
/** * Helper method that encodes any of the register-list formats. */ private static void encodeRegisterList(DecodedInstruction insn, CodeOutput out) { out.write(codeUnit(insn.getOpcode(), makeByte(insn.getE(), insn.getRegisterCount())), insn.getIndexUnit(), codeUnit(insn.getA(), insn.getB(), insn.getC(), insn.getD())); }