diff options
Diffstat (limited to 'opcodes/sh-dis.c')
-rw-r--r-- | opcodes/sh-dis.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/opcodes/sh-dis.c b/opcodes/sh-dis.c index 70fdffb..2512f96 100644 --- a/opcodes/sh-dis.c +++ b/opcodes/sh-dis.c @@ -577,12 +577,21 @@ print_insn_sh (memaddr, info) case IMM1_8BY4: imm = ((nibs[2] << 4) | nibs[3]) << 2; goto ok; + case REG_N_D: + if ((nibs[n] & 1) != 0) + goto fail; + /* fall through */ case REG_N: rn = nibs[n]; break; case REG_M: rm = nibs[n]; break; + case REG_N_B01: + if ((nibs[n] & 0x3) != 1 /* binary 01 */) + goto fail; + rn = (nibs[n] & 0xc) >> 2; + break; case REG_NM: rn = (nibs[n] & 0xc) >> 2; rm = (nibs[n] & 0x3); |