diff options
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/dalvik/decomp/if.c | 5 | ||||
-rw-r--r-- | src/arch/dalvik/instruction.c | 12 |
2 files changed, 9 insertions, 8 deletions
diff --git a/src/arch/dalvik/decomp/if.c b/src/arch/dalvik/decomp/if.c index 93e21d9..f7591b9 100644 --- a/src/arch/dalvik/decomp/if.c +++ b/src/arch/dalvik/decomp/if.c @@ -26,6 +26,7 @@ #include "../instruction.h" #include "../../../decomp/expr/cond.h" +#include "../../../decomp/expr/immediate.h" #include "../../../decomp/instr/ite.h" @@ -153,8 +154,8 @@ GDecInstruction *dalvik_decomp_instr_if_zero(const GArchInstruction *instr, GDec operand = g_arch_instruction_get_operand(instr, 0); op1 = g_dec_context_convert_register(ctx, operand, false, addr); - operand = g_imm_operand_new_from_value(MDS_8_BITS_UNSIGNED, (unsigned int)0); - op2 = g_imm_expression_new(operand); + operand = g_imm_operand_new_from_value(MDS_32_BITS_UNSIGNED, (unsigned int)0); + op2 = g_imm_expression_new(G_IMM_OPERAND(operand)); operand = g_arch_instruction_get_operand(instr, 2); jmp = 0x1234ull;/*g_dec_context_convert_register(ctx, operand, addr);*/ diff --git a/src/arch/dalvik/instruction.c b/src/arch/dalvik/instruction.c index 81b8993..1ab6e3c 100644 --- a/src/arch/dalvik/instruction.c +++ b/src/arch/dalvik/instruction.c @@ -117,12 +117,12 @@ static dalvik_instruction _instructions[DOP_COUNT] = { [DOP_IF_GE] = { 0x35, "if-ge", dalvik_decomp_instr_if }, [DOP_IF_GT] = { 0x36, "if-gt", dalvik_decomp_instr_if }, [DOP_IF_LE] = { 0x37, "if-le", dalvik_decomp_instr_if }, - [DOP_IF_EQZ] = { 0x38, "if-eqz"/*, dalvik_decomp_instr_if_zero*/ }, - [DOP_IF_NEZ] = { 0x39, "if-nez"/*, dalvik_decomp_instr_if_zero*/ }, - [DOP_IF_LTZ] = { 0x3a, "if-ltz"/*, dalvik_decomp_instr_if_zero*/ }, - [DOP_IF_GEZ] = { 0x3b, "if-gez"/*, dalvik_decomp_instr_if_zero*/ }, - [DOP_IF_GTZ] = { 0x3c, "if-gtz"/*, dalvik_decomp_instr_if_zero*/ }, - [DOP_IF_LEZ] = { 0x3d, "if-lez"/*, dalvik_decomp_instr_if_zero*/ }, + [DOP_IF_EQZ] = { 0x38, "if-eqz", dalvik_decomp_instr_if_zero }, + [DOP_IF_NEZ] = { 0x39, "if-nez", dalvik_decomp_instr_if_zero }, + [DOP_IF_LTZ] = { 0x3a, "if-ltz", dalvik_decomp_instr_if_zero }, + [DOP_IF_GEZ] = { 0x3b, "if-gez", dalvik_decomp_instr_if_zero }, + [DOP_IF_GTZ] = { 0x3c, "if-gtz", dalvik_decomp_instr_if_zero }, + [DOP_IF_LEZ] = { 0x3d, "if-lez", dalvik_decomp_instr_if_zero }, [DOP_UNUSED_3E] = { 0x3e, NULL /* unused */ }, [DOP_UNUSED_3F] = { 0x3f, NULL /* unused */ }, [DOP_UNUSED_40] = { 0x40, NULL /* unused */ }, |