Implement AND, EOR and ORR
Jeffrey Pfau jeffrey@endrift.com
Sat, 13 Apr 2013 01:50:21 -0700
1 files changed,
3 insertions(+),
3 deletions(-)
jump to
M
src/isa-thumb.c
→
src/isa-thumb.c
@@ -178,8 +178,8 @@ int rd = opcode & 0x0007; \
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)