Improving ARM support
This commit is contained in:
parent
281dd9d9c4
commit
a88be030a1
@ -39,6 +39,15 @@ static int _arm_write(ArchPlugin * plugin, ArchInstruction * instruction,
|
||||
|
||||
switch(instruction->opcode & 0x0fffffff) /* ignore condition code */
|
||||
{
|
||||
/* branch and exchange */
|
||||
case OPBX(0):
|
||||
/* first operand, Rn */
|
||||
p = call->operands[0].value._register.name;
|
||||
if((ar = helper->get_register_by_name_size(helper->arch,
|
||||
p, 32)) == NULL)
|
||||
return -1;
|
||||
opcode |= ar->id;
|
||||
break;
|
||||
/* data processing */
|
||||
case OPDP(0, and):
|
||||
case OPDP(0, eor):
|
||||
|
@ -36,8 +36,8 @@
|
||||
biceqs %r3, %r4, $0x1
|
||||
bl $0xa0
|
||||
bleq $0xa0
|
||||
bx %r0
|
||||
bxeq %r0
|
||||
bx %r1
|
||||
bxeq %r2
|
||||
cmn %r5, %r4
|
||||
cmneq %r5, %r4
|
||||
cmn %r5, $0x1
|
||||
|
Loading…
Reference in New Issue
Block a user