diff options
Diffstat (limited to 'src/arch/dalvik/instruction-def.h')
-rw-r--r-- | src/arch/dalvik/instruction-def.h | 103 |
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 |