【チラシのうら 9日目】FOR文に機能漏れがあったので追加してみた
FOR~NEXTで終了判定をNEXT側で行う場合はNEXTの次の命令に実行が移ればよいのですが
FOR文を評価した段階でループ条件を満たしていなかった場合の処理が抜けてました。
FOR I=10 TO 5 見たいな一度もループしないケースですね。
この場合、FORに対応するNEXTを探して、NEXTの次の命令に実行を移さなければなりません。
NEXTを探す処理を入れ忘れていたので追加してみました。
メモリー管理を見直したらFOR文自体が動かなくなり…(;^ω^)
デバックモードを見直したらDEBUGモードがOFFに出来なくなり…(;^ω^)
本題以外の所で無駄に時間がかかってしまった。
------------------------
M5Z-80 BASIC Ver.0.1
------------------------
Largest Internal = 110580(107.988KByte)
Largest PSRAM = 0(0)
READY.
---- utf8 でエンコードされたメッセージを送信しました: "print \"ABC\" : for i=10 to 3 : print i : NEXT : print \"DEF\"" ----
print "ABC" : for i=10 to 3 : print i : NEXT : print "DEF"
ABC
DEF
READY.
---- utf8 でエンコードされたメッセージを送信しました: "print \"ABC\" : for i=1 to 3 : print i : NEXT : print \"DEF\"" ----
print "ABC" : for i=1 to 3 : print i : NEXT : print "DEF"
ABC
1
2
3
DEF
READY.
ここまでの成果
- 一度もループしないFOR文処理を実装した
| 固定リンク
「BASIC」カテゴリの記事
- 【チラシのうら 42日目】約3倍 高速化しました。(2026.08.30)
- 【チラシのうら 41日目】便利だわ GitHubCopilot(2026.08.29)
- 【チラシのうら 40日目】実行中間コード化(2)(2026.08.25)
- 【チラシのうら 39日目】実行中間コード化(2026.08.22)
- 【チラシのうら 37日目】SDカードユニットの交換で問題解決(2026.08.13)
この記事へのコメントは終了しました。

コメント