Code cleanup
This commit is contained in:
parent
9f3995c5f6
commit
d7c6926699
|
@ -103,28 +103,29 @@ static int _i386_decode(AsmArchPlugin * plugin, AsmArchInstructionCall * call)
|
|||
if((ai = helper->get_instruction_by_opcode(helper->arch, 8, opcode))
|
||||
== NULL)
|
||||
{
|
||||
u16 = u8;
|
||||
u16 = u8 << 8;
|
||||
if(helper->peek(helper->arch, &u8, sizeof(u8)) == sizeof(u8))
|
||||
{
|
||||
opcode = (u16 << 8) | u8;
|
||||
ai = helper->get_instruction_by_opcode(helper->arch, 16,
|
||||
opcode);
|
||||
if(ai != NULL)
|
||||
u16 |= u8;
|
||||
if((ai = helper->get_instruction_by_opcode(helper->arch,
|
||||
16, u16)) != NULL)
|
||||
{
|
||||
opcode = u16;
|
||||
helper->read(helper->arch, &u8, sizeof(u8));
|
||||
else
|
||||
opcode >>= 8;
|
||||
}
|
||||
if(ai == NULL)
|
||||
{
|
||||
call->name = "db";
|
||||
call->operands[0].definition = AO_IMMEDIATE(0, 8, 0);
|
||||
call->operands[0].value.immediate.name = NULL;
|
||||
call->operands[0].value.immediate.value = opcode;
|
||||
call->operands[0].value.immediate.negative = 0;
|
||||
call->operands_cnt = 1;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(ai == NULL)
|
||||
{
|
||||
/* no opcode was recognized */
|
||||
call->name = "db";
|
||||
call->operands[0].definition = AO_IMMEDIATE(0, 8, 0);
|
||||
call->operands[0].value.immediate.name = NULL;
|
||||
call->operands[0].value.immediate.value = opcode;
|
||||
call->operands[0].value.immediate.negative = 0;
|
||||
call->operands_cnt = 1;
|
||||
return 0;
|
||||
}
|
||||
if((ai = _decode_opcode(plugin, ai)) == NULL)
|
||||
return -1;
|
||||
call->name = ai->name;
|
||||
|
|
Loading…
Reference in New Issue
Block a user