diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2011-12-27 16:49:18 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2011-12-27 16:49:18 (GMT) |
commit | ce12c2bb85d26b0f6de5ba42ff53e2ff6788f4e4 (patch) | |
tree | 216c4c4db2b92c05f29143b9c28fc9d8fb6151e2 /src/arch/dalvik/instruction-def.h | |
parent | 8a12f3685fab7c975c307bbc7dc5e721616be6a3 (diff) |
Added support for more Dalvik opcodes.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@220 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch/dalvik/instruction-def.h')
-rw-r--r-- | src/arch/dalvik/instruction-def.h | 43 |
1 files changed, 38 insertions, 5 deletions
diff --git a/src/arch/dalvik/instruction-def.h b/src/arch/dalvik/instruction-def.h index f389600..38df061 100644 --- a/src/arch/dalvik/instruction-def.h +++ b/src/arch/dalvik/instruction-def.h @@ -33,7 +33,10 @@ typedef enum _DalvikOpcodes DOP_MOVE, /* move (0x01) */ DOP_MOVE_FROM_16, /* move/from16 (0x02) */ + DOP_MOVE_WIDE_FROM_16, /* move-wide/from16 (0x05) */ + DOP_MOVE_OBJECT, /* move-object (0x07) */ + DOP_MOVE_OBJECT_FROM_16, /* move-object/from16 (0x08) */ DOP_MOVE_RESULT, /* move-result (0x0a) */ DOP_MOVE_RESULT_WIDE, /* move-result-wide (0x0b) */ @@ -48,10 +51,12 @@ typedef enum _DalvikOpcodes DOP_CONST, /* const (0x14) */ DOP_CONST_HIGH16, /* const/high16 (0x15) */ DOP_CONST_WIDE_16, /* const-wide/16 (0x16) */ - + DOP_CONST_WIDE_32, /* const-wide/32 (0x17) */ DOP_CONST_WIDE, /* const-wide (0x18) */ - + DOP_CONST_WIDE_HIGH16, /* const-wide/high16 (0x19) */ DOP_CONST_STRING, /* const-string (0x1a) */ + DOP_CONST_STRING_JUMBO, /* const-string/jumbo (0x1b) */ + DOP_CONST_CLASS, /* const-class (0x1c) */ DOP_CHECK_CAST, /* check-cast (0x1f) */ @@ -65,8 +70,8 @@ typedef enum _DalvikOpcodes DOP_GOTO, /* goto (0x28) */ DOP_GOTO_16, /* goto/16 (0x29) */ DOP_GOTO_32, /* goto/32 (0x2a) */ - - + DOP_PACKED_SWITCH, /* packed-switch (0x2b) */ + DOP_SPARSE_SWITCH, /* sparse-switch (0x2c) */ DOP_CMPL_FLOAT, /* cmp-long (0x2d) */ DOP_CMPG_FLOAT, /* cmpg-float (0x2e) */ DOP_CMPL_DOUBLE, /* cmpl-double (0x2f) */ @@ -135,7 +140,11 @@ typedef enum _DalvikOpcodes DOP_INVOKE_STATIC, /* invoke-static (0x71) */ DOP_INVOKE_INTERFACE, /* invoke-interface (0x72) */ - + 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_TO_INT_LONG, /* int-to-long (0x81) */ DOP_TO_INT_FLOAT, /* int-to-float (0x82) */ @@ -161,6 +170,18 @@ typedef enum _DalvikOpcodes DOP_OR_INT, /* or-int (0x96) */ DOP_XOR_INT, /* xor-int (0x97) */ DOP_SHL_INT, /* shl-int (0x98) */ + DOP_SHR_INT, /* shr-int (0x99) */ + DOP_USHR_INT, /* ushr-int (0x9a) */ + + + DOP_MUL_LONG, /* mul-long (0x9d) */ + DOP_DIV_LONG, /* div-long (0x9e) */ + + + DOP_SHL_LONG, /* shl-long (0xa3) */ + DOP_SHR_LONG, /* shr-long (0xa4) */ + DOP_USHR_LONG, /* ushr-long (0xa5) */ + DOP_ADD_INT_2ADDR, /* add-int/2addr (0xb0) */ @@ -171,6 +192,16 @@ typedef enum _DalvikOpcodes DOP_OR_INT_2ADDR, /* or-int/2addr (0xb6) */ DOP_XOR_INT_2ADDR, /* xor-int/2addr (0xb7) */ DOP_SHL_INT_2ADDR, /* shl-int/2addr (0xb8) */ + DOP_SHR_INT_2ADDR, /* shr-int/2addr (0xb9) */ + DOP_USHR_INT_2ADDR, /* ushr-int/2addr (0xba) */ + DOP_ADD_LONG_2ADDR, /* add-long/2addr (0xbb) */ + + + + 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_MUL_DOUBLE_2ADDR, /* mul-double/2addr (0xcd) */ @@ -191,6 +222,8 @@ typedef enum _DalvikOpcodes DOP_OR_INT_LIT8, /* or-int/lit8 (0xde) */ DOP_XOR_INT_LIT8, /* xor-int/lit8 (0xdf) */ 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_COUNT |