BIOS int 13H中断介绍
 2018.11.15    |      汇编    |     AilsonJack    |     暂无评论    |     1179 views
By: Ailson Jack
Date: 2018-11-14
个人博客: http://www.only2fire.com/
<p style="text-indent: 2em;">BIOS int 13H中断也叫直接磁盘服务(Direct Disk Service),该中断的各个功能号及对应的功能描述如下:</p><table><tbody><tr class="firstRow"><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">功能号<br/></td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">功能描述<br/></td><td rowspan="15" colspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center"><br/></td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">功能号<br/></td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">功能描述<br/></td></tr><tr><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">00H<br/></td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">磁盘系统复位</td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">01H<br/></td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">读取磁盘系统状态</td></tr><tr><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">02H<br/></td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">读扇区</td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">03H<br/></td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">写扇区</td></tr><tr><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">04H<br/></td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">检验扇区</td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">05H<br/></td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">格式化磁道</td></tr><tr><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">06H<br/></td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">格式化坏磁道</td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">07H<br/></td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">格式化驱动器</td></tr><tr><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">08H<br/></td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">读取驱动器参数</td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">09H<br/></td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">初始化硬盘参数</td></tr><tr><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">0AH<br/></td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">读长扇区</td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">0BH<br/></td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">写长扇区</td></tr><tr><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">0CH<br/></td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">查寻</td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">0DH<br/></td><td style="word-break: break-all; border-width: 1px; border-style: solid;" width="201" valign="bottom" align="center">硬盘系统复位</td></tr><tr><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">0EH<br/></td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">读扇区缓冲区</td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">0FH<br/></td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">写扇区缓冲区</td></tr><tr><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">10H<br/></td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">读取驱动器状态</td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">11H<br/></td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">校准驱动器</td></tr><tr><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">12H<br/></td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">控制器RAM诊断</td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">13H<br/></td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">控制器驱动诊断</td></tr><tr><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">14H<br/></td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">控制器内部诊断</td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">15H<br/></td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">读取磁盘类型</td></tr><tr><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">16H<br/></td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">读取磁盘变化状态</td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">17H<br/></td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">设置磁盘类型</td></tr><tr><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">18H<br/></td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">设置格式化媒体类型</td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">19H<br/></td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">设置磁盘类型</td></tr><tr><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">1AH<br/></td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center">格式化ESDI驱动器</td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center"><br/></td><td colspan="1" rowspan="1" style="word-break: break-all; border-width: 1px; border-style: solid;" valign="bottom" align="center"><br/></td></tr></tbody></table><p><br/></p><p class="artical_littlestyle1">1、功能 00H</p><p style="text-indent: 0em;">功能描述:磁盘系统复位<br/>入口参数:AH=00H<br/>DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘<br/>出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle2">2、功能 01H</p><p style="text-indent: 0em;">功能描述:读取磁盘系统状态<br/>入口参数:AH=01H<br/>DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘<br/>出口参数:AH=00H,AL=状态代码,其定义如下:<br/>00H — 无错 01H — 非法命令<br/>02H — 地址目标未发现 03H — 磁盘写保护(软盘)<br/>04H — 扇区未发现 05H — 复位失败(硬盘)<br/>06H — 软盘取出(软盘) 07H — 错误的参数表(硬盘)<br/>08H — DMA越界(软盘) 09H — DMA超过64K界限<br/>0AH — 错误的扇区标志(硬盘) 0BH — 错误的磁道标志(硬盘)<br/>0CH — 介质类型未发现(软盘) 0DH — 格式化时非法扇区号(硬盘)<br/>0EH — 控制数据地址目标被发现(硬盘) 0FH — DMA仲裁越界(硬盘)<br/>10H — 不正确的CRC或ECC编码 11H — ECC校正数据错(硬盘)<br/> CRC:Cyclic Redundancy Check code<br/> ECC:Error Checking &amp; Correcting code<br/>20H — 控制器失败 40H — 查找失败<br/>80H — 磁盘超时(未响应) AAH — 驱动器未准备好(硬盘)<br/>BBH — 未定义的错误(硬盘) CCH — 写错误(硬盘)<br/>E0H — 状态寄存器错(硬盘) FFH — 检测操作失败(硬盘)<br/></p><p class="artical_littlestyle3">3、功能 02H</p><p style="text-indent: 0em;">功能描述:读扇区<br/>入口参数:AH=02H<br/>AL=扇区数<br/>CH=柱面<br/>CL=扇区<br/>DH=磁头<br/>DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘<br/>ES:BX=缓冲区的地址<br/>出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle4">4、功能 03H</p><p style="text-indent: 0em;">功能描述:写扇区<br/>入口参数:AH=03H<br/>AL=扇区数<br/>CH=柱面<br/>CL=扇区<br/>DH=磁头<br/>DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘<br/>ES:BX=缓冲区的地址<br/>出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle1">5、功能 04H</p><p style="text-indent: 0em;">功能描述:检验扇区<br/>入口参数:AH=04H<br/>AL=扇区数<br/>CH=柱面<br/>CL=扇区<br/>DH=磁头<br/>DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘<br/>ES:BX=缓冲区的地址<br/>出口参数:CF=0——操作成功,AH=00H,AL=被检验的扇区数,否则,AH=状态代码,参见功能号01H中的说明。<br/></p><p class="artical_littlestyle2">6、功能 05H</p><p style="text-indent: 0em;">功能描述:格式化磁道<br/>入口参数:AH=05H<br/>AL=交替(Interleave)<br/>CH=柱面<br/>DH=磁头<br/>DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘<br/>ES:BX=地址域列表的地址<br/>出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明。<br/></p><p class="artical_littlestyle3">7、功能 06H</p><p style="text-indent: 0em;">功能描述:格式化坏磁道<br/>入口参数:AH=06H<br/>AL=交替<br/>CH=柱面<br/>DH=磁头<br/>DL=80H~0FFH:硬盘<br/>ES:BX=地址域列表的地址<br/>出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle4">8、功能 07H</p><p style="text-indent: 0em;">功能描述:格式化驱动器<br/>入口参数:AH=07H<br/>AL=交替<br/>CH=柱面<br/>DL=80H~0FFH:硬盘<br/>出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle1">9、功能 08H</p><p style="text-indent: 0em;">功能描述:读取驱动器参数<br/>入口参数:AH=08H<br/>DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘<br/>出口参数:CF=1——操作失败,AH=状态代码,参见功能号01H中的说明,否则,BL=<br/>01H — 360K<br/>=02H — 1.2M<br/>=03H — 720K<br/>=04H — 1.44M<br/>CH=柱面数的低8位<br/>CL的位7-6=柱面数的该2位<br/>CL的位5-0=扇区数<br/>DH=磁头数<br/>DL=驱动器数<br/>ES:DI=磁盘驱动器参数表地址<br/></p><p class="artical_littlestyle2">10、功能 09H</p><p style="text-indent: 0em;">功能描述:初始化硬盘参数<br/>入口参数:AH=09H<br/>DL=80H~0FFH:硬盘(还有有关参数表问题,在此从略)<br/>出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle3">11、功能 0AH</p><p style="text-indent: 0em;">功能描述:读长扇区,每个扇区随带四个字节的ECC编码<br/>入口参数:AH=0AH<br/>AL=扇区数<br/>CH=柱面<br/>CL=扇区<br/>DH=磁头<br/>DL=80H~0FFH:硬盘<br/>ES:BX=缓冲区的地址<br/>出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle4">12、功能 0BH</p><p style="text-indent: 0em;">功能描述:写长扇区,每个扇区随带四个字节的ECC编码<br/>入口参数:AH=0BH<br/>AL=扇区数<br/>CH=柱面<br/>CL=扇区<br/>DH=磁头<br/>DL=80H~0FFH:硬盘<br/>ES:BX=缓冲区的地址<br/>出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle1">13、功能 0CH</p><p style="text-indent: 0em;">功能描述:查寻<br/>入口参数:AH=0CH<br/>CH=柱面的低8位<br/>CL(7-6位)=柱面的高2位<br/>DH=磁头<br/>DL=80H~0FFH:硬盘<br/>出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle2">14、功能 0DH</p><p style="text-indent: 0em;">功能描述:硬盘系统复位<br/>入口参数:AH=0DH<br/>DL=80H~0FFH:硬盘<br/>出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle3">15、功能 0EH</p><p style="text-indent: 0em;">功能描述:读扇区缓冲区<br/>入口参数:AH=0EH<br/>ES:BX=缓冲区的地址<br/>出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle4">16、功能 0FH</p><p style="text-indent: 0em;">功能描述:写扇区缓冲区<br/>入口参数:AH=0FH<br/>ES:BX=缓冲区的地址<br/>出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle1">17、功能 10H</p><p style="text-indent: 0em;">功能描述:读取驱动器状态<br/>入口参数:AH=10H<br/>DL=80H~0FFH:硬盘<br/>出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle2">18、功能 11H</p><p style="text-indent: 0em;">功能描述:校准驱动器<br/>入口参数:AH=11H<br/>DL=80H~0FFH:硬盘<br/>出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle3">19、功能 12H</p><p style="text-indent: 0em;">功能描述:控制器RAM诊断<br/>入口参数:AH=12H<br/>出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle4">20、功能 13H</p><p style="text-indent: 0em;">功能描述:控制器驱动诊断<br/>入口参数:AH=13H<br/>出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle1">21、功能 14H</p><p style="text-indent: 0em;">功能描述:控制器内部诊断<br/>入口参数:AH=14H<br/>出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle2">22、功能 15H</p><p style="text-indent: 0em;">功能描述:读取磁盘类型<br/>入口参数:AH=15H<br/>DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘<br/>出口参数:CF=1——操作失败,AH=状态代码,参见功能号01H中的说明, 否则,AH=00H — 未安装驱动器<br/>=01H — 无改变线支持的软盘驱动器<br/>=02H — 带有改变线支持的软盘驱动器<br/>=03H — 硬盘,CX:DX=512字节的扇区数<br/></p><p class="artical_littlestyle3">23、功能 16H</p><p style="text-indent: 0em;">功能描述:读取磁盘变化状态<br/>入口参数:AH=16H<br/>DL=00H~7FH:软盘<br/>出口参数:CF=0——磁盘未改变,AH=00H,否则,AH=06H,参见功能号01H中的说明<br/></p><p class="artical_littlestyle4">24、功能 17H</p><p style="text-indent: 0em;">功能描述:设置磁盘类型<br/>入口参数:AH=17H<br/>DL=00H~7FH:软盘 AL=00H — 未用<br/>=01H — 360K在360K驱动器中<br/>=02H — 360K在1.2M驱动器中<br/>=03H — 1.2M在1.2M驱动器中<br/>=04H — 720K在720K驱动器中<br/>出口参数:CF=0——操作成功,AH=00H,否则,AH=状态编码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle1">25、功能 18H</p><p style="text-indent: 0em;">功能描述:设置格式化媒体类型<br/>入口参数:AH=18H<br/>CH=柱面数<br/>CL=每磁道的扇区数<br/>DL=00H~7FH:软盘<br/>出口参数:CF=0——操作成功,AH=00H,ES:DI=介质类型参数表地址,否则,AH=状态编码,参见功能号01H中的说明<br/></p><p class="artical_littlestyle2">26、功能 19H</p><p style="text-indent: 0em;">功能描述:磁头保护,仅在PS/2中有效,在此从略<br/></p><p class="artical_littlestyle3">27、功能 1AH</p><p style="text-indent: 0em;">功能描述:格式化ESDI驱动器,仅在PS/2中有效,在此从略<br/></p>
欢迎关注博主的公众号呀,精彩内容随时掌握:
热情邀请仔细浏览下博客中的广告,万一有对自己有用或感兴趣的呢。◕ᴗ◕。。
如果这篇文章对你有帮助,记得点赞和关注博主就行了^_^,当然了能够赞赏博主,那就非常感谢啦!
注: 转载请注明出处,谢谢!^_^
转载请注明来源: 本文链接:  By: AilsonJack
BIOS int 13H中断介绍  |  说好一起走
暂无评论,要不要来个沙发
发表评论

 
Copyright © 2015~2023  说好一起走   保留所有权利   |  百度统计  蜀ICP备15004292号