#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void main()
{
int i;
unsigned char *buff,*ptr;
union
#include<conio.h>
#include<stdlib.h>
void main()
{
int i;
unsigned char *buff,*ptr;
union
{
char no[4];
int num;
}u1;
clrscr();
buff=(char *)malloc(512);
asm {
mov bx,buff;
mov ah,0x02;
mov al,0x01;
mov ch,0x00;
mov cl,0x01;
mov dh,0x00;
mov dl,0x00;
int 0x13;
}
ptr=buff;
printf("\n Jump to Bootstrap :");
for(i=0;i<3;i++)
{
printf(" %x",*ptr);
ptr++;
}
printf("\n\n Manufacture name and version :");
for(i=3;i<11;i++)
{
printf("%c",*ptr);
ptr++;
}
printf("\n\nBytes per sector :");
u1.no[0]=*ptr;
u1.no[1]=*(ptr+1);
printf(" %d",u1.num);
ptr=ptr+2;
printf("\n\nSectors per allocation unit :");
printf(" %d",*ptr);
ptr++;
printf("\n\nReserved sectors starting at 0 :");
u1.no[0]=*ptr;
u1.no[1]=*(ptr+1);
printf(" %d",u1.num);
ptr=ptr+2;
printf("\n\nNumber of FAT :");
printf(" %d",*ptr);
ptr++;
printf("\n\nNumber of root directory entry :");
u1.no[0]=*ptr;
u1.no[1]=*(ptr+1);
printf(" %d",u1.num);
ptr=ptr+2;
printf("\n\nTotal sector in logical volume :");
u1.no[0]=*ptr;
u1.no[1]=*(ptr+1);
printf(" %d",u1.num);
ptr=ptr+2;
printf("\n\nMedia descriptro typeT :");
printf(" %d",*ptr);
ptr++;
printf("\n\nNumbers of sectors per FAT :");
u1.no[0]=*ptr;
u1.no[1]=*(ptr+1);
printf(" %d",u1.num);
ptr=ptr+2;
printf("\n\nSectors per track :");
u1.no[0]=*ptr;
u1.no[1]=*(ptr+1);
printf(" %d",u1.num);
ptr=ptr+2;
printf("\n\nNumber of heads :");
u1.no[0]=*ptr;
u1.no[1]=*(ptr+1);
printf(" %d",u1.num);
ptr=ptr+2;
printf("\n\nNumber of hidden sectors :");
u1.no[0]=*ptr;
u1.no[1]=*(ptr+1);
u1.no[2]=*(ptr+2);
u1.no[3]=*(ptr+3);
printf(" %d",u1.num);
ptr=ptr+4;
printf("\n\nTotal sectors in logical volume :");
u1.no[0]=*ptr;
u1.no[1]=*(ptr+1);
u1.no[2]=*(ptr+2);
u1.no[3]=*(ptr+3);
printf(" %d",u1.num);
ptr=ptr+4;
printf("\n\nPhysical driver number :");
printf(" %d",*ptr);
ptr++;
printf("\n\nReserved :");
printf(" %d",*ptr);
ptr++;
printf("\n\nExpected boot sign record :");
printf(" %d",*ptr);
ptr++;
printf("\n\n32 bit binary volme ID :");
for(i=0;i<4;i++)
{
printf(" %x",*ptr);
ptr++;
}
printf("\n\nVolume label :");
for(i=0;i<11;i++)
{
printf(" %c",*ptr);
ptr++;
}
printf("\n\nReserved :");
for(i=0;i<8;i++)
{
printf(" %c",*ptr);
ptr++;
}
getch();
}
No comments:
Post a Comment