instead of incrementing ic directly.
<CCL_WriteExprConst> Likewise.
<ccl_set_expr>: Set ic to jump_address.
2000-02-02 Kenichi Handa <handa@etl.go.jp>
+ * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
+ instead of incrementing ic directly.
+ <CCL_WriteExprConst> Likewise.
+ <ccl_set_expr>: Set ic to jump_address.
+
* fileio.c (e_write): Fix the handling of
CODING_FINISH_INSUFFICIENT_SRC.
i = reg[RRR];
j = XINT (ccl_prog[ic]);
op = field1 >> 6;
- ic++;
+ jump_address = ic + 1;
goto ccl_set_expr;
case CCL_WriteRegister: /* CCCCCCCCCCCCCCCCCCCrrrXXXXX */
i = reg[RRR];
j = reg[Rrr];
op = field1 >> 6;
+ jump_address = ic;
goto ccl_set_expr;
case CCL_Call: /* 1:CCCCCCCCCCCCCCCCCCCCFFFXXXXX */
{
i = reg[rrr];
CCL_WRITE_CHAR (i);
+ ic = jump_address;
}
else if (!reg[rrr])
ic = jump_address;