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

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

  • by Anonymous Coward on 2018年01月04日 21時44分 (#3339872)

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

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

    #やっぱりACで

    • by Anonymous Coward on 2018年01月04日 22時18分 (#3339898)

      exepackや当時のbasicコンパイラ知ってると解析まとめ見てああ、と思い当たるんだけど
      その辺知らないで解析してるのは素直にすごいと思う。

      親コメント
      • by Anonymous Coward

        > その辺知らないで解析してるのは素直にすごいと思う
         
        激しく同意です。
        ここでは後出し番長がなんのかんの言ってるけど、リスクしかない
        地雷案件受けてやり遂げるってのは対したもんだと思う。

      • by Anonymous Coward

        自分は98でdos時代diet使ってました
        exe圧縮流行りましたねぇ、FDにどれだけ入るか
        当時知らずに若さと知識でエイヤとできたのは確かにすごいですね

    • 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だとラベルジャンプはあったように記憶してます
            #行番号と大して違わんかったけど

      • by Anonymous Coward

        ブロックスコープがなくて、関数スコープのみってことじゃ?

        # サブルーチン内でローカル変数使えるなら、構造化BASICって名乗ってもいいじゃない!

        • by Anonymous Coward

          Cコンパイラが生成したコードでもブロックスコープなんてフツー存在しないっしょ

      • by Anonymous Coward

        http://www.dennougumi.co.jp/products/basic98/ver5/index.html [dennougumi.co.jp]

        BASIC/98 Ver.5の特長
        ・N88資産をラクラク継承
         NECのN88BASIC(86)(MS-DOS版)の殆どのコマンド・ステートメント・関数を装備していますので、これまでのN88資産を、Windows上に容易に移植できます。

        (中略)
        ・C言語並みの本格的構造化
         構造化プログラミングをサポートする命令を数多く導入。行番号に依存しないハイレベルな構造化により、信頼性の高いプログラムを効率よく開発できます。

        構造化命令により、構造化プログラミングをサポートするってのと、
        作成されたプログラムが構造化されているってのは別の話では?

        #ステマではない

        • by Anonymous Coward

          その売り言葉に乗せられた客と営業にえらい目にあわさせられたからなあ。
          「N88BASICをDOS/Vに載せ直すだけです」
          って、専用デバイスだらけじゃあそちらの手間の方が余りに大きい。
          「このカード、Cバス用しかないじゃん」とかのレベルのはなしががが。

      • by Anonymous Coward

        このへんは

        ・構造化プログラム(if や while で goto 使わないブロックがあること)
        ・構造体があること
        ・ヒープの概念と malloc/new があること

        が整理されてない感じはしましたね。

    • by Anonymous Coward

      つーか、まだBASIC/98って売ってるし
      WIndows10対応していて現役やん!
      これにもびくりしたよ

ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家

処理中...