Η κωδικοποίηση του προγράμματος είναι η ακόλουθη:
/* Πρόγραμμα για να διαβαστεί ο πίνακας χωρισμάτων MBR */
# include <bios.h>
/* δομή για να διαβάσει την είσοδο χωρισμάτων από τον πίνακα χωρισμάτων */
struct partition
{
unsigned char bootable ; /* Ενεργός ψηφιολέξη χωρισμάτων*/
unsigned char start_side ;/* Αρχικό κεφάλι */
unsigned int start_sec_cyl ; /* συνδυασμός αρχικού αριθμού τομέα και κυλίνδρων */
unsigned char parttype ; /* Ψηφιολέξη δεικτών συστημάτων αρχείων */
unsigned char end_side ; /* Τελείωμα του κεφαλιού */
unsigned int end_sec_cyl ; /* συνδυασμός αρχικού αριθμού τομέα και κυλίνδρων */
unsigned long part_beg ; /* Σχετικός αριθμός τομέα */
unsigned long plen ; /* Μήκος χωρισμάτων στους τομείς */
} ;
/* Δομή για να διαβάσει MBR */
struct part
{
unsigned char master_boot[446] ; /* Ipl (αρχικός φορτωτής προγράμματος)*/
struct partition pt[4] ; /* Πίνακας χωρισμάτων */
int lasttwo ; /* Μαγικός αριθμός*/
} ;
struct part p ;
void main()
{
clrscr();
/* Διαβάστε τον πρώτο τομέα του πρώτου σκληρού δίσκου */
biosdisk ( 2, 0x80, 0, 0, 1, 1, &p ) ;
display(); /*Επιδείξτε τις πληροφορίες του πίνακα χωρισμάτων MBR*/
getch();
}
|