|
/// 盘系统启动 \\\
for(i=0; i<3; i++)
{
regs.h.ah = 0x00; /* 重新盘系统 */
regs.h.dl = 0x00; /* 软盘的: */
int86(0x13, ®s, ®s);
}
for(track=0;track<=79;track++)
{
for(head=0;head<=1;head++)
{
for(sector=1;sector<=18;sector++)
{
count =0;
while(count<512 )
{
fscanf(fp,"%c",&dbuf[count]);
count++;
}
dinfo.drive = 0x00; /* 活动的人数:*/
dinfo.head = head; /* 盘头多 */
dinfo.track = track; /* 多轨道 */
dinfo.sector = sector;/*一些部门 */
dinfo.nsectors = 1; /* 计部门*/
dinfo.buffer = dbuf; /* 数据缓冲 */
result= _bios_disk(_DISK_WRITE, &dinfo);
if ((result & 0xff00) == 0)
printf("写成功轨道 = %d, Head = %d,
Sector = %d.\n", track, head, sector);
else
printf("不懂驾驶、地位 = 0x%02x\n",
result);
}
}
}
}
对编码方案:
前面的编码方案,基本上我们正在从事下列工作逐步:
- filename举行各种性质的道路80名,并将档案资料储存在我们的表面形式的东西,是暂时的.
- dinfoDiskinfo_t结构的问题,包括资讯的业务范围需要由_bios_disk功能.
- 系统启动盘使用中断,第13次(功能00H)=0x00Regs.h.ah点功能,00H=0X00REGS.H.DL使用的:软. int86,(0x13,0545科学、科学9A)引用余,民主党代理服务中断13H
- 我们将资料直接写磁盘表面部分,_bios_disk范围如下:
|
|