Скачиваний:
38
Добавлен:
01.05.2014
Размер:
1.89 Кб
Скачать
#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[1000];
	 char buf1[80];

	 int sectors, i;

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

	 dbp_wr = malloc(sizeof(DPB_WR));

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

// ‡ ЇЁблў Ґ¬ Ё­д®а¬ жЁо ў ­Ґбв ­¤ ав­л© ᥪв®а

	printf("\n‚ўҐ¤ЁвҐ бва®Єг ¤«п § ЇЁбЁ ў ­Ґбв ­¤ ав­л© ᥪв®а,"
			 "\n¤«Ё­  бва®ЄЁ ­Ґ ¤®«¦­  ЇаҐўли вм 80 Ў ©в®ў"
			 "\n->");

	gets(buf1);
	strcpy(buf,buf1);


// ‡ Ї®«­пҐ¬ Ў«®Є Ї а ¬Ґва®ў ¤«п ўлЇ®«­Ґ­Ёп
// ®ЇҐа жЁЁ § ЇЁбЁ.

	 dbp_wr->spec = 0;
	 dbp_wr->head = 0;
	 dbp_wr->track = 81;
	 dbp_wr->sector = 0;
	 dbp_wr->sectcnt = 1;
	 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);
	 }


// ‡ Ї®«­пҐ¬ Ў«®Є Ї а ¬Ґва®ў ¤«п ўлЇ®«­Ґ­Ёп
// ®ЇҐа жЁЁ з⥭Ёп.

	 dbp_wr->spec = 0;
	 dbp_wr->head = 0;
	 dbp_wr->track = 81;
	 dbp_wr->sector = 0;
	 dbp_wr->sectcnt = 1;
	 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);
	 }

	printf("\nЏа®зЁв ­® Ё§ ­Ґбв ­¤ ав­®Ј® ᥪв®а :\n%s\n", buf);

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

	 free(dbp_wr);

	 exit(0);
}

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