Handle chained conditionals
This commit is contained in:
parent
67904719be
commit
f8ec7c2bee
4
dsim.c
4
dsim.c
|
@ -485,7 +485,7 @@ void next()
|
||||||
op_t f;
|
op_t f;
|
||||||
uint16_t i;
|
uint16_t i;
|
||||||
|
|
||||||
if ((!intq_en) && (intq_size > 0)) {
|
if ((!intq_en) && (intq_size > 0) && (!skip_next)) {
|
||||||
i = intq_pop();
|
i = intq_pop();
|
||||||
if (ria != 0) {
|
if (ria != 0) {
|
||||||
intq_en = true;
|
intq_en = true;
|
||||||
|
@ -515,7 +515,7 @@ void next()
|
||||||
if (!skip_next)
|
if (!skip_next)
|
||||||
f(pa, pb);
|
f(pa, pb);
|
||||||
else
|
else
|
||||||
skip_next = false;
|
skip_next = ((opcode & 0x18) == 0x10); /* Skip chained conditionals */
|
||||||
|
|
||||||
ticks++;
|
ticks++;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue