int 13 中断
2015-09-30 15:41
127 查看
x86中断总览
===============================
直接系统服务(Direct System Service)
INT 00H - “0”作除数
INT 01H - 单步中断
INT 02H - 非屏蔽中断(NMI)
INT 03H - 断点中断
INT 04H - 算术溢出错误
INT 05H - 打印屏幕和BOUND越界
INT 06H - 非法指令错误
INT 07H - 处理器扩展无效
INT 08H - 时钟中断
INT 09H - 键盘输入
INT 0BH - 串行通信口(COM2:)
INT 0CH - 串行通信口(COM1:)
INT 0DH - 并行通信口(LPT2:)
INT 0EH - 磁盘驱动器输入/输出
INT 0FH - 并行通信口(LPT1:)
INT 10H - 显示服务(Video Service)
INT 11H - 读取设备配置
INT 12H - 读取常规内存大小(返回值AX为内存容量,以K为单位)
INT 13H - 直接磁盘服务(Direct Disk Service)
INT 14H - 串行口服务(Serial Port Service)
INT 15H - 杂项系统服务(Miscellaneous System Service)
INT 16H - 键盘服务(Keyboard Service)
INT 17H - 并行口服务(Parallel Port Service)
INT 18H - ROM BASIC
INT 19H - 重启动系统
INT 1AH - 时钟服务(Clock Service)
INT 1BH - CTRL+BREAK处理程序
INT 1CH - 用户时钟服务
INT 1DH - 指向显示器参数表指针
INT 1EH - 指向磁盘驱动器参数表指针
INT 1FH - 指向图形字符模式表指针
DOS中断
INT 20H - 终止程序运行
INT 21H - 字符功能调用、目录控制、文件操作、系统功能、进程控制、时间和日期功能
INT 22H - 终止处理程序的地址
INT 23H - Ctrl+C处理程序
INT 24H - 致命错误处理程序
INT 25H - 读磁盘扇区(忽略逻辑结构)
INT 26H - 写磁盘扇区(忽略逻辑结构)
INT 27H - 终止,并驻留在内存
INT 28H - DOS空闲
INT 2FH - 多重中断服务
INT 33H - 鼠标功能中断
==================================
直接磁盘服务(Direct Disk Service——INT 13H)
00H —磁盘系统复位
01H —读取磁盘系统状态
02H —读扇区
03H —写扇区
04H —检验扇区
05H —格式化磁道
06H —格式化坏磁道
07H —格式化驱动器
08H —读取驱动器参数
09H —初始化硬盘参数
0AH —读长扇区
0BH —写长扇区
0CH —查寻
0DH —硬盘系统复位
0EH —读扇区缓冲区
0FH —写扇区缓冲区
10H —读取驱动器状态
11H —校准驱动器
12H —控制器RAM诊断
13H —控制器驱动诊断
14H —控制器内部诊断
15H —读取磁盘类型
16H —读取磁盘变化状态
17H —设置磁盘类型
18H —设置格式化媒体类型
19H —磁头保护
1AH —格式化ESDI驱动器
(1)、功能00H
功能描述:磁盘系统复位
入口参数:AH=00H
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(2)、功能01H
功能描述:读取磁盘系统状态
入口参数:AH=01H
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
出口参数:AH=00H,AL=状态代码,其定义如下:
00H — 无错
01H — 非法命令
02H — 地址目标未发现
03H — 磁盘写保护(软盘)
04H — 扇区未发现
05H — 复位失败(硬盘)
06H — 软盘取出(软盘)
07H — 错误的参数表(硬盘)
08H — DMA越界(软盘)
09H — DMA超过64K界限
0AH — 错误的扇区标志(硬盘)
0BH — 错误的磁道标志(硬盘)
0CH — 介质类型未发现(软盘)
0DH — 格式化时非法扇区号(硬盘)
0EH — 控制数据地址目标被发现(硬盘)
0FH — DMA仲裁越界(硬盘)
10H — 不正确的CRC或ECC编码
11H — ECC校正数据错(硬盘)
CRC:Cyclic Redundancy Check code
ECC:Error Checking & Correcting code
20H — 控制器失败
40H — 查找失败
80H — 磁盘超时(未响应)
AAH — 驱动器未准备好(硬盘)
BBH — 未定义的错误(硬盘)
CCH — 写错误(硬盘)
E0H — 状态寄存器错(硬盘)
FFH — 检测操作失败(硬盘)
(3)、功能02H
功能描述:读扇区
入口参数:AH=02H
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明
(4)、功能03H
功能描述:写扇区
入口参数:AH=03H
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明
(5)、功能04H
功能描述:检验扇区
入口参数:AH=04H
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=被检验的扇区数,否则,AH=状态代码,参见功能号01H中的说明
(6)、功能05H
功能描述:格式化磁道
入口参数:AH=05H
AL=交替(Interleave)
CH=柱面
DH=磁头
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
ES:BX=地址域列表的地址
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(7)、功能06H
功能描述:格式化坏磁道
入口参数:AH=06H
AL=交替
CH=柱面
DH=磁头
DL=80H~0FFH:硬盘
ES:BX=地址域列表的地址
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(8)、功能07H
功能描述:格式化驱动器
入口参数:AH=07H
AL=交替
CH=柱面
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(9)、功能08H
功能描述:读取驱动器参数
入口参数:AH=08H
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
出口参数:CF=1——操作失败,AH=状态代码,参见功能号01H中的说明,否则, BL=01H — 360K
=02H — 1.2M
=03H — 720K
=04H — 1.44M
CH=柱面数的低8位
CL的位7-6=柱面数的该2位
CL的位5-0=扇区数
DH=磁头数
DL=驱动器数
ES:DI=磁盘驱动器参数表地址
(10)、功能09H
功能描述:初始化硬盘参数
入口参数:AH=09H
DL=80H~0FFH:硬盘(还有有关参数表问题,在此从略)
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(11)、功能0AH
功能描述:读长扇区,每个扇区随带四个字节的ECC编码
入口参数:AH=0AH
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明
(12)、功能0BH
功能描述:写长扇区,每个扇区随带四个字节的ECC编码
入口参数:AH=0BH
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明
(13)、功能0CH
功能描述:查寻
入口参数:AH=0CH
CH=柱面的低8位
CL(7-6位)=柱面的高2位
DH=磁头
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(14)、功能0DH
功能描述:硬盘系统复位
入口参数:AH=0DH
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(15)、功能0EH
功能描述:读扇区缓冲区
入口参数:AH=0EH
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明
(16)、功能0FH
功能描述:写扇区缓冲区
入口参数:AH=0FH
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明
(17)、功能10H
功能描述:读取驱动器状态
入口参数:AH=10H
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(18)、功能11H
功能描述:校准驱动器
入口参数:AH=11H
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(19)、功能12H
功能描述:控制器RAM诊断
入口参数:AH=12H
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明
(20)、功能13H
功能描述:控制器驱动诊断
入口参数:AH=13H
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明
(21)、功能14H
功能描述:控制器内部诊断
入口参数:AH=14H
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明
(22)、功能15H
功能描述:读取磁盘类型
入口参数:AH=15H
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
出口参数:CF=1——操作失败,AH=状态代码,参见功能号01H中的说明, 否则,AH=00H — 未安装驱动器
=01H — 无改变线支持的软盘驱动器
=02H — 带有改变线支持的软盘驱动器
=03H — 硬盘,CX:DX=512字节的扇区数
(23)、功能16H
功能描述:读取磁盘变化状态
入口参数:AH=16H
DL=00H~7FH:软盘
出口参数:CF=0——磁盘未改变,AH=00H,否则,AH=06H,参见功能号01H中的说明
(24)、功能17H
功能描述:设置磁盘类型
入口参数:AH=17H
DL=00H~7FH:软盘 AL=00H — 未用
=01H — 360K在360K驱动器中
=02H — 360K在1.2M驱动器中
=03H — 1.2M在1.2M驱动器中
=04H — 720K在720K驱动器中
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态编码,参见功能号01H中的说明
(25)、功能18H
功能描述:设置格式化媒体类型
入口参数:AH=18H
CH=柱面数
CL=每磁道的扇区数
DL=00H~7FH:软盘
出口参数:CF=0——操作成功,AH=00H,ES:DI=介质类型参数表地址,否则,AH=状态编码,参见功能号01H中的说明
(26)、功能19H
功能描述:磁头保护,仅在PS/2中有效,在此从略
(27)、功能1AH
功能描述:格式化ESDI驱动器,仅在PS/2中有效,在此从略
=========================================================
INT 13h AH=08h: Read Drive Parameters
Parameters:
Registers
AH 08h = function number for read_drive_parameters
DL drive index (e.g. 1st HDD = 80h)
ES:DI[4] set to 0000h:0000h to work around some buggy BIOS
Results:
CF Set On Error, Clear If No Error
AH Return Code
DL number of hard disk drives
DH[4] logical last index of heads = number_of - 1 (because index starts with 0)
CX [7:6] [15:8][4] logical last index of cylinders = number_of - 1 (because index starts with 0)
[5:0][4] logical last index of sectors per track = number_of (because index starts with 1)
BL[4] drive type (only AT/PS2 floppies)
ES:DI[4] pointer to drive parameter table (only for floppies)
Remarks:
Logical values of function 08h may/should differ from physical CHS values of function 48h.
Result register CX contains both cylinders and sector/track values, see remark of function 02h.
INT 13h AH=48h: Extended Read Drive Parameters
Parameters:
Registers
AH 48h = function number for extended_read_drive_parameters
DL drive index (e.g. 1st HDD = 80h)
DS:SI segment:offset pointer to Result Buffer, see below
Result Buffer
offset range size description
00h..01h 2 bytes size of Result Buffer = 30 = 1Eh
02h..03h 2 bytes information flags
04h..07h 4 bytes physical number of cylinders = last index + 1 (because index starts with 0)
08h..0Bh 4 bytes physical number of heads = last index + 1 (because index starts with 0)
0Ch..0Fh 4 bytes physical number of sectors per track = last index (because index starts with 1)
10h..17h 8 bytes absolute number of sectors = last index + 1 (because index starts with 0)
18h..19h 2 bytes bytes per sector
1Ah..1Dh 4 bytes optional pointer to Enhanced Disk Drive (EDD) configuration parameters
which may be used for subsequent interrupt 13h Extension calls (if supported)
===============================
直接系统服务(Direct System Service)
INT 00H - “0”作除数
INT 01H - 单步中断
INT 02H - 非屏蔽中断(NMI)
INT 03H - 断点中断
INT 04H - 算术溢出错误
INT 05H - 打印屏幕和BOUND越界
INT 06H - 非法指令错误
INT 07H - 处理器扩展无效
INT 08H - 时钟中断
INT 09H - 键盘输入
INT 0BH - 串行通信口(COM2:)
INT 0CH - 串行通信口(COM1:)
INT 0DH - 并行通信口(LPT2:)
INT 0EH - 磁盘驱动器输入/输出
INT 0FH - 并行通信口(LPT1:)
INT 10H - 显示服务(Video Service)
INT 11H - 读取设备配置
INT 12H - 读取常规内存大小(返回值AX为内存容量,以K为单位)
INT 13H - 直接磁盘服务(Direct Disk Service)
INT 14H - 串行口服务(Serial Port Service)
INT 15H - 杂项系统服务(Miscellaneous System Service)
INT 16H - 键盘服务(Keyboard Service)
INT 17H - 并行口服务(Parallel Port Service)
INT 18H - ROM BASIC
INT 19H - 重启动系统
INT 1AH - 时钟服务(Clock Service)
INT 1BH - CTRL+BREAK处理程序
INT 1CH - 用户时钟服务
INT 1DH - 指向显示器参数表指针
INT 1EH - 指向磁盘驱动器参数表指针
INT 1FH - 指向图形字符模式表指针
DOS中断
INT 20H - 终止程序运行
INT 21H - 字符功能调用、目录控制、文件操作、系统功能、进程控制、时间和日期功能
INT 22H - 终止处理程序的地址
INT 23H - Ctrl+C处理程序
INT 24H - 致命错误处理程序
INT 25H - 读磁盘扇区(忽略逻辑结构)
INT 26H - 写磁盘扇区(忽略逻辑结构)
INT 27H - 终止,并驻留在内存
INT 28H - DOS空闲
INT 2FH - 多重中断服务
INT 33H - 鼠标功能中断
==================================
直接磁盘服务(Direct Disk Service——INT 13H)
00H —磁盘系统复位
01H —读取磁盘系统状态
02H —读扇区
03H —写扇区
04H —检验扇区
05H —格式化磁道
06H —格式化坏磁道
07H —格式化驱动器
08H —读取驱动器参数
09H —初始化硬盘参数
0AH —读长扇区
0BH —写长扇区
0CH —查寻
0DH —硬盘系统复位
0EH —读扇区缓冲区
0FH —写扇区缓冲区
10H —读取驱动器状态
11H —校准驱动器
12H —控制器RAM诊断
13H —控制器驱动诊断
14H —控制器内部诊断
15H —读取磁盘类型
16H —读取磁盘变化状态
17H —设置磁盘类型
18H —设置格式化媒体类型
19H —磁头保护
1AH —格式化ESDI驱动器
(1)、功能00H
功能描述:磁盘系统复位
入口参数:AH=00H
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(2)、功能01H
功能描述:读取磁盘系统状态
入口参数:AH=01H
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
出口参数:AH=00H,AL=状态代码,其定义如下:
00H — 无错
01H — 非法命令
02H — 地址目标未发现
03H — 磁盘写保护(软盘)
04H — 扇区未发现
05H — 复位失败(硬盘)
06H — 软盘取出(软盘)
07H — 错误的参数表(硬盘)
08H — DMA越界(软盘)
09H — DMA超过64K界限
0AH — 错误的扇区标志(硬盘)
0BH — 错误的磁道标志(硬盘)
0CH — 介质类型未发现(软盘)
0DH — 格式化时非法扇区号(硬盘)
0EH — 控制数据地址目标被发现(硬盘)
0FH — DMA仲裁越界(硬盘)
10H — 不正确的CRC或ECC编码
11H — ECC校正数据错(硬盘)
CRC:Cyclic Redundancy Check code
ECC:Error Checking & Correcting code
20H — 控制器失败
40H — 查找失败
80H — 磁盘超时(未响应)
AAH — 驱动器未准备好(硬盘)
BBH — 未定义的错误(硬盘)
CCH — 写错误(硬盘)
E0H — 状态寄存器错(硬盘)
FFH — 检测操作失败(硬盘)
(3)、功能02H
功能描述:读扇区
入口参数:AH=02H
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明
(4)、功能03H
功能描述:写扇区
入口参数:AH=03H
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明
(5)、功能04H
功能描述:检验扇区
入口参数:AH=04H
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=被检验的扇区数,否则,AH=状态代码,参见功能号01H中的说明
(6)、功能05H
功能描述:格式化磁道
入口参数:AH=05H
AL=交替(Interleave)
CH=柱面
DH=磁头
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
ES:BX=地址域列表的地址
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(7)、功能06H
功能描述:格式化坏磁道
入口参数:AH=06H
AL=交替
CH=柱面
DH=磁头
DL=80H~0FFH:硬盘
ES:BX=地址域列表的地址
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(8)、功能07H
功能描述:格式化驱动器
入口参数:AH=07H
AL=交替
CH=柱面
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(9)、功能08H
功能描述:读取驱动器参数
入口参数:AH=08H
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
出口参数:CF=1——操作失败,AH=状态代码,参见功能号01H中的说明,否则, BL=01H — 360K
=02H — 1.2M
=03H — 720K
=04H — 1.44M
CH=柱面数的低8位
CL的位7-6=柱面数的该2位
CL的位5-0=扇区数
DH=磁头数
DL=驱动器数
ES:DI=磁盘驱动器参数表地址
(10)、功能09H
功能描述:初始化硬盘参数
入口参数:AH=09H
DL=80H~0FFH:硬盘(还有有关参数表问题,在此从略)
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(11)、功能0AH
功能描述:读长扇区,每个扇区随带四个字节的ECC编码
入口参数:AH=0AH
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明
(12)、功能0BH
功能描述:写长扇区,每个扇区随带四个字节的ECC编码
入口参数:AH=0BH
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明
(13)、功能0CH
功能描述:查寻
入口参数:AH=0CH
CH=柱面的低8位
CL(7-6位)=柱面的高2位
DH=磁头
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(14)、功能0DH
功能描述:硬盘系统复位
入口参数:AH=0DH
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(15)、功能0EH
功能描述:读扇区缓冲区
入口参数:AH=0EH
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明
(16)、功能0FH
功能描述:写扇区缓冲区
入口参数:AH=0FH
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明
(17)、功能10H
功能描述:读取驱动器状态
入口参数:AH=10H
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(18)、功能11H
功能描述:校准驱动器
入口参数:AH=11H
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明
(19)、功能12H
功能描述:控制器RAM诊断
入口参数:AH=12H
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明
(20)、功能13H
功能描述:控制器驱动诊断
入口参数:AH=13H
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明
(21)、功能14H
功能描述:控制器内部诊断
入口参数:AH=14H
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明
(22)、功能15H
功能描述:读取磁盘类型
入口参数:AH=15H
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
出口参数:CF=1——操作失败,AH=状态代码,参见功能号01H中的说明, 否则,AH=00H — 未安装驱动器
=01H — 无改变线支持的软盘驱动器
=02H — 带有改变线支持的软盘驱动器
=03H — 硬盘,CX:DX=512字节的扇区数
(23)、功能16H
功能描述:读取磁盘变化状态
入口参数:AH=16H
DL=00H~7FH:软盘
出口参数:CF=0——磁盘未改变,AH=00H,否则,AH=06H,参见功能号01H中的说明
(24)、功能17H
功能描述:设置磁盘类型
入口参数:AH=17H
DL=00H~7FH:软盘 AL=00H — 未用
=01H — 360K在360K驱动器中
=02H — 360K在1.2M驱动器中
=03H — 1.2M在1.2M驱动器中
=04H — 720K在720K驱动器中
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态编码,参见功能号01H中的说明
(25)、功能18H
功能描述:设置格式化媒体类型
入口参数:AH=18H
CH=柱面数
CL=每磁道的扇区数
DL=00H~7FH:软盘
出口参数:CF=0——操作成功,AH=00H,ES:DI=介质类型参数表地址,否则,AH=状态编码,参见功能号01H中的说明
(26)、功能19H
功能描述:磁头保护,仅在PS/2中有效,在此从略
(27)、功能1AH
功能描述:格式化ESDI驱动器,仅在PS/2中有效,在此从略
=========================================================
INT 13h AH=08h: Read Drive Parameters
Parameters:
Registers
AH 08h = function number for read_drive_parameters
DL drive index (e.g. 1st HDD = 80h)
ES:DI[4] set to 0000h:0000h to work around some buggy BIOS
Results:
CF Set On Error, Clear If No Error
AH Return Code
DL number of hard disk drives
DH[4] logical last index of heads = number_of - 1 (because index starts with 0)
CX [7:6] [15:8][4] logical last index of cylinders = number_of - 1 (because index starts with 0)
[5:0][4] logical last index of sectors per track = number_of (because index starts with 1)
BL[4] drive type (only AT/PS2 floppies)
ES:DI[4] pointer to drive parameter table (only for floppies)
Remarks:
Logical values of function 08h may/should differ from physical CHS values of function 48h.
Result register CX contains both cylinders and sector/track values, see remark of function 02h.
INT 13h AH=48h: Extended Read Drive Parameters
Parameters:
Registers
AH 48h = function number for extended_read_drive_parameters
DL drive index (e.g. 1st HDD = 80h)
DS:SI segment:offset pointer to Result Buffer, see below
Result Buffer
offset range size description
00h..01h 2 bytes size of Result Buffer = 30 = 1Eh
02h..03h 2 bytes information flags
04h..07h 4 bytes physical number of cylinders = last index + 1 (because index starts with 0)
08h..0Bh 4 bytes physical number of heads = last index + 1 (because index starts with 0)
0Ch..0Fh 4 bytes physical number of sectors per track = last index (because index starts with 1)
10h..17h 8 bytes absolute number of sectors = last index + 1 (because index starts with 0)
18h..19h 2 bytes bytes per sector
1Ah..1Dh 4 bytes optional pointer to Enhanced Disk Drive (EDD) configuration parameters
which may be used for subsequent interrupt 13h Extension calls (if supported)
相关文章推荐
- 编写用户手册感
- 如何识别Java中的内存泄漏
- jquery 重复事件
- 差异与阵列和阵列结构和链表的区别
- 使用正则表达式匹配IP地址
- 安装spket
- 修改表结构的小知识
- Kurento模块开发指南之四:开发示例 Crowd Detector Filter
- 压电效应和压电陶瓷
- linux内存映射mmap原理分析
- 第一个Android实例——计算器 编辑
- Java POST请求发送和接收
- Windows下Ionic Android开发环境搭建
- 千里码-访客统计
- Win10 Mobile/pc版应用商店详情页面新增背景色显示
- python输出重定向
- javascript调试工具
- [IOSB]StoryBoard自定义侧边栏
- Java序列化和反序列化
- 重复执行SQL判断语句整合