summaryrefslogtreecommitdiff
path: root/plugins/dalvik/operand.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-06-25 08:29:51 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-06-25 08:29:51 (GMT)
commit7dd726569e39a1a906653822b5a1c093b9420d8b (patch)
tree869ddcecb1f8d05c7f54a8ff9a31e82db2940cb1 /plugins/dalvik/operand.c
parent1c0e64604b6c49c413f1be02b40071820007c774 (diff)
Changed the way Dalvik operands are handled.
Diffstat (limited to 'plugins/dalvik/operand.c')
-rw-r--r--plugins/dalvik/operand.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/plugins/dalvik/operand.c b/plugins/dalvik/operand.c
index e89bcab..3470736 100644
--- a/plugins/dalvik/operand.c
+++ b/plugins/dalvik/operand.c
@@ -164,7 +164,7 @@ static bool dalvik_read_basic_operands(GArchInstruction *instr, GDexFormat *form
/* Choix des opérandes à charger */
- switch (model & ~DALVIK_OP_EXTRA_MASK)
+ switch (DALVIK_OP_BASE_MASK(model))
{
case DALVIK_OPT_10T:
types = (DalvikOperandID []) {
@@ -643,7 +643,7 @@ bool dalvik_read_operands(GArchInstruction *instr, GExeFormat *format, const GBi
/* Récupération de la base ? */
- if (DALVIK_OP_GET_MNEMONIC(model) == 'T')
+ if (DALVIK_OP_GET_MNEMONIC(model) == DALVIK_OP_MNEMONIC_1('t'))
{
extra = &base;
@@ -655,7 +655,7 @@ bool dalvik_read_operands(GArchInstruction *instr, GExeFormat *format, const GBi
/* Bourrage : ØØ|op ? */
- switch (model & ~DALVIK_OP_EXTRA_MASK)
+ switch (DALVIK_OP_BASE_MASK(model))
{
case DALVIK_OPT_10X:
case DALVIK_OPT_20T:
@@ -671,7 +671,7 @@ bool dalvik_read_operands(GArchInstruction *instr, GExeFormat *format, const GBi
/* Décodage... */
- switch (model & ~DALVIK_OP_EXTRA_MASK)
+ switch (DALVIK_OP_BASE_MASK(model))
{
case DALVIK_OPT_10T:
case DALVIK_OPT_11N:
@@ -702,8 +702,6 @@ bool dalvik_read_operands(GArchInstruction *instr, GExeFormat *format, const GBi
break;
case DALVIK_OPT_3RC:
- case DALVIK_OPT_3RMS:
- case DALVIK_OPT_3RFS:
result = dalvik_read_variatic_operands(instr, dformat, content, pos, &low, endian, model);
break;