Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#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);
}