Improving ARM support

This commit is contained in:
Pierre Pronchery 2011-06-14 22:46:24 +00:00
parent 281dd9d9c4
commit a88be030a1
2 changed files with 11 additions and 2 deletions

View File

@ -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):

View File

@ -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