aboutsummaryrefslogtreecommitdiff
path: root/sim/v850/interp.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1996-08-30 03:48:13 +0000
committerJeff Law <law@redhat.com>1996-08-30 03:48:13 +0000
commit2108e86459a49eae5349f69f9021afe47e8691a1 (patch)
tree061e274329b35ad2e454ef15d014c7327d46847c /sim/v850/interp.c
parent35404c7d070c8d5ca4ef8669a7b7ffe5c2023b45 (diff)
downloadfsf-binutils-gdb-2108e86459a49eae5349f69f9021afe47e8691a1.zip
fsf-binutils-gdb-2108e86459a49eae5349f69f9021afe47e8691a1.tar.gz
fsf-binutils-gdb-2108e86459a49eae5349f69f9021afe47e8691a1.tar.bz2
* interp.c (do_format_3): Get operands correctly and call
the target function. * simops.c: Handle bCC instructions.
Diffstat (limited to 'sim/v850/interp.c')
-rw-r--r--sim/v850/interp.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sim/v850/interp.c b/sim/v850/interp.c
index bcbb982..1cd990e 100644
--- a/sim/v850/interp.c
+++ b/sim/v850/interp.c
@@ -167,7 +167,12 @@ static void
do_format_3 (insn)
uint32 insn;
{
+ struct hash_entry *h;
printf("format 3 0x%x\n", insn);
+
+ h = lookup_hash (insn);
+ OP[0] = (((insn & 0x70) >> 4) | ((insn & 0xf800) >> 8)) << 1;
+ (h->ops->func) ();
}
static void