aboutsummaryrefslogtreecommitdiff
path: root/sim/v850/interp.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1996-08-30 05:49:07 +0000
committerJeff Law <law@redhat.com>1996-08-30 05:49:07 +0000
commit3cb6bf7818b30b5501abf49022451e10fcd499f0 (patch)
tree06027ff8d36e5f0a949bfe2d1bca917c65a8ad8a /sim/v850/interp.c
parent28647e4c0c74b2426a530b2b9ec3c95b92944662 (diff)
downloadfsf-binutils-gdb-3cb6bf7818b30b5501abf49022451e10fcd499f0.zip
fsf-binutils-gdb-3cb6bf7818b30b5501abf49022451e10fcd499f0.tar.gz
fsf-binutils-gdb-3cb6bf7818b30b5501abf49022451e10fcd499f0.tar.bz2
* interp.c (do_format_4): Get operands correctly and
call the target function. * simops.c: Rough cut at "sld.b", "sld.h", "sld.w", "sst.b", "sst.h", and "sst.w".
Diffstat (limited to 'sim/v850/interp.c')
-rw-r--r--sim/v850/interp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sim/v850/interp.c b/sim/v850/interp.c
index fbd808d..d47a109 100644
--- a/sim/v850/interp.c
+++ b/sim/v850/interp.c
@@ -154,7 +154,13 @@ static void
do_format_4 (insn)
uint32 insn;
{
+ struct hash_entry *h;
printf("format 4 0x%x\n", insn);
+
+ h = lookup_hash (insn);
+ OP[0] = (insn >> 11) & 0x1f;
+ OP[1] = (insn & 0x7f);
+ (h->ops->func) ();
}
static void