The information given by the output of the program is displayed something like as given below:
Part.Type |
Boot |
Starting location |
Ending Location |
Relative Sectors |
Number of Sectors |
|
|
Side |
Cylinder |
Sector |
Side |
Cylinder |
Sector |
|
|
FAT32 |
Yes |
1 |
0 |
1 |
254 |
701 |
63 |
63 |
11277567 |
VFAT EXT |
No |
0 |
702 |
1 |
254 |
1023 |
63 |
11277630 |
28724220 |
Unused |
No |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Unused |
No |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Comments on coding:
The structure partition is used to read the various parameters of partition entry of partition in partition table of MBR. The structure part is used to read MBR information.
The function display() displays the information of MBR Partition Table parameters on the screen. As we see the output of the program, the starting and ending cylinder and sector number are displayed as follows:
Starting Sector = 1
Starting Cylinder = 0
Ending Sector = 63
Ending Cylinder = 701
These sector and cylinder numbers are calculated from the combination of two bytes. The following tables show that how these numbers are calculated:
00H (Byte At Offset 03H) |
01H (Byte At Offset 02H) |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
Bits 7 to 0 For Cylinder Number |
Cylinder Bits 9, 8 |
Sector Bits 5 to 0 |
Cylinder Number =
0000000000 (B) = 0 |
Sector Number =
000001(B)=1 |
Thus Starting C-H-S of the partition= 0-0-1.
Similarly, the Encoding for the Ending Cylinder and Sector number of the partition have been given in the next table:
BDH (Byte At Offset 07H) |
BFH (Byte At Offset 06H) |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
Bits 7 to 0 For Cylinder Number |
Cylinder Bits 9, 8 |
Sector Bits 5 to 0 |
Cylinder Number =
1010111101 (B) = 701 |
Sector Number =
111111 (B) = 63 |
Thus the Ending C-H-S of the Partition = 701-254-63.
|