From: j8takagi Date: Mon, 6 Jul 2026 14:21:40 +0000 (+0900) Subject: monitorでqまたはEOFでcomet IIを即時終了するように X-Git-Tag: v0.6p12~2 X-Git-Url: https://www.j8takagi.net/gitweb?a=commitdiff_plain;h=83478dc6531c2f99811f7bb5af3cb3786ffafb2b;p=yacasl2.git monitorでqまたはEOFでcomet IIを即時終了するように --- diff --git a/src/exec.c b/src/exec.c index 5ff6120..a95d440 100644 --- a/src/exec.c +++ b/src/exec.c @@ -692,7 +692,8 @@ void exec() create_cmdtable(HASH_CODE); /* 命令コードがキーのハッシュ表を作成 */ /* 機械語の実行 */ - for (sys->cpu->pr = execptr->start; ; ) { + sys->cpu->pr = execptr->start; + do { clock_begin = clock(); /* クロック周波数設定のため、実行開始時間を格納 */ dsp_trace_dump(); /* モニターモードでCOMET II起動時、またはステップモードかブレークポイントの場合、モニターを起動 */ @@ -742,7 +743,7 @@ void exec() do { clock_end = clock(); } while(clock_end - clock_begin < CLOCKS_PER_SEC / sys->clocks); - } + } while(1); execfin: FREE(s); freebps(); diff --git a/src/monitor.c b/src/monitor.c index fa03bea..08e4db3 100644 --- a/src/monitor.c +++ b/src/monitor.c @@ -371,6 +371,7 @@ void monquit() { execmode.monitor = false; execmode.step = false; + execptr->stop = true; freebps(); }