Скачиваний:
39
Добавлен:
01.05.2014
Размер:
2 Кб
Скачать
#include <stdio.h>
#include <conio.h>
#include <bios.h>
#include <dos.h>
#include <stdlib.h>
#include <time.h>

char _far diskbuf[1024];

void main(void);

void main(void) {

	 unsigned status = 0, i, j;
	 struct diskinfo_t di;
	 time_t start, end;
	 float t1, t2;

// —Ёв Ґ¬ ЇҐаўл© ᥪв®а ¤®а®¦ЄЁ ¤«п бЁ­еа®­Ё§ жЁЁ в ©¬Ґа 

	 di.drive    = 0;
	 di.head     = 0;
	 di.track    = 20;
	 di.sector   = 1;
	 di.nsectors = 1;
	 di.buffer   = diskbuf;

	 for(i = 0; i < 3; i++) {
		  status = _bios_disk(_DISK_READ, &di) >> 8;
		  if( !status ) break;
	 }

// ЋвбзҐв ўаҐ¬Ґ­Ё ­ зЁ­ Ґ¬ ба §г Ї®б«Ґ з⥭Ёп ᥪв®а ,
// нв® Ї®§ў®«Ёв Є®¬ЇҐ­бЁа®ў вм ўаҐ¬п, ­Ґ®Ўе®¤Ё¬®Ґ ­  а §Ј®­
// ¬®в®а  ¤ЁбЄ®ў®¤ .

	 start = clock();

// Џ®ўв®а塞 50 а § з⥭ЁҐ ᥪв®а®ў б ­®¬Ґа ¬Ё 1 Ё 2

	 for(j=0; j<50; j++) {
		di.drive    = 0;
		di.head     = 0;
		di.track    = 20;
		di.sector   = 1;
		di.nsectors = 2;
		di.buffer   = diskbuf;

		for(i = 0; i < 3; i++) {
			status = _bios_disk(_DISK_READ, &di) >> 8;
			if( !status ) break;
		}

	 }

	 end = clock();
	 t1 = ((float)end - start) / CLK_TCK;

	 printf("‚аҐ¬п ¤«п Ј®«®ўЄЁ 0: %5.1f\n",t1);

// ‚лЇ®«­пҐ¬  ­ «®ЈЁз­го Їа®жҐ¤гаг ¤«п ¤®а®¦ЄЁ,
// Є®в®а п Ўл«  ®вд®а¬ вЁа®ў ­  ®Ўлз­л¬ бЇ®б®Ў®¬.

	 di.drive    = 0;
	 di.head     = 1;
	 di.track    = 20;
	 di.sector   = 1;
	 di.nsectors = 1;
	 di.buffer   = diskbuf;

	 for(i = 0; i < 3; i++) {
		  status = _bios_disk(_DISK_READ, &di) >> 8;
		  if( !status ) break;
	 }

	 start = clock();

	 for(j=0; j<50; j++) {
		di.drive    = 0;
		di.head     = 1;
		di.track    = 20;
		di.sector   = 1;
		di.nsectors = 2;
		di.buffer   = diskbuf;

		for(i = 0; i < 3; i++) {
			status = _bios_disk(_DISK_READ, &di) >> 8;
			if( !status ) break;
		}

	 }
	 end = clock();

	 t2 = ((float)end - start) / CLK_TCK;

	 printf("‚аҐ¬п ¤«п Ј®«®ўЄЁ 1: %5.1f\n",t2);

	 printf("\nЋв­®иҐ­ЁҐ ўаҐ¬Ґ­ з⥭Ёп ¤«п Ј®«®ў®Є 0 Ё 1: %5.1f",
			t1/t2);


}

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