プログラムコーディングのコメント:
このプログラムコーディングでは、基本的に私達は次をこれらの仕事一歩ずつ行うことを進んでいる:
- 静的なテキストデータの緩衝dbuf [512]判読不可能なフロッピィの最初のセクターに書かれる16進法システムの512バイトの情報提供される。 どんな情報がフロッピィの最初のセクターに書かれるべきであるかdbuf [512]操作の間にコンピュータをこと告げる。 (次のプログラムを見なさい)
- dinfoは_bios_disk機能によって行われる操作によって必要な変数の情報を含んでいるdiskinfo_tの構造を指す。
- 私達が従ってディスクの最初のセクターで情報を書こうと思っているのでセクターの位置は次の通りある:
変数 |
それが意味する何を |
dinfo.drive = 0x00 |
それはフロッピーディスク・ドライブ(a:)であるドライブ0を示す |
dinfo.head = 0 |
それはヘッド第0を指す |
dinfo.track = 0 |
それはトラック0を指す |
dinfo.sector = 1 |
セクター1であるフロッピィの最初セクター |
dinfo.sector = 1 |
のために考慮するべきセクターの数は操作を= 1書く |
dinfo.buffer = dbuf |
操作のためのデータバッファ |
- regs.h.ah = 0x00が機能00 hを指し、regs.h.dl = 0x00がaのために使用されるところ割り込み13H (機能00h)を使用してディスクシステムを初期設定しなさい: だらしない。 そしてint86 (0x13の®s、®s)はMS-DOS割り込みサービスINT 13 h.を実施する。
- _bios_disk (_DISK_WRITE、&dinfo)は指定ファイルからのフロッピー・ディスクの最初の(指定)セクターにブーツ情報を書く。
戻る状態は巧妙な操作のためのメッセージを表示するか、またはスクリーンのエラーメッセージを表示するのに使用されている結果でどの間違いでも生じれば貯えられる。
16進法の特性でブーツのイメージを私達の前のプログラムで使用するために貯えること
それは私達が最近論議したプログラムの間違いなしで16進法システムに512にすべてフロッピィのdosのブートレコードの特性を手動で書く非常に困難な仕事である。 私達が均等になるためによりそれを正確に書いてもいければこれをする仕事を取るそれは困難および時間である。 私達をこうかつな心をファイルでデータバッファのdbuf [512]のデータを貯えるのに使用することを許可しなさい。
私達は16進法の特性がA9 hなら、私達は0xA9として私達のCプログラムにこれを書くことCプログラムで16進法の特性が0xとそのような物ことを表されることを確認できる。 私達の次のプログラムは同じをしている。 それはデータバッファのdbuf [512]のデータように私達が私達の前のプログラムに書く必要があるデータを貯える。
|