|
Comments on Program coding:
In the program coding given earlier, basically we are proceeding to perform the following tasks step by step:
- Character array filename[80] stores the user defined path and file name of the file in which we are going to store the data temporarily.
- dinfo points to the diskinfo_t structure that contains the information of parameters required by the operation performed by the _bios_disk function.
- Initialize the disk system using the interrupt 13H (function 00h) where regs.h.ah = 0x00 points to the function 00 H and regs.h.dl = 0x00 is used for a: floppy. And int86(0x13, ®s, ®s) invokes MS-DOS interrupt service INT 13 H.
- As we are going to read all the information of the surface of disk, The parameters of _bios_disk will be as follows:
Parameter |
What it means |
dinfo.drive = 0x00 |
It indicates the drive 0 that is floppy disk drive (a:) |
dinfo.head = head |
It points to head number 0 and 1 as floppy has two sides(two heads) |
dinfo.track = track |
It points to track 0 to 79 as there are 80 tracks on each side of floppy. |
dinfo.sector = sector |
It points to sector 1 to 18 as there are 18 sectors in each track. |
dinfo.sector = 1 |
Number of sectors to consider for read operation = 1 |
dinfo.buffer = dbuf |
Data buffer for the operation |
- _bios_disk(_DISK_READ, &dinfo) reads the data from the physical surface of floppy disk from the sector specified by dinfo.
- The status returned is stored in result that is used to display the message for successful operation or to display an error message on the screen if any error occurs.
|
|