diff options
author | comex | 2015-01-13 01:02:40 -0500 |
---|---|---|
committer | comex | 2015-01-13 01:02:40 -0500 |
commit | af683911f47a2800af2a37aeb5a0fa76f7234a85 (patch) | |
tree | 70a56fedf769ad5b6ad8dcb92d6051c02d139920 /lib | |
parent | these functions are actually pointless, since it's easier to change the *offs... (diff) | |
download | substitute-af683911f47a2800af2a37aeb5a0fa76f7234a85.tar.gz |
small thumb fixes for Rdn and stuff
Diffstat (limited to 'lib')
-rw-r--r-- | lib/dis-thumb.inc.h | 12 |
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); |