From aa14ed441c0981cf5001953918d364057452f1dd Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Sat, 13 Apr 2013 01:50:21 -0700 Subject: [PATCH] Implement AND, EOR and ORR --- src/isa-thumb.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/isa-thumb.c b/src/isa-thumb.c index 3d585b843..e7131cc06 100644 --- a/src/isa-thumb.c +++ b/src/isa-thumb.c @@ -178,8 +178,8 @@ DEFINE_DATA_FORM_3_INSTRUCTION_THUMB(SUB2, ARM_STUB) int rn = (opcode >> 3) & 0x0007; \ BODY;) -DEFINE_DATA_FORM_5_INSTRUCTION_THUMB(AND, ARM_STUB) -DEFINE_DATA_FORM_5_INSTRUCTION_THUMB(EOR, ARM_STUB) +DEFINE_DATA_FORM_5_INSTRUCTION_THUMB(AND, cpu->gprs[rd] = cpu->gprs[rd] & cpu->gprs[rn]; THUMB_NEUTRAL_S( , , cpu->gprs[rd])) +DEFINE_DATA_FORM_5_INSTRUCTION_THUMB(EOR, cpu->gprs[rd] = cpu->gprs[rd] ^ cpu->gprs[rn]; THUMB_NEUTRAL_S( , , cpu->gprs[rd])) DEFINE_DATA_FORM_5_INSTRUCTION_THUMB(LSL2, ARM_STUB) DEFINE_DATA_FORM_5_INSTRUCTION_THUMB(LSR2, ARM_STUB) DEFINE_DATA_FORM_5_INSTRUCTION_THUMB(ASR2, \ @@ -206,7 +206,7 @@ DEFINE_DATA_FORM_5_INSTRUCTION_THUMB(TST, ARM_STUB) DEFINE_DATA_FORM_5_INSTRUCTION_THUMB(NEG, ARM_STUB) DEFINE_DATA_FORM_5_INSTRUCTION_THUMB(CMP2, ARM_STUB) DEFINE_DATA_FORM_5_INSTRUCTION_THUMB(CMN, ARM_STUB) -DEFINE_DATA_FORM_5_INSTRUCTION_THUMB(ORR, ARM_STUB) +DEFINE_DATA_FORM_5_INSTRUCTION_THUMB(ORR, cpu->gprs[rd] = cpu->gprs[rd] | cpu->gprs[rn]; THUMB_NEUTRAL_S( , , cpu->gprs[rd])) DEFINE_DATA_FORM_5_INSTRUCTION_THUMB(MUL, ARM_STUB) DEFINE_DATA_FORM_5_INSTRUCTION_THUMB(BIC, ARM_STUB) DEFINE_DATA_FORM_5_INSTRUCTION_THUMB(MVN, ARM_STUB)