硬盘、分区引导和操作系统加载程序nj
弹出可移动驱动器中的介质
入口:
AH = 46h
AL = 0 保留
DL = 驱动器号
返回:
CF = 0, AH = 0 成功
CF = 1, AH = 错误码
这个调用用来弹出指定的可移动驱动器中的介质.
所有标号大于等于 0x80 的可移动驱动器必须支持这个功能. 如果 在支持可移动驱动器控制功能子集的固定驱动器上使用这个功能调用, 将 会返回错误码 AH = B2h (介质不可移动). 如果试图弹出一个被锁定的介质 将返回错误码 AH = B1h (介质被锁定).
如果试图弹出一个没有介质的驱动器, 则返回错误码 Ah = 31h (驱动器 中没有介质).
如果试图弹出一个未锁定的可移动驱动器中的介质, Int13h会调用 Int15h (AH = 52h) 来检查弹出请求能否执行. 如果弹出请求被拒绝则返回错误码(同 Int15h). 如果弹出请求被接受,但出现了其他错误, 则返回错误码 AH = B5h.
7) 扩展定位
入口:
AH = 47h
DL = 驱动器号
DS:DI = 磁盘地址数据包(Disk Address Packet)
返回:
CF = 0, AH = 0 成功
CF = 1, AH = 错误码
这个调用将磁头定位到指定扇区.
8) 取得驱动器参数
入口:
AH = 48h
DL = 驱动器号
DS:DI = 返回数据缓冲区地址
返回:
CF = 0, AH = 0 成功
DS:DI 驱动器参数数据包地址, (参见前面的文章)
CF = 1, AH = 错误码
这个调用返回指定驱动器的参数.
9) 取得扩展驱动器介质更换检测线状态
入口:
AH = 49h
DL = 驱动器号
返回:
CF = 0, AH = 0 介质未更换
CF = 1, AH = 06h 介质可能已更换
这个调用返回指定驱动器的介质更换状态.
这个调用与 Int13h AH = 16h 子功能调用相同, 只是允许任何驱动器 标号. 如果对一台支持可移动介质功能子集的固定驱动器使用此功能,则永远 返回 CF = 0, AH = 0.
简单地将可移动介质锁定再解锁就可以激活检测线, 而无须真正更换介质.
返回:
CF = 0, AH = 0 介质未更换
CF = 1, AH = 06h 介质可能已更换
这个调用返回指定驱动器的介质更换状态.
这个调用与 Int13h AH = 16h 子功能调用相同, 只是允许任何驱动器 标号. 如果对一台支持可移动介质功能子集的固定驱动器使用此功能,则永远 返回 CF = 0, AH = 0.
简单地将可移动介质锁定再解锁就可以激活检测线, 而无须真正更换介质.
10) Int 15h 可移动介质弹出支持
入口:
AH = 52h
DL = 驱动器号
返回:
CF = 0, AH = 0 弹出请求可能可以执行
CF = 1, AH = 错误码 B1h 或 B3h 弹出请求不能执行
这个调用是由 Int13h AH=46h 弹出介质功能调用内部使用的.