Скачиваний:
38
Добавлен:
01.05.2014
Размер:
1.97 Кб
Скачать
#include <dos.h>
#include <stdio.h>
#include <malloc.h>
#include <errno.h>
#include "sysp.h"

void main(void);
void main(void) {

	 union REGS reg;
	 struct SREGS segreg;
	 DPB_WR _far *dbp_wr;
	 char buf[2000];

	 int sectors, i;

	 printf("\nЏа®Ја ¬¬  г­Ёз⮦Ёв ᮤҐа¦Ё¬®Ґ"
			  "\n20-© ¤®а®¦ЄЁ ¤ЁбЄ  Ђ:."
			  "\n†Ґ« ҐвҐ Їа®¤®«¦Ёвм? (Y,N)\n");

// Ћ¦Ё¤ Ґ¬ ®вўҐв ®ЇҐа в®а  Ё  ­ «Ё§Ёа㥬 ҐЈ®

	 i = getch();
	 if((i != 'y') && (i != 'Y')) exit(-1);


// ‡ Є §лў Ґ¬ Ї ¬пвм ¤«п Ў«®Є  Ї а ¬Ґва®ў гбва®©бвў ,
// Є®в®ал© Ўг¤Ґв ЁбЇ®«м§®ў ­ ¤«п з⥭Ёп/§ ЇЁбЁ

	 dbp_wr = malloc(sizeof(DPB_FORMAT));

	 if(dbp_wr == NULL) {
		printf("\nЊ «® ®ЇҐа вЁў­®© Ї ¬пвЁ!");
		exit(-1);
	 }


// ‡ Ї®«­пҐ¬ Ў«®Є Ї а ¬Ґва®ў ¤«п ўлЇ®«­Ґ­Ёп
// ®ЇҐа жЁЁ з⥭Ёп.
// Њл Ўг¤Ґ¬ зЁв вм ЇҐаўлҐ ¤ў  ᥪв®а 
// ­  ­г«Ґў®© ¤®а®¦ЄҐ, Ј®«®ўЄ  0.

	 dbp_wr->spec = 0;
	 dbp_wr->head = 0;
	 dbp_wr->track = 0;
	 dbp_wr->sector = 0;
	 dbp_wr->sectcnt = 2;
	 dbp_wr->buffer = buf;

// ‚лЇ®«­пҐ¬ ®ЇҐа жЁо з⥭Ёп ¤®а®¦ЄЁ

	 reg.x.ax = 0x440d;
	 reg.h.bl = 1;
	 reg.x.cx = 0x0861;
	 reg.x.dx =  FP_OFF(dbp_wr);
	 segreg.ds = FP_SEG(dbp_wr);

	 intdosx(&reg, &reg, &segreg);

// Џа®ўҐа塞 д« Ј ЇҐаҐ­®б 

	 if(reg.x.cflag != 0) {
		printf("\nЋиЁЎЄ : %d",reg.x.ax);
		exit(-1);
	 }


// ‡ Ї®«­пҐ¬ Ў«®Є Ї а ¬Ґва®ў ¤«п ўлЇ®«­Ґ­Ёп
// ®ЇҐа жЁЁ § ЇЁбЁ.
// ’®«мЄ® зв® Їа®зЁв ­­лҐ ¤ў  ᥪв®а  ­г«Ґў®©
// ¤®а®¦ЄЁ Ўг¤гв § ЇЁб ­л ­  20-о ¤®а®¦Єг.

	 dbp_wr->spec = 0;
	 dbp_wr->head = 0;
	 dbp_wr->track = 20;
	 dbp_wr->sector = 0;
	 dbp_wr->sectcnt = 2;
	 dbp_wr->buffer = buf;

// ‚лЇ®«­пҐ¬ ®ЇҐа жЁо § ЇЁбЁ

	 reg.x.ax = 0x440d;
	 reg.h.bl = 1;
	 reg.x.cx = 0x0841;
	 reg.x.dx =  FP_OFF(dbp_wr);
	 segreg.ds = FP_SEG(dbp_wr);

	 intdosx(&reg, &reg, &segreg);

// Џа®ўҐа塞 д« Ј ЇҐаҐ­®б 

	 if(reg.x.cflag != 0) {
		printf("\nЋиЁЎЄ : %d",reg.x.ax);
		exit(-1);
	 }


// Ћбў®Ў®¦¤ Ґ¬ ЎгдҐа

	 free(dbp_wr);

	 exit(0);
}

Соседние файлы в папке GENERIC