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

MS-DOSはCP/Mのコピー品ではなかった」記事へのコメント

  • by Anonymous Coward

    8080 vs 8088

    ソースはトランスレータが移植に使われたんでしたっけ。

    • by Anonymous Coward

      CP/MもMS-DOSもカーネルのかなりの部分はファイルシステムだし、CP/MとMS-DOSとでファイルシステムの構造からして違うし、トランスレータなんか使うとこほとんどないと思うぞ。

      • by Anonymous Coward

        当時はハードウェア直接アクセスがずっと当たり前に行われてたけどそれでもシステムコールを利用する限りにおいてはほとんど機械的な置き換えだけで移植できたんだよ。わざわざCP/Mと同じ方法(CALL 5H)でシステムコールが呼べるようにしてみたり

        • by Anonymous Coward

          アプリの移植とOSの移植と区別つかない人ですか?

          • by Anonymous Coward

            大元コメのトランスレータはアプリの話であって、お前がOSの話だと勘違いしてるだけやないの?

            • by Anonymous Coward

              じゃあ大元コメは関係ない話をしてることになるなw

              • by Anonymous Coward on 2012年08月09日 20時15分 (#2209424)

                >ソースはトランスレータが移植に使われたんでしたっけ。
                の変換のソースはどこからやってくるんだよ。
                CP/MのソースをMSが持ってるわけじゃないんだから、アプリの話だと分かるだろ。

                親コメント
              • by Anonymous Coward

                の変換のソースはどこからやってくるんだよ。

                ふつーに考えて逆アセンブルだろ。

              • by Anonymous Coward

                >変換のソースはどこからやってくるんだよ。

                逆汗とか、事務所忍び込むとか、内通者がいるとか、可能性は色々考えられる罠。

                >CP/MのソースをMSが持ってるわけじゃないんだから

                QDOS作ってた頃はMSじゃないぞ。

              • by Anonymous Coward

                逆アセンブル→トランスレート→アセンブルするぐらいだったら、直接バイナリ変換すると思う。

              • by Anonymous Coward

                完全に自動でできるわけではなかったから人間にも(多少は)読みやすい形式のほうが都合よかったんじゃね。当時は16進のダンプリストを直接読めたとかオープンリールの磁気の濃淡からプログラムを読み取れたとか信じられないような伝説もあるみたいだけど

              • by Anonymous Coward

                コードとデータの判別どーすんの?

              • by Anonymous Coward

                当時のコードは自己書き換えとか命令の途中にジャンプで飛び込むと違う命令列として解釈されるとか当たり前のように行ってたしな

              • Re:ヒント (スコア:4, 興味深い)

                by Abendrot (8840) on 2012年08月09日 23時32分 (#2209538) 日記

                CP/M-80でしたら、BDOS(ファイルシステム)とCCP(コンソール)はそんなトリッキーなことはしてなかった
                ような。大半はPL/Mで書いてあって、レジスタの使い方が決まっていましたし。

                思い出すと、ユーザプログラムのロードを低位アドレスからにしているため、CP/M自体は最上位に置かれました。
                ただしユーザが使用するメモリサイズを自由に(といっても上限64kB)設定できるので、OSのメモリマップが確定しません。
                ところが8080は絶対ジャンプ/コールしかできないのでプログラムはリロケータブルにできません。
                そこで、専用のリロケータがOSの一部として含まれていました(MOVCPM.COM)。
                これは逆アセンブルしてみたところ、たとえばDEレジスタにポインタが入っている、といった前提で絶対アドレスを
                書き換える仕組みのものでした。なので、あまりハンドコーディングで最適化してしまうと問題がでたんじゃないかと
                想像します。

                BIOS(コンソールやFDDなどの入出力)はハードウェア依存なので、お手本のソースが添付されており、それをユーザが
                めいめいカスタマイズして使うことができました。もちろん、メーカーが自社製品に添付するものは専用にカスタマイズ
                したものが最初からFDに書き込まれれていましたが、多くはソースコードが添付されていたようです。

                以上オフトピック気味な昔話でした。

                親コメント
              • by i_i (22332) on 2012年08月09日 23時40分 (#2209542) 日記

                マルウェア業界では今でも使われてませんか?>命令の途中にジャンプで~

                親コメント
              • by Anonymous Coward

                途中の命令にジャンプ~は使われてると思うけど、命令の途中にジャンプ~はあんまないんじゃないかな。

日本発のオープンソースソフトウェアは42件 -- ある官僚

処理中...