summaryrefslogtreecommitdiff
path: root/opcodes/xstormy16-dis.c
diff options
context:
space:
mode:
authorMatthew Green <mrg@redhat.com>2002-01-11 07:24:59 +0000
committerMatthew Green <mrg@redhat.com>2002-01-11 07:24:59 +0000
commitca865f495b64a8ad301c46f3c58d1e838be5b74c (patch)
treeac44852f0d12d573ad527f03a04a731d49fc6de6 /opcodes/xstormy16-dis.c
parenta18f3b42df93bd5050a2c9c045a86b649c0dff0d (diff)
downloadbinutils-redhat-ca865f495b64a8ad301c46f3c58d1e838be5b74c.tar.gz
[cgen/ChangeLog]
* cpu/xstormy16.cpu (gr-Rbj-names): Rename this ... (gr-Rb-names): ... to this. (h-Rb): New hardware peice. (h-Rbj): Use gr-Rb-names. (Rb): Use h-Rb. (holdx): New instruction. [opcodes/ChangeLog] * xstormy16-asm.c: Regenerate. * xstormy16-desc.c: Likewise. * xstormy16-desc.h: Likewise. * xstormy16-dis.c: Likewise. * xstormy16-opc.c: Likewise. * xstormy16-opc.h: Likewise. [gas/testsuite/ChangeLog] * gas/xstormy16/allinsn.sh (movf, jmp, call, icall): Update. * gas/xstormy16/allinsn.d: Regenerate. * gas/xstormy16/allinsn.s: Regenerate. [sid/component/cgen-cpu/xstormy16/ChangeLog] * xstormy16.cxx (do_holdx): Define. * xstormy16.h (do_holdx): Declare.
Diffstat (limited to 'opcodes/xstormy16-dis.c')
-rw-r--r--opcodes/xstormy16-dis.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/opcodes/xstormy16-dis.c b/opcodes/xstormy16-dis.c
index 595ed2aa50..bd6c593f49 100644
--- a/opcodes/xstormy16-dis.c
+++ b/opcodes/xstormy16-dis.c
@@ -92,10 +92,10 @@ xstormy16_cgen_print_operand (cd, opindex, xinfo, fields, attrs, pc, length)
switch (opindex)
{
case XSTORMY16_OPERAND_RB :
- print_keyword (cd, info, & xstormy16_cgen_opval_gr_names, fields->f_Rb, 0);
+ print_keyword (cd, info, & xstormy16_cgen_opval_gr_Rb_names, fields->f_Rb, 0);
break;
case XSTORMY16_OPERAND_RBJ :
- print_keyword (cd, info, & xstormy16_cgen_opval_gr_Rbj_names, fields->f_Rbj, 0);
+ print_keyword (cd, info, & xstormy16_cgen_opval_gr_Rb_names, fields->f_Rbj, 0);
break;
case XSTORMY16_OPERAND_RD :
print_keyword (cd, info, & xstormy16_cgen_opval_gr_names, fields->f_Rd, 0);
@@ -350,9 +350,13 @@ print_insn (cd, pc, info, buf, buflen)
CGEN_INSN_INT insn_value;
const CGEN_INSN_LIST *insn_list;
CGEN_EXTRACT_INFO ex_info;
+ int basesize;
/* Extract base part of instruction, just in case CGEN_DIS_* uses it. */
- insn_value = cgen_get_insn_value (cd, buf, buflen * 8);
+ basesize = cd->base_insn_bitsize < buflen * 8 ?
+ cd->base_insn_bitsize : buflen * 8;
+ insn_value = cgen_get_insn_value (cd, buf, basesize);
+
/* Fill in ex_info fields like read_insn would. Don't actually call
read_insn, since the incoming buffer is already read (and possibly