コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
Na ◆QoELVrBXBQCI
2019/10/31 19:07
情報交換
RETURN先がなかったら...(3号)
GOSUBしたあとRETURNで戻れないようにしたらどうなるか、気になったのでやってみました

スロット0に、
USE 1
GOSUB "1:@1" '1スロットの@1にGOSUBする
?"Hoge"

スロット1に、
@1
LOAD "PRG0:TEST" 'スロット0にTESTをロード、これで戻れなくなるはず
RETURN 'GOSUBしたところに戻る

そして「TEST」というファイルの中身は空。

実行結果→ Hoge
え...?

コメント

アバター
Na 2019/10/31 19:12 ◆QoELVrBXBQCI
いろいろ試した結果、「TEST」というファイルを空じゃなくした上で、LOADをEXECに変えたら「Illegal Instruction」というエラーが出ました
初めて見た...
(本来こっちの挙動が普通だと思われる)
アバター
Na 2019/10/31 19:27 ◆QoELVrBXBQCI
DEFで囲ってみました

スロット0
A ' DEF Aを呼び出す
?"Hoge"
DEF A
USE 1
GOSUB "1:@1"
?"HogeA"
END

スロット1
@1
EXEC "PRG0:TEST"
RETURN

「TEST」の中身
?"Hoge2"

結果
Hoge2
HogeA
Illegal Instruction in 0:1

...DEFは別枠なんですかね?
アバター
うょリウム(元 SPDX) 2019/11/1 1:02 ◆UTOEg1c1vr.B
STOP あるいは 
セレクトボタンで中断
→プログラムを書きかえ
→CONT
→書きかえは反映されない
と、同じ原理かと。
(malk2までは反映されていた。)
アバター
だにえる 2019/11/1 1:24 ◆m76OCAQyrWGt
試してもらえれば分かるんだけど、
Acls
Stop
Print "hoge"
これを実行して停止させて
Stop以降の部分をどう変更してContしても、
反映はされてない。

実行開始直後(もしくはUseした時)のタイミングで
コンパイルされる仕様だったと思う。

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -