summaryrefslogtreecommitdiff
path: root/src/arch/dalvik/instruction.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2010-05-19 23:30:05 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2010-05-19 23:30:05 (GMT)
commit6511f2fe4551c2ea231115d6c659c99e15b3a23b (patch)
treeaeb6d8a50480063e8d75a9096c0ab98420830dad /src/arch/dalvik/instruction.c
parent8aca52bcbb6b9c710771087dddeadf4adb05dc66 (diff)
Added support for a few more Dalvik instructions.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@160 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch/dalvik/instruction.c')
-rw-r--r--src/arch/dalvik/instruction.c55
1 files changed, 39 insertions, 16 deletions
diff --git a/src/arch/dalvik/instruction.c b/src/arch/dalvik/instruction.c
index 8bd4894..f485cec 100644
--- a/src/arch/dalvik/instruction.c
+++ b/src/arch/dalvik/instruction.c
@@ -68,36 +68,59 @@ typedef struct _dalvik_instruction
static dalvik_instruction _instructions[DOP_COUNT] = {
- [DOP_NOP] = { 0x00, "nop" },
+ [DOP_NOP] = { 0x00, "nop" },
- [DOP_CONST_4] = { 0x12, "const/4" },
- [DOP_CONST_16] = { 0x13, "const/16" },
+ [DOP_MOVE_RESULT_OBJECT] = { 0x0c, "move-result-object" },
+ [DOP_CONST_4] = { 0x12, "const/4" },
+ [DOP_CONST_16] = { 0x13, "const/16" },
- [DOP_CONST_HIGH16] = { 0x15, "const/high16" },
- [DOP_CONST_STRING] = { 0x1a, "const-string" },
+ [DOP_CONST_HIGH16] = { 0x15, "const/high16" },
+ [DOP_CONST_STRING] = { 0x1a, "const-string" },
- [DOP_RETURN_VOID] = { 0x0e, "return-void" },
- [DOP_RETURN] = { 0x0f, "return" },
+ [DOP_RETURN_VOID] = { 0x0e, "return-void" },
+ [DOP_RETURN] = { 0x0f, "return" },
- [DOP_SGET] = { 0x60, "sget" },
- [DOP_SGET_WIDE] = { 0x61, "sget-wide" },
- [DOP_SGET_OBJECT] = { 0x62, "sget-object" },
+ [DOP_NEW_INSTANCE] = { 0x22, "new-instance" },
- [DOP_INVOKE_VIRTUAL] = { 0x6e, "invoke-virtual" },
- [DOP_INVOKE_SUPER] = { 0x6f, "invoke-static" },
- [DOP_INVOKE_DIRECT] = { 0x70, "invoke-direct" },
- [DOP_INVOKE_STATIC] = { 0x71, "invoke-static" },
- [DOP_INVOKE_INTERFACE] = { 0x72, "invoke-interface" },
+ [DOP_IGET] = { 0x52, "iget" },
+ [DOP_IGET_WIDE] = { 0x53, "iget-wide" },
+ [DOP_IGET_OBJECT] = { 0x54, "iget-object" },
+ [DOP_IGET_BOOLEAN] = { 0x55, "iget-boolean" },
+ [DOP_IGET_BYTE] = { 0x56, "iget-byte" },
+ [DOP_IGET_CHAR] = { 0x57, "iget-char" },
+ [DOP_IGET_SHORT] = { 0x58, "iget-short" },
+ [DOP_IPUT] = { 0x59, "iput" },
+ [DOP_IPUT_WIDE] = { 0x5a, "iput-wide" },
+ [DOP_IPUT_OBJECT] = { 0x5b, "iput-object" },
+ [DOP_IPUT_BOOLEAN] = { 0x5c, "iput-boolean" },
+ [DOP_IPUT_BYTE] = { 0x5d, "iput-byte" },
+ [DOP_IPUT_CHAR] = { 0x5e, "iput-char" },
+ [DOP_IPUT_SHORT] = { 0x5f, "iput-short" },
+ [DOP_SGET] = { 0x60, "sget" },
+ [DOP_SGET_WIDE] = { 0x61, "sget-wide" },
+ [DOP_SGET_OBJECT] = { 0x62, "sget-object" },
- [DOP_MUL_INT_2ADDR] = { 0xb2, "mul-int/2addr" }
+ [DOP_INVOKE_VIRTUAL] = { 0x6e, "invoke-virtual" },
+ [DOP_INVOKE_SUPER] = { 0x6f, "invoke-static" },
+ [DOP_INVOKE_DIRECT] = { 0x70, "invoke-direct" },
+ [DOP_INVOKE_STATIC] = { 0x71, "invoke-static" },
+ [DOP_INVOKE_INTERFACE] = { 0x72, "invoke-interface" },
+
+
+
+ [DOP_MUL_INT_2ADDR] = { 0xb2, "mul-int/2addr" },
+
+
+
+ [DOP_ADD_INT_LIT8] = { 0xd8, "add-int/lit8" }
};