summaryrefslogtreecommitdiff
path: root/cpu.c
diff options
context:
space:
mode:
authortwinaphex2014-12-12 06:42:59 +0100
committertwinaphex2014-12-12 06:42:59 +0100
commitc1677498a5c5bc1b766f8f06406a0a9216cc8ee5 (patch)
tree374fbb5939f50a2d0e01514dcb6f20a17db3ed55 /cpu.c
parent4a860b662e5924092ee316d9a6241a8508a68c46 (diff)
downloadpicogpsp-c1677498a5c5bc1b766f8f06406a0a9216cc8ee5.tar.gz
picogpsp-c1677498a5c5bc1b766f8f06406a0a9216cc8ee5.tar.bz2
picogpsp-c1677498a5c5bc1b766f8f06406a0a9216cc8ee5.zip
CPU interpreter - group THUMB case range 0x30 to 0x37 (ADD) together
Diffstat (limited to 'cpu.c')
-rw-r--r--cpu.c23
1 files changed, 1 insertions, 22 deletions
diff --git a/cpu.c b/cpu.c
index c27c1e3..aa43b16 100644
--- a/cpu.c
+++ b/cpu.c
@@ -3341,42 +3341,21 @@ thumb_loop:
case 0x30:
/* ADD r0, imm */
- thumb_add(imm, 0, reg[0], imm);
- break;
-
case 0x31:
/* ADD r1, imm */
- thumb_add(imm, 1, reg[1], imm);
- break;
-
case 0x32:
/* ADD r2, imm */
- thumb_add(imm, 2, reg[2], imm);
- break;
-
case 0x33:
/* ADD r3, imm */
- thumb_add(imm, 3, reg[3], imm);
- break;
-
case 0x34:
/* ADD r4, imm */
- thumb_add(imm, 4, reg[4], imm);
- break;
-
case 0x35:
/* ADD r5, imm */
- thumb_add(imm, 5, reg[5], imm);
- break;
-
case 0x36:
/* ADD r6, imm */
- thumb_add(imm, 6, reg[6], imm);
- break;
-
case 0x37:
/* ADD r7, imm */
- thumb_add(imm, 7, reg[7], imm);
+ thumb_add(imm, thumb_opcode_val - 0x30, reg[thumb_opcode_val - 0x30], imm);
break;
case 0x38: