aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorcomex2015-01-13 01:02:40 -0500
committercomex2015-01-13 01:02:40 -0500
commitaf683911f47a2800af2a37aeb5a0fa76f7234a85 (patch)
tree70a56fedf769ad5b6ad8dcb92d6051c02d139920 /lib
parentthese functions are actually pointless, since it's easier to change the *offs... (diff)
downloadsubstitute-af683911f47a2800af2a37aeb5a0fa76f7234a85.tar.gz
small thumb fixes for Rdn and stuff
Diffstat (limited to 'lib')
-rw-r--r--lib/dis-thumb.inc.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/dis-thumb.inc.h b/lib/dis-thumb.inc.h
index 56b1129..75b50dc 100644
--- a/lib/dis-thumb.inc.h
+++ b/lib/dis-thumb.inc.h
@@ -1,6 +1,14 @@
#include "dis.h"
-static INLINE tdis_ret P(GPR_Rm_2_tADDhirr)(tdis_ctx ctx, struct bitslice Rm) {
- data(r(Rm));
+static INLINE tdis_ret P(GPR_Rm_unk_Rdn_1_tADDhirr)(tdis_ctx ctx, struct bitslice Rdn, struct bitslice Rm) {
+ data(rout(Rdn), r(Rm), r(Rdn)); /* yes, twice */
+}
+static INLINE tdis_ret P(unk_Rdn_1_tADDrSP)(tdis_ctx ctx, UNUSED struct bitslice Rdn) {
+ /* this doesn't support constants, and nobody's going to add pc, sp, so... */
+ return P(unidentified)(ctx);
+}
+static INLINE tdis_ret P(GPR_Rm_1_tADDspr)(tdis_ctx ctx, UNUSED struct bitslice Rm) {
+ /* ditto */
+ return P(unidentified)(ctx);
}
static INLINE tdis_ret P(GPR_Rm_B_1_tBX)(tdis_ctx ctx, struct bitslice Rm) {
unsigned val = bs_get(Rm, ctx->op);