« 【チラシのうら 13日目】配列を扱えるようにしてみた | トップページ | 「スーパーの裏でヤニ吸うふたり」のフィギア・・・風の画像 »

2026年7月 1日 (水)

【チラシのうら 14日目】ブロック認識に欠陥がある事に気づきました。

IF~THEN~ELSE~ENDIF を実装仕様とした所でブロック認識に欠陥がある事に気づきました。
FORの二重ループで最初のFORが最初からループ条件を満たさない場合ですね。
FOR評価時にNEXTを探しますが、二重ループになっていると間違ったNEXTをブロックの終端と判断してしまいます(多分)。
試してみたらCOREパニック起こしてりせっとが掛かりました。
ブロック認識の改善が必要です (´・ω・`)


------------------------
M5Z-80 BASIC Ver.0.2x
------------------------
Largest Internal = 110580(107.988KByte)
Largest PSRAM = 0(0)
READY.

list
10 FOR I=1 TO 3
20   PRINT "==="
30   FOR J=1 TO 3
40     PRINT "I=";I;" J=";J
50   NEXT
60   PRINT "---"
70 NEXT
READY.

run
===
I=1 J=1
I=1 J=2
I=1 J=3
---
===
I=2 J=1
I=2 J=2
I=2 J=3
---
===
I=3 J=1
I=3 J=2
I=3 J=3
---
READY.

10 for i=5 to 3
READY.

list
10 FOR I=5 TO 3
20 PRINT "==="
30 FOR J=1 TO 3
40 PRINT "I=";I;" J=";J
50 NEXT
60 PRINT "---"
70 NEXT
READY.

run
---
Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.

Core 1 register dump:
PC : 0x400d2ad8 PS : 0x00060f30 A0 : 0x800d3191 A1 : 0x3ffb2170
A2 : 0x3ffc2134 A3 : 0x00000000 A4 : 0x00000000 A5 : 0xffffffff
A6 : 0x3ffb21bc A7 : 0x3ffc2138 A8 : 0x00000500 A9 : 0xabba1234
A10 : 0x00000007 A11 : 0x3f400281 A12 : 0x000000ff A13 : 0x0000ff00
A14 : 0x00ff0000 A15 : 0xff000000 SAR : 0x00000004 EXCCAUSE: 0x0000001c
EXCVADDR: 0xabba124c LBEG : 0x40085369 LEND : 0x4008536d LCOUNT : 0x00000000


 

|

« 【チラシのうら 13日目】配列を扱えるようにしてみた | トップページ | 「スーパーの裏でヤニ吸うふたり」のフィギア・・・風の画像 »

BASIC」カテゴリの記事

コメント

この記事へのコメントは終了しました。