参考资料:
1. 《IBM-PC汇编语言程序设计》
2. http://blog.sina.com.cn/s/blog_5028978101008wk2.html
3. http://www.ctyme.com/intr/int-13.htm
◆ 磁盘复位:
功能号:AH = 00H
调用参数:DL = 驱动器号 (00H~7FH为软盘;80H~0FFH为硬盘)
返回参数:读成功 ⇒ AH = 00H, CF = 0
读失败 ⇒ AH = 错误码
◆ 读磁盘状态:
功能号:AH = 01H
返回参数:AH = 状态字节
◆ 读磁盘扇区:
功能号:AH = 02H
调用参数:AL = 扇区数
CX中的0~5位代表扇区号,CX中的6~15位代表柱面号(其中,CL的6~7为柱面数的高两位,CH存低8位)
DH/DL = 磁头号/驱动器号
ES:BX = 数据缓冲区地址
返回参数:读成功 ⇒ AH = 00H, AL = 读取的扇区数,CF = 0
读失败 ⇒ AH = 错误码
◆ 写磁盘扇区:
功能号:AH = 03H
调用参数:AL = 扇区数
CX中的0~5位代表扇区号,CX中的6~15位代表柱面号
DH/DL = 磁头号/驱动器号
ES:BX = 数据缓冲区地址
返回参数:写成功 ⇒ AH = 00H, AL = 写入的扇区数,CF = 0
写失败 ⇒ AH = 错误码
◆ 检查磁盘扇区:
功能号:AH = 04H
调用参数:AL = 扇区数
CX中的0~5位代表扇区号,CX中的6~15位代表柱面号
DH/DL = 磁头号/驱动器号
返回参数:成功 ⇒ AH = 00H, AL = 被检查的扇区数,CF = 0
失败 ⇒ AH = 错误码
◆ 格式化磁盘扇区:
功能号:AH = 05H
调用参数:AL = 扇区数
CX中的0~5位代表扇区号,CX中的6~15位代表柱面号
DH/DL = 磁头号/驱动器号
ES:BX = 格式化参数表指针
返回参数:成功 ⇒ AH = 00H,CF = 0
失败 ⇒ AH = 错误码
◆ 读取驱动器参数:
功能号:AH = 08H
调用参数:DL = 驱动器号
ES:BX = 格式化参数表指针
返回参数:成功 ⇒ BL = 磁盘大小,CX中的0~5位存扇区数,CX中的6~15位存柱面号,DH/DL = 磁头数/驱动器数,ES:DI = 磁盘驱动器参数列表地址
失败 ⇒ AH = 错误码,CF = 1
◆ 读取磁盘类型:
功能号:AH = 15H
调用参数:DL = 驱动器号
ES:BX = 格式化参数表指针
返回参数:成功 ⇒ AH = 类型码,01H 无变线支持的软驱,02H 带线支持的软驱,03H 硬盘驱动器;CX:DX = 512字节扇区的个数。
失败 ⇒ AH = 错误码,CF = 1