summaryrefslogtreecommitdiff
path: root/src/arch/dalvik/instruction-def.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/dalvik/instruction-def.h')
-rw-r--r--src/arch/dalvik/instruction-def.h103
1 files changed, 73 insertions, 30 deletions
diff --git a/src/arch/dalvik/instruction-def.h b/src/arch/dalvik/instruction-def.h
index 3959d87..6f52cf2 100644
--- a/src/arch/dalvik/instruction-def.h
+++ b/src/arch/dalvik/instruction-def.h
@@ -32,12 +32,13 @@ typedef enum _DalvikOpcodes
DOP_NOP, /* nop (0x00) */
DOP_MOVE, /* move (0x01) */
DOP_MOVE_FROM_16, /* move/from16 (0x02) */
-
+ DOP_MOVE_16, /* move/16 (0x03) */
+ DOP_MOVE_WIDE, /* move-wide (0x04) */
DOP_MOVE_WIDE_FROM_16, /* move-wide/from16 (0x05) */
-
+ DOP_MOVE_WIDE_16, /* move-wide/16 (0x06) */
DOP_MOVE_OBJECT, /* move-object (0x07) */
DOP_MOVE_OBJECT_FROM_16, /* move-object/from16 (0x08) */
-
+ DOP_MOVE_OBJECT_16, /* move-object/16 (0x09) */
DOP_MOVE_RESULT, /* move-result (0x0a) */
DOP_MOVE_RESULT_WIDE, /* move-result-wide (0x0b) */
DOP_MOVE_RESULT_OBJECT, /* move-result-object (0x0c) */
@@ -57,16 +58,17 @@ typedef enum _DalvikOpcodes
DOP_CONST_STRING, /* const-string (0x1a) */
DOP_CONST_STRING_JUMBO, /* const-string/jumbo (0x1b) */
DOP_CONST_CLASS, /* const-class (0x1c) */
-
-
+ DOP_MONITOR_ENTER, /* monitor-enter (0x1d) */
+ DOP_MONITOR_EXIT, /* monitor-exit (0x1e) */
DOP_CHECK_CAST, /* check-cast (0x1f) */
-
+ DOP_INSTANCE_OF, /* instance-of (0x20) */
DOP_ARRAY_LENGTH, /* array-length (0x21) */
DOP_NEW_INSTANCE, /* new-instance (0x22) */
DOP_NEW_ARRAY, /* new-array (0x23) */
-
+ DOP_FILLED_NEW_ARRAY, /* filled-new-array (0x24) */
+ DOP_FILLED_NEW_ARRAY_RANGE, /* filled-new-array/range(0x25)*/
DOP_FILL_ARRAY_DATA, /* fill-array-data (0x26) */
-
+ DOP_THROW, /* throw (0x27) */
DOP_GOTO, /* goto (0x28) */
DOP_GOTO_16, /* goto/16 (0x29) */
DOP_GOTO_32, /* goto/32 (0x2a) */
@@ -89,9 +91,12 @@ typedef enum _DalvikOpcodes
DOP_IF_GEZ, /* if-gez (0x3b) */
DOP_IF_GTZ, /* if-gtz (0x3c) */
DOP_IF_LEZ, /* if-lez (0x3d) */
-
-
-
+ DOP_UNUSED_3E, /* -unused- (0x3e) */
+ DOP_UNUSED_3F, /* -unused- (0x3f) */
+ DOP_UNUSED_40, /* -unused- (0x40) */
+ DOP_UNUSED_41, /* -unused- (0x41) */
+ DOP_UNUSED_42, /* -unused- (0x42) */
+ DOP_UNUSED_43, /* -unused- (0x43) */
DOP_AGET, /* aget (0x44) */
DOP_AGET_WIDE, /* aget-wide (0x45) */
DOP_AGET_OBJECT, /* aget-object (0x46) */
@@ -139,13 +144,20 @@ typedef enum _DalvikOpcodes
DOP_INVOKE_DIRECT, /* invoke-direct (0x70) */
DOP_INVOKE_STATIC, /* invoke-static (0x71) */
DOP_INVOKE_INTERFACE, /* invoke-interface (0x72) */
-
+ DOP_UNUSED_73, /* -unused- (0x73) */
DOP_INVOKE_VIRTUAL_RANGE, /* invoke-virtual/range (0x74) */
DOP_INVOKE_SUPER_RANGE, /* invoke-super/range (0x75) */
DOP_INVOKE_DIRECT_RANGE, /* invoke-direct/range (0x76) */
DOP_INVOKE_STATIC_RANGE, /* invoke-static/range (0x77) */
DOP_INVOKE_INTERFACE_RANGE, /* invoke-interface/rg. (0x78) */
-
+ DOP_UNUSED_79, /* -unused- (0x79) */
+ DOP_UNUSED_7A, /* -unused- (0x7a) */
+ DOP_NEG_INT, /* neg-int (0x7b) */
+ DOP_NOT_INT, /* not-int (0x7c) */
+ DOP_NEG_LONG, /* neg-long (0x7d) */
+ DOP_NOT_LONG, /* not-long (0x7e) */
+ DOP_NEG_FLOAT, /* neg-float (0x7f) */
+ DOP_NEG_DOUBLE, /* neg-double (0x80) */
DOP_TO_INT_LONG, /* int-to-long (0x81) */
DOP_TO_INT_FLOAT, /* int-to-float (0x82) */
DOP_TO_INT_DOUBLE, /* int-to-double (0x83) */
@@ -172,27 +184,27 @@ typedef enum _DalvikOpcodes
DOP_SHL_INT, /* shl-int (0x98) */
DOP_SHR_INT, /* shr-int (0x99) */
DOP_USHR_INT, /* ushr-int (0x9a) */
-
-
DOP_ADD_LONG, /* add-long (0x9b) */
DOP_SUB_LONG, /* sub-long (0x9c) */
DOP_MUL_LONG, /* mul-long (0x9d) */
DOP_DIV_LONG, /* div-long (0x9e) */
-
-
+ DOP_REM_LONG, /* rem-long (0x9f) */
+ DOP_AND_LONG, /* and-long (0xa0) */
+ DOP_OR_LONG, /* or-long (0xa1) */
+ DOP_XOR_LONG, /* xor-long (0xa2) */
DOP_SHL_LONG, /* shl-long (0xa3) */
DOP_SHR_LONG, /* shr-long (0xa4) */
DOP_USHR_LONG, /* ushr-long (0xa5) */
DOP_ADD_FLOAT, /* add-float (0xa6) */
DOP_SUB_FLOAT, /* sub-float (0xa7) */
DOP_MUL_FLOAT, /* mul-float (0xa8) */
-
-
+ DOP_DIV_FLOAT, /* mul-float (0xa9) */
+ DOP_REM_FLOAT, /* mul-float (0xaa) */
DOP_ADD_DOUBLE, /* add-double (0xab) */
- DOP_SUB_DOUBLE, /* add-double (0xac) */
- DOP_MUL_DOUBLE, /* add-double (0xad) */
-
-
+ DOP_SUB_DOUBLE, /* sub-double (0xac) */
+ DOP_MUL_DOUBLE, /* mul-double (0xad) */
+ DOP_DIV_DOUBLE, /* div-double (0xae) */
+ DOP_REM_DOUBLE, /* rem-double (0xaf) */
DOP_ADD_INT_2ADDR, /* add-int/2addr (0xb0) */
DOP_SUB_INT_2ADDR, /* add-int/2addr (0xb1) */
DOP_MUL_INT_2ADDR, /* mul-int/2addr (0xb2) */
@@ -207,22 +219,24 @@ typedef enum _DalvikOpcodes
DOP_ADD_LONG_2ADDR, /* add-long/2addr (0xbb) */
DOP_SUB_LONG_2ADDR, /* sub-long/2addr (0xbc) */
DOP_MUL_LONG_2ADDR, /* mul-long/2addr (0xbd) */
-
-
+ DOP_DIV_LONG_2ADDR, /* div-long/2addr (0xbe) */
+ DOP_REM_LONG_2ADDR, /* rem-long/2addr (0xbf) */
+ DOP_AND_LONG_2ADDR, /* and-long/2addr (0xc0) */
+ DOP_OR_LONG_2ADDR, /* or-long/2addr (0xc1) */
+ DOP_XOR_LONG_2ADDR, /* xor-long/2addr (0xc2) */
DOP_SHL_LONG_2ADDR, /* shl-long/2addr (0xc3) */
DOP_SHR_LONG_2ADDR, /* shr-long/2addr (0xc4) */
DOP_USHR_LONG_2ADDR, /* ushr-long/2addr (0xc5) */
-
DOP_ADD_FLOAT_2ADDR, /* add-float/2addr (0xc6) */
DOP_SUB_FLOAT_2ADDR, /* sub-float/2addr (0xc7) */
DOP_MUL_FLOAT_2ADDR, /* mul-float/2addr (0xc8) */
-
+ DOP_DIV_FLOAT_2ADDR, /* div-float/2addr (0xc9) */
+ DOP_REM_FLOAT_2ADDR, /* rem-float/2addr (0xca) */
DOP_ADD_DOUBLE_2ADDR, /* add-double/2addr (0xcb) */
DOP_SUB_DOUBLE_2ADDR, /* sub-double/2addr (0xcc) */
DOP_MUL_DOUBLE_2ADDR, /* mul-double/2addr (0xcd) */
-
-
-
+ DOP_DIV_DOUBLE_2ADDR, /* div-double/2addr (0xce) */
+ DOP_REM_DOUBLE_2ADDR, /* rem-double/2addr (0xcf) */
DOP_ADD_INT_LIT16, /* add-int/lit16 (0xd0) */
DOP_RSUB_INT, /* rsub-int (0xd1) */
DOP_MUL_INT_LIT16, /* mul-int/lit16 (0xd2) */
@@ -242,6 +256,35 @@ typedef enum _DalvikOpcodes
DOP_SHL_INT_LIT8, /* shl-int/lit8 (0xe0) */
DOP_SHR_INT_LIT8, /* shr-int/lit8 (0xe1) */
DOP_USHR_INT_LIT8, /* ushr-int/lit8 (0xe2) */
+ DOP_UNUSED_E3, /* -unused- (0xe3) */
+ DOP_UNUSED_E4, /* -unused- (0xe4) */
+ DOP_UNUSED_E5, /* -unused- (0xe5) */
+ DOP_UNUSED_E6, /* -unused- (0xe6) */
+ DOP_UNUSED_E7, /* -unused- (0xe7) */
+ DOP_UNUSED_E8, /* -unused- (0xe8) */
+ DOP_UNUSED_E9, /* -unused- (0xe9) */
+ DOP_UNUSED_EA, /* -unused- (0xea) */
+ DOP_UNUSED_EB, /* -unused- (0xeb) */
+ DOP_UNUSED_EC, /* -unused- (0xec) */
+ DOP_UNUSED_ED, /* -unused- (0xed) */
+ DOP_UNUSED_EE, /* -unused- (0xee) */
+ DOP_UNUSED_EF, /* -unused- (0xef) */
+ DOP_UNUSED_F0, /* -unused- (0xf0) */
+ DOP_UNUSED_F1, /* -unused- (0xf1) */
+ DOP_UNUSED_F2, /* -unused- (0xf2) */
+ DOP_UNUSED_F3, /* -unused- (0xf3) */
+ DOP_UNUSED_F4, /* -unused- (0xf4) */
+ DOP_UNUSED_F5, /* -unused- (0xf5) */
+ DOP_UNUSED_F6, /* -unused- (0xf6) */
+ DOP_UNUSED_F7, /* -unused- (0xf7) */
+ DOP_UNUSED_F8, /* -unused- (0xf8) */
+ DOP_UNUSED_F9, /* -unused- (0xf9) */
+ DOP_UNUSED_FA, /* -unused- (0xfa) */
+ DOP_UNUSED_FB, /* -unused- (0xfb) */
+ DOP_UNUSED_FC, /* -unused- (0xfc) */
+ DOP_UNUSED_FD, /* -unused- (0xfd) */
+ DOP_UNUSED_FE, /* -unused- (0xfe) */
+ DOP_UNUSED_FF, /* -unused- (0xff) */
DOP_COUNT