よいフロッピィのdosのブートレコードのイメージを作ること
新しいフロッピィのブートレコードのイメージを貯えるためには、プログラム絶対必要は次の3つの仕事をする:
- よいフロッピィの丁度読まれた最初512バイト
- 巧妙な読込み操作のための点検(最も重要な)
- 指定ファイル名および行先道にこの512バイトを貯えなさい
フロッピィのセクターは512バイトであり、セクターの厳密なイメージをコピーすることは必要である。 それはあらゆるタイプの点検にフロッピィで適用される操作の場合には操作が巧妙だったかどうか最も重要で、最も必要なステップである。
よく、新しいフロッピー・ディスクの初期設定問題があるかもしれない。 それは操作がフロッピーディスクのすべての初期設定のフロッピーディスクで行われるとき場合のほとんどで、最初に調整ディスク操作(INT 13Hの機能00 h)とプログラミングでなぜ行われるかである。
初期設定の後でさえもプログラムを再度動かすために最近挿入されたフロッピー・ディスクか変えられたフロッピー・ディスク原因があらゆる読み込みエラー助言されればおそらく今回を働かせるかもしれない。
次のプログラムはこれらの指定仕事を行うことである。 私達をそれがいかに進むか見ることを許可しなさい:
/* 新しいフロッピー・ディスクからのファイルにブーツのイメージを貯えなさい*/
#include <bios.h>
#include <stdio.h>
int main(void)
{
struct diskinfo_t dinfo;
union REGS regs;
int result;
int count=0, i;
char fname[80];
static char dbuf[512];
FILE *fp;
dinfo.drive = 0x00; /* aのためのドライブ数: */
dinfo.head = 0; /*ディスクヘッド数*/
dinfo.track = 0; /* トラック数*/
dinfo.sector = 1; /* セクター数 */
dinfo.nsectors = 1; /* セクター計算*/
dinfo.buffer = dbuf; /* データバッファ */
clrscr();
gotoxy(10,3);cprintf("ブーツのイメージを貯えるためにファイル名前および道に入りなさい");
gotoxy(5,5);
gets(fname);
fp=fopen(fname,"wb");
if((fp=fopen(fname,"wb"))==NULL)
{
highvideo();
gotoxy(10,10);cprintf("ファイルは作成できなかった");
getch();
exit(0);
}
|