summaryrefslogtreecommitdiff
path: root/src/arch/dalvik/instruction-def.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2011-12-27 16:49:18 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2011-12-27 16:49:18 (GMT)
commitce12c2bb85d26b0f6de5ba42ff53e2ff6788f4e4 (patch)
tree216c4c4db2b92c05f29143b9c28fc9d8fb6151e2 /src/arch/dalvik/instruction-def.h
parent8a12f3685fab7c975c307bbc7dc5e721616be6a3 (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.h43
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