|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.android.dx.io.Opcodes
public final class Opcodes
All the Dalvik opcode value constants. See the related spec document for the meaning and instruction format of each opcode.
| Field Summary | |
|---|---|
static int |
ADD_DOUBLE
|
static int |
ADD_DOUBLE_2ADDR
|
static int |
ADD_FLOAT
|
static int |
ADD_FLOAT_2ADDR
|
static int |
ADD_INT
|
static int |
ADD_INT_2ADDR
|
static int |
ADD_INT_LIT16
|
static int |
ADD_INT_LIT8
|
static int |
ADD_LONG
|
static int |
ADD_LONG_2ADDR
|
static int |
AGET
|
static int |
AGET_BOOLEAN
|
static int |
AGET_BYTE
|
static int |
AGET_CHAR
|
static int |
AGET_OBJECT
|
static int |
AGET_SHORT
|
static int |
AGET_WIDE
|
static int |
AND_INT
|
static int |
AND_INT_2ADDR
|
static int |
AND_INT_LIT16
|
static int |
AND_INT_LIT8
|
static int |
AND_LONG
|
static int |
AND_LONG_2ADDR
|
static int |
APUT
|
static int |
APUT_BOOLEAN
|
static int |
APUT_BYTE
|
static int |
APUT_CHAR
|
static int |
APUT_OBJECT
|
static int |
APUT_SHORT
|
static int |
APUT_WIDE
|
static int |
ARRAY_LENGTH
|
static int |
CHECK_CAST
|
static int |
CMP_LONG
|
static int |
CMPG_DOUBLE
|
static int |
CMPG_FLOAT
|
static int |
CMPL_DOUBLE
|
static int |
CMPL_FLOAT
|
static int |
CONST
|
static int |
CONST_16
|
static int |
CONST_4
|
static int |
CONST_CLASS
|
static int |
CONST_HIGH16
|
static int |
CONST_STRING
|
static int |
CONST_STRING_JUMBO
|
static int |
CONST_WIDE
|
static int |
CONST_WIDE_16
|
static int |
CONST_WIDE_32
|
static int |
CONST_WIDE_HIGH16
|
static int |
DIV_DOUBLE
|
static int |
DIV_DOUBLE_2ADDR
|
static int |
DIV_FLOAT
|
static int |
DIV_FLOAT_2ADDR
|
static int |
DIV_INT
|
static int |
DIV_INT_2ADDR
|
static int |
DIV_INT_LIT16
|
static int |
DIV_INT_LIT8
|
static int |
DIV_LONG
|
static int |
DIV_LONG_2ADDR
|
static int |
DOUBLE_TO_FLOAT
|
static int |
DOUBLE_TO_INT
|
static int |
DOUBLE_TO_LONG
|
static int |
FILL_ARRAY_DATA
|
static int |
FILL_ARRAY_DATA_PAYLOAD
special pseudo-opcode value for fill-array-data data payload instructions |
static int |
FILLED_NEW_ARRAY
|
static int |
FILLED_NEW_ARRAY_RANGE
|
static int |
FLOAT_TO_DOUBLE
|
static int |
FLOAT_TO_INT
|
static int |
FLOAT_TO_LONG
|
static int |
GOTO
|
static int |
GOTO_16
|
static int |
GOTO_32
|
static int |
IF_EQ
|
static int |
IF_EQZ
|
static int |
IF_GE
|
static int |
IF_GEZ
|
static int |
IF_GT
|
static int |
IF_GTZ
|
static int |
IF_LE
|
static int |
IF_LEZ
|
static int |
IF_LT
|
static int |
IF_LTZ
|
static int |
IF_NE
|
static int |
IF_NEZ
|
static int |
IGET
|
static int |
IGET_BOOLEAN
|
static int |
IGET_BYTE
|
static int |
IGET_CHAR
|
static int |
IGET_OBJECT
|
static int |
IGET_SHORT
|
static int |
IGET_WIDE
|
static int |
INSTANCE_OF
|
static int |
INT_TO_BYTE
|
static int |
INT_TO_CHAR
|
static int |
INT_TO_DOUBLE
|
static int |
INT_TO_FLOAT
|
static int |
INT_TO_LONG
|
static int |
INT_TO_SHORT
|
static int |
INVOKE_DIRECT
|
static int |
INVOKE_DIRECT_RANGE
|
static int |
INVOKE_INTERFACE
|
static int |
INVOKE_INTERFACE_RANGE
|
static int |
INVOKE_STATIC
|
static int |
INVOKE_STATIC_RANGE
|
static int |
INVOKE_SUPER
|
static int |
INVOKE_SUPER_RANGE
|
static int |
INVOKE_VIRTUAL
|
static int |
INVOKE_VIRTUAL_RANGE
|
static int |
IPUT
|
static int |
IPUT_BOOLEAN
|
static int |
IPUT_BYTE
|
static int |
IPUT_CHAR
|
static int |
IPUT_OBJECT
|
static int |
IPUT_SHORT
|
static int |
IPUT_WIDE
|
static int |
LONG_TO_DOUBLE
|
static int |
LONG_TO_FLOAT
|
static int |
LONG_TO_INT
|
static int |
MAX_VALUE
maximum valid opcode value |
static int |
MIN_VALUE
minimum valid opcode value |
static int |
MONITOR_ENTER
|
static int |
MONITOR_EXIT
|
static int |
MOVE
|
static int |
MOVE_16
|
static int |
MOVE_EXCEPTION
|
static int |
MOVE_FROM16
|
static int |
MOVE_OBJECT
|
static int |
MOVE_OBJECT_16
|
static int |
MOVE_OBJECT_FROM16
|
static int |
MOVE_RESULT
|
static int |
MOVE_RESULT_OBJECT
|
static int |
MOVE_RESULT_WIDE
|
static int |
MOVE_WIDE
|
static int |
MOVE_WIDE_16
|
static int |
MOVE_WIDE_FROM16
|
static int |
MUL_DOUBLE
|
static int |
MUL_DOUBLE_2ADDR
|
static int |
MUL_FLOAT
|
static int |
MUL_FLOAT_2ADDR
|
static int |
MUL_INT
|
static int |
MUL_INT_2ADDR
|
static int |
MUL_INT_LIT16
|
static int |
MUL_INT_LIT8
|
static int |
MUL_LONG
|
static int |
MUL_LONG_2ADDR
|
static int |
NEG_DOUBLE
|
static int |
NEG_FLOAT
|
static int |
NEG_INT
|
static int |
NEG_LONG
|
static int |
NEW_ARRAY
|
static int |
NEW_INSTANCE
|
static int |
NO_NEXT
pseudo-opcode used to indicate there is no next opcode; used in opcode chaining lists |
static int |
NOP
|
static int |
NOT_INT
|
static int |
NOT_LONG
|
static int |
OR_INT
|
static int |
OR_INT_2ADDR
|
static int |
OR_INT_LIT16
|
static int |
OR_INT_LIT8
|
static int |
OR_LONG
|
static int |
OR_LONG_2ADDR
|
static int |
PACKED_SWITCH
|
static int |
PACKED_SWITCH_PAYLOAD
special pseudo-opcode value for packed-switch data payload instructions |
static int |
REM_DOUBLE
|
static int |
REM_DOUBLE_2ADDR
|
static int |
REM_FLOAT
|
static int |
REM_FLOAT_2ADDR
|
static int |
REM_INT
|
static int |
REM_INT_2ADDR
|
static int |
REM_INT_LIT16
|
static int |
REM_INT_LIT8
|
static int |
REM_LONG
|
static int |
REM_LONG_2ADDR
|
static int |
RETURN
|
static int |
RETURN_OBJECT
|
static int |
RETURN_VOID
|
static int |
RETURN_WIDE
|
static int |
RSUB_INT
|
static int |
RSUB_INT_LIT8
|
static int |
SGET
|
static int |
SGET_BOOLEAN
|
static int |
SGET_BYTE
|
static int |
SGET_CHAR
|
static int |
SGET_OBJECT
|
static int |
SGET_SHORT
|
static int |
SGET_WIDE
|
static int |
SHL_INT
|
static int |
SHL_INT_2ADDR
|
static int |
SHL_INT_LIT8
|
static int |
SHL_LONG
|
static int |
SHL_LONG_2ADDR
|
static int |
SHR_INT
|
static int |
SHR_INT_2ADDR
|
static int |
SHR_INT_LIT8
|
static int |
SHR_LONG
|
static int |
SHR_LONG_2ADDR
|
static int |
SPARSE_SWITCH
|
static int |
SPARSE_SWITCH_PAYLOAD
special pseudo-opcode value for packed-switch data payload instructions |
static int |
SPECIAL_FORMAT
pseudo-opcode used for nonstandard format payload "instructions". |
static int |
SPUT
|
static int |
SPUT_BOOLEAN
|
static int |
SPUT_BYTE
|
static int |
SPUT_CHAR
|
static int |
SPUT_OBJECT
|
static int |
SPUT_SHORT
|
static int |
SPUT_WIDE
|
static int |
SUB_DOUBLE
|
static int |
SUB_DOUBLE_2ADDR
|
static int |
SUB_FLOAT
|
static int |
SUB_FLOAT_2ADDR
|
static int |
SUB_INT
|
static int |
SUB_INT_2ADDR
|
static int |
SUB_LONG
|
static int |
SUB_LONG_2ADDR
|
static int |
THROW
|
static int |
USHR_INT
|
static int |
USHR_INT_2ADDR
|
static int |
USHR_INT_LIT8
|
static int |
USHR_LONG
|
static int |
USHR_LONG_2ADDR
|
static int |
XOR_INT
|
static int |
XOR_INT_2ADDR
|
static int |
XOR_INT_LIT16
|
static int |
XOR_INT_LIT8
|
static int |
XOR_LONG
|
static int |
XOR_LONG_2ADDR
|
| Method Summary | |
|---|---|
static int |
extractOpcodeFromUnit(int opcodeUnit)
Gets the opcode out of an opcode unit, the latter of which may also include one or more argument values. |
static boolean |
isValidShape(int opcode)
Determines if the given opcode has the right "shape" to be valid. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int SPECIAL_FORMAT
public static final int NO_NEXT
public static final int MIN_VALUE
public static final int MAX_VALUE
public static final int NOP
public static final int MOVE
public static final int MOVE_FROM16
public static final int MOVE_16
public static final int MOVE_WIDE
public static final int MOVE_WIDE_FROM16
public static final int MOVE_WIDE_16
public static final int MOVE_OBJECT
public static final int MOVE_OBJECT_FROM16
public static final int MOVE_OBJECT_16
public static final int MOVE_RESULT
public static final int MOVE_RESULT_WIDE
public static final int MOVE_RESULT_OBJECT
public static final int MOVE_EXCEPTION
public static final int RETURN_VOID
public static final int RETURN
public static final int RETURN_WIDE
public static final int RETURN_OBJECT
public static final int CONST_4
public static final int CONST_16
public static final int CONST
public static final int CONST_HIGH16
public static final int CONST_WIDE_16
public static final int CONST_WIDE_32
public static final int CONST_WIDE
public static final int CONST_WIDE_HIGH16
public static final int CONST_STRING
public static final int CONST_STRING_JUMBO
public static final int CONST_CLASS
public static final int MONITOR_ENTER
public static final int MONITOR_EXIT
public static final int CHECK_CAST
public static final int INSTANCE_OF
public static final int ARRAY_LENGTH
public static final int NEW_INSTANCE
public static final int NEW_ARRAY
public static final int FILLED_NEW_ARRAY
public static final int FILLED_NEW_ARRAY_RANGE
public static final int FILL_ARRAY_DATA
public static final int THROW
public static final int GOTO
public static final int GOTO_16
public static final int GOTO_32
public static final int PACKED_SWITCH
public static final int SPARSE_SWITCH
public static final int CMPL_FLOAT
public static final int CMPG_FLOAT
public static final int CMPL_DOUBLE
public static final int CMPG_DOUBLE
public static final int CMP_LONG
public static final int IF_EQ
public static final int IF_NE
public static final int IF_LT
public static final int IF_GE
public static final int IF_GT
public static final int IF_LE
public static final int IF_EQZ
public static final int IF_NEZ
public static final int IF_LTZ
public static final int IF_GEZ
public static final int IF_GTZ
public static final int IF_LEZ
public static final int AGET
public static final int AGET_WIDE
public static final int AGET_OBJECT
public static final int AGET_BOOLEAN
public static final int AGET_BYTE
public static final int AGET_CHAR
public static final int AGET_SHORT
public static final int APUT
public static final int APUT_WIDE
public static final int APUT_OBJECT
public static final int APUT_BOOLEAN
public static final int APUT_BYTE
public static final int APUT_CHAR
public static final int APUT_SHORT
public static final int IGET
public static final int IGET_WIDE
public static final int IGET_OBJECT
public static final int IGET_BOOLEAN
public static final int IGET_BYTE
public static final int IGET_CHAR
public static final int IGET_SHORT
public static final int IPUT
public static final int IPUT_WIDE
public static final int IPUT_OBJECT
public static final int IPUT_BOOLEAN
public static final int IPUT_BYTE
public static final int IPUT_CHAR
public static final int IPUT_SHORT
public static final int SGET
public static final int SGET_WIDE
public static final int SGET_OBJECT
public static final int SGET_BOOLEAN
public static final int SGET_BYTE
public static final int SGET_CHAR
public static final int SGET_SHORT
public static final int SPUT
public static final int SPUT_WIDE
public static final int SPUT_OBJECT
public static final int SPUT_BOOLEAN
public static final int SPUT_BYTE
public static final int SPUT_CHAR
public static final int SPUT_SHORT
public static final int INVOKE_VIRTUAL
public static final int INVOKE_SUPER
public static final int INVOKE_DIRECT
public static final int INVOKE_STATIC
public static final int INVOKE_INTERFACE
public static final int INVOKE_VIRTUAL_RANGE
public static final int INVOKE_SUPER_RANGE
public static final int INVOKE_DIRECT_RANGE
public static final int INVOKE_STATIC_RANGE
public static final int INVOKE_INTERFACE_RANGE
public static final int NEG_INT
public static final int NOT_INT
public static final int NEG_LONG
public static final int NOT_LONG
public static final int NEG_FLOAT
public static final int NEG_DOUBLE
public static final int INT_TO_LONG
public static final int INT_TO_FLOAT
public static final int INT_TO_DOUBLE
public static final int LONG_TO_INT
public static final int LONG_TO_FLOAT
public static final int LONG_TO_DOUBLE
public static final int FLOAT_TO_INT
public static final int FLOAT_TO_LONG
public static final int FLOAT_TO_DOUBLE
public static final int DOUBLE_TO_INT
public static final int DOUBLE_TO_LONG
public static final int DOUBLE_TO_FLOAT
public static final int INT_TO_BYTE
public static final int INT_TO_CHAR
public static final int INT_TO_SHORT
public static final int ADD_INT
public static final int SUB_INT
public static final int MUL_INT
public static final int DIV_INT
public static final int REM_INT
public static final int AND_INT
public static final int OR_INT
public static final int XOR_INT
public static final int SHL_INT
public static final int SHR_INT
public static final int USHR_INT
public static final int ADD_LONG
public static final int SUB_LONG
public static final int MUL_LONG
public static final int DIV_LONG
public static final int REM_LONG
public static final int AND_LONG
public static final int OR_LONG
public static final int XOR_LONG
public static final int SHL_LONG
public static final int SHR_LONG
public static final int USHR_LONG
public static final int ADD_FLOAT
public static final int SUB_FLOAT
public static final int MUL_FLOAT
public static final int DIV_FLOAT
public static final int REM_FLOAT
public static final int ADD_DOUBLE
public static final int SUB_DOUBLE
public static final int MUL_DOUBLE
public static final int DIV_DOUBLE
public static final int REM_DOUBLE
public static final int ADD_INT_2ADDR
public static final int SUB_INT_2ADDR
public static final int MUL_INT_2ADDR
public static final int DIV_INT_2ADDR
public static final int REM_INT_2ADDR
public static final int AND_INT_2ADDR
public static final int OR_INT_2ADDR
public static final int XOR_INT_2ADDR
public static final int SHL_INT_2ADDR
public static final int SHR_INT_2ADDR
public static final int USHR_INT_2ADDR
public static final int ADD_LONG_2ADDR
public static final int SUB_LONG_2ADDR
public static final int MUL_LONG_2ADDR
public static final int DIV_LONG_2ADDR
public static final int REM_LONG_2ADDR
public static final int AND_LONG_2ADDR
public static final int OR_LONG_2ADDR
public static final int XOR_LONG_2ADDR
public static final int SHL_LONG_2ADDR
public static final int SHR_LONG_2ADDR
public static final int USHR_LONG_2ADDR
public static final int ADD_FLOAT_2ADDR
public static final int SUB_FLOAT_2ADDR
public static final int MUL_FLOAT_2ADDR
public static final int DIV_FLOAT_2ADDR
public static final int REM_FLOAT_2ADDR
public static final int ADD_DOUBLE_2ADDR
public static final int SUB_DOUBLE_2ADDR
public static final int MUL_DOUBLE_2ADDR
public static final int DIV_DOUBLE_2ADDR
public static final int REM_DOUBLE_2ADDR
public static final int ADD_INT_LIT16
public static final int RSUB_INT
public static final int MUL_INT_LIT16
public static final int DIV_INT_LIT16
public static final int REM_INT_LIT16
public static final int AND_INT_LIT16
public static final int OR_INT_LIT16
public static final int XOR_INT_LIT16
public static final int ADD_INT_LIT8
public static final int RSUB_INT_LIT8
public static final int MUL_INT_LIT8
public static final int DIV_INT_LIT8
public static final int REM_INT_LIT8
public static final int AND_INT_LIT8
public static final int OR_INT_LIT8
public static final int XOR_INT_LIT8
public static final int SHL_INT_LIT8
public static final int SHR_INT_LIT8
public static final int USHR_INT_LIT8
public static final int PACKED_SWITCH_PAYLOAD
public static final int SPARSE_SWITCH_PAYLOAD
public static final int FILL_ARRAY_DATA_PAYLOAD
| Method Detail |
|---|
public static boolean isValidShape(int opcode)
0x01..0xfe, the range
0x00ff..0xffff where the low-order byte is either
0 or 0xff, and the special opcode values SPECIAL_FORMAT and NO_NEXT. Note that not all of the
opcode values that pass this test are in fact used. This method
is meant to perform a quick check to reject blatantly wrong
values (e.g. when validating arguments).
opcode - the opcode value
true iff the value has the right "shape" to be
possibly validpublic static int extractOpcodeFromUnit(int opcodeUnit)
opcodeUnit - the opcode-containing code unit
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||