diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2010-05-19 23:30:05 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2010-05-19 23:30:05 (GMT) |
commit | 6511f2fe4551c2ea231115d6c659c99e15b3a23b (patch) | |
tree | aeb6d8a50480063e8d75a9096c0ab98420830dad /src/arch/dalvik/instruction.c | |
parent | 8aca52bcbb6b9c710771087dddeadf4adb05dc66 (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.c | 55 |
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" } }; |