home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

日記/2010/03/15/7C00の記事を近日公開

日記/2010/03/15/7C00の記事を近日公開

日記 / 2010 / 03 / 15 / 7C00の記事を近日公開
id: 613 所有者: msakamoto-sf    作成日: 2010-03-15 23:17:39
カテゴリ:

86-DOSがなぜディスクの先頭セクタを200Hにロードするのか、なぜIBM PC 5150のROM BIOSおよび現在に至る互換BIOSがMBRを7C00Hにロードするのか、その値の意味は何か。

一通り謎が解けたので、現在まとめ記事を書いてます。今週中に公開予定。

それにしても当時のアセンブラって・・・現在とは少し違います。
86-DOSのコードで頻出していて、悩まされたのが

UP


PUT 100H

の二つ。
UPは現在の"CLD"のことでした。(シミュレータ上で86-DOSのMonitorコードをステップ実行してて、シミュレータの逆アセンブリ結果を見て初めて理解)

PUTの方は擬似コードなのですが、正直よく分からないです。ORGも併用されてるので、そのコードがどこのメモリに展開されるのか分かりづらい。

86-DOSのMonitorやbootstrapって、割り込みベクタが調整される前に動作するコード・・・つまり、キーボード入力やディスクI/Oを、I/Oポートの読み書きを駆使し、割り込みは一切使わずに書かれている・・・スゲー。

こういうのを目の当たりにすると、つくづく「たった四半世紀でここまで変わるものなのか・・・」と感心というかあっけにとられます。これからの25年、50年はどうなっちゃうんでしょうね。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2010-03-15 23:29:56
md5:96e949612476fbc1b2170a42d14b2b42
sha1:824b149caa8bd3d40069d220f82607cc19be82ba
コメント
コメントを投稿するにはログインして下さい。