Нужно считать в файл с дискеты указанное количество секторов. И наоборот: с файла записать на дискету указанное число секторов.
Борланд С + ассемблер.
Вот мои начинания, несовсем успешные, может кто поможет.
Спасибо огромное.
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <stdlib.h>
#include <time.h>
static char dat[512], dat1[512];
int segm, segm1, off1, off;
unsigned char st1, dor, sek;
char disc;
void main (void) {
disc=0x00;
//for (int i=0; i<100; i++)
//{
//dat[i] = i%10;
//}
_asm {
mov ah,0x00
mov dl,disc
int 13h
}
puts("Enter storonu 1 2");
scanf("%d",&st1);
puts("Enter doroshku");
scanf("%d",&dor);
puts("Enter kol cektorov");
scanf("%d",&sek);
FILE *fil, *ou;
fil=fopen("c:\\temp\\123.txt","wt");
ou=fopen("c:\\temp\\1234.txt","rt");
//for (int i=0; i<100; i++)
//{
fscanf(ou,"%s",&dat);
//}
for (int i=0; i<100; i++)
{
printf("%d",dat[i]);
}
off=FP_OFF(dat);
segm=FP_SEG(dat);
_asm{
mov bx,off
mov es,segm
mov ah,0x03
mov al,sek
mov ch,dor
mov cl,0x1
mov dh,st1
mov dl,disc
int 13h
}
//getchar();
puts("scital");
getchar();
//puts("pishu");
delay(1000);
puts("pishu");
off1=FP_OFF(dat1);
segm1=FP_SEG(dat1);
_asm{
mov bx,off1
mov es,segm1
mov ah,0x02
mov al,sek
mov ch,dor
mov cl,0x1
mov dh,st1
mov dl,disc
int 13h
}
for (i=0; i<100; i++)
fprintf (fil, "%d",dat1[i]);
fclose(fil);
getchar();
}