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

MS-DOSはCP/Mのソースコードを盗んで作られたのか?証明できたら総額20万ドルの賞金」記事へのコメント

  • ソースが欲しけりゃ、わざわざ盗むまでもなく逆アセンブルすればええだけやん

    現代におけるソースコード盗用とは意味が違いすぎますわ

    • by Anonymous Coward

      アセンブラ知らなさすぎ。
      ディスアセンブラが吐き出したものは、ラベル付けやワークエリアの解析など
      かなり手間暇かけないとアセンブラのソースにはならんよ。

      この場合の盗用は、現代におけるソースの盗用とほぼ同じ。

      • Re: (スコア:5, 参考になる)

        バイナリを逆アセ>アセンブル(コンパイル)可能なソース化が手間がかかるのは、言われる通り。
        特にワークの意味合いまで完全に調べるのは、相当に手間がかかる。
        「簡単」と言っている人は多分実際にはやったことなくて、「やった事例がある」のを知ってるだけだと思う。やったのなら、その手間に辟易してるだろうから。
        ただし、だからと言ってソース化が不可能と言っている訳ではない。もちろん可能。

        dis.xや半自動化ツールは親コメがいう所の「ワークの解析」なんてのはやってくれない。
        (=親コメで言っているものと同等ですらないものを持ち出しているだけ)

        毎日逆アセと解析している身としては、まぁCP/Mぐらいの規模になれば、ソースを盗用するよりは、むしろ見えているAPIを下敷きに、模倣する方が100倍くらい楽。
        仮にCP/Mの動作を確認したいとしても、テストコード書いて確認すれば良いだけだから、わざわざコストの高い解析をするとは考えにくい。
        • by Anonymous Coward

          PL/Mという指摘があるけど、アセンブラの話をすると…

          もとコメントを見て最初に思ったのは、CP/Mって
          どんなアセンブラを使って書いてたの? という
          疑問でした。

          もっとはっきりいうと、コメントツリーのだれもマクロに
          言及していないのが時代性を感じさせるというか。
          (ラベルとかワークエリアとか、そこかよ! みたいな。そんなのどうでもいい)
          アセンブリでプログラムを書くのが普通の時代はマクロを
          使ったものです。生産性が全然ちがいますよ。ちょっと開発すれば
          マクロライブラリはがんがん貯まります。
          マクロ機能はCPPみたいな低機能なものではなくて、VHDLのgenericとかを
          考えてくれればいいです。

          で、言いたかったのは、あれを逆アセンブルすればソース化は
          可能と言うなら、Cだって可能です。

          とはいえ、CP/Mがどんなアセンブラを使ってたか知らないので
          黙っていたのでした。(PL/Mということなので、黙ってて正解だった)

          • by Anonymous Coward on 2016年08月12日 21時50分 (#3062450)

            > とはいえ、CP/Mがどんなアセンブラを使ってたか知らないので

            付属のASM.COMなら、マクロどころかリロケータブルなオブジェクト生成やリンケージなどできない単純なアセンブラでしたよ。
            出力はIntel Hexフォーマットのみで、バイナリを作るためにLOAD.COMで変換してましたな。
            後にMACというマクロアセンブラが派生したけど、CP/M1.4時代からあったのはASM.COM。

            まあ、それは商品としてそうであったということだけで、開発したKildallさんが自前で持っていなかったとはいわない。

            > マクロ機能はCPPみたいな低機能なものではなくて、VHDLのgenericとかを考えてくれればいいです。

            例えばMS-DOSのMASMなどと比べるとかなり基本的なマクロ機能しかなかったです。数KB~10数KB程度(MACは手元にないですが、マイクロソフトのMACRO-80アセンブラは19KB、リンカが10KB)のバイナリや32kB~56KB程度のフリーエリアしかない開発環境に多くを求められないでしょう。

            親コメント
            • by Anonymous Coward

              セルフで開発していると思っているバカ

              • by Anonymous Coward

                公開されてるCP/MのソースがPL/Mで書かれてるからなー、初期のCP/MはMDS上でクロス開発され、それ以降の開発はCP/M上でセルフ開発された可能性はフツーに考えられると思うよ。

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

処理中...