From f8ec7c2bee532f82c21ebe0de435804a3943fe50 Mon Sep 17 00:00:00 2001 From: Maurizio Porrato Date: Thu, 23 Jan 2020 22:11:50 +0000 Subject: [PATCH] Handle chained conditionals --- dsim.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dsim.c b/dsim.c index 6c1d889..86f23bb 100644 --- a/dsim.c +++ b/dsim.c @@ -485,7 +485,7 @@ void next() op_t f; uint16_t i; - if ((!intq_en) && (intq_size > 0)) { + if ((!intq_en) && (intq_size > 0) && (!skip_next)) { i = intq_pop(); if (ria != 0) { intq_en = true; @@ -515,7 +515,7 @@ void next() if (!skip_next) f(pa, pb); else - skip_next = false; + skip_next = ((opcode & 0x18) == 0x10); /* Skip chained conditionals */ ticks++; }