パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

ソースコードのないPC-9801プログラムの仕様解析、その後」記事へのコメント

  • by Anonymous Coward

    別の解析担当(俺)によりますと、
    使用言語:BASIC/98コンパイラ(バージョン不明)
    EXEファイル軽量化:EXEPACKコマンドによる、リロケーション情報の圧縮
    だと思われます。

    BASIC/98コンパイラと判定した理由は、「エラーメッセージ中に構造化BASIC命令に対するエラーメッセージがある」ことです。

    #やっぱりACで

    • by Anonymous Coward

      https://twitter.com/roentgen/status/947509568141008897 [twitter.com]

      一方でスタックの使い方は猿のようであった。ブロックがないこと(構造化 BASIC でもない限り)は当時のプログラムとしては相当に割を食っている。すべてのデータは、サブルーチンを抜けるときまで保持される

      なんかこの辺何言ってんだかわかんないけど構造化BASICではないことは読み取れるけど矛盾してね?

      • PC98あたりの時代って、スコープの概念とかルーチンの構造化、関数化とかなかったと思うのですが。
        gosubで飛ぶのは、行番号指定だった気がするし、引数指定も無かったかと・・・

        なので、「すべてのデータは、サブルーチンを抜けるときまで保持される」事はなく、全てグローバル変数で、サブルーチンだろうが何だろうが、変数の値を書き換えるとそれが結果になったと思います。

        親コメント
        • by Anonymous Coward

          構造化が無いとか行番号指定のみとかは旧来のBASIC(N88とか)でのお話。

          当時の構造化BASICはたぶん C言語での枠組みを BASICに導入したもの。
          たぶん、今回のはサブルーチン内のローカル変数は使えたんだろう。
          一方、今時の言語でいうブロックは存在しない。

          「すべてのデータは、サブルーチンを抜けるときまで保持される」は自然な挙動。

          # ツリーが分岐してるので IDさんにぶら下げてみるテスト。

          • by Anonymous Coward

            N88-BASICだとラベルジャンプはあったように記憶してます
            #行番号と大して違わんかったけど

クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人

処理中...