分类: LINUX
2010-07-21 20:25:04
BIOS INT13H:AH -- 要执行的操作(读、写等) AL -- 扇区数 CH -- 磁道号 CL -- 起始的扇区号 DH -- 磁头号 DL -- 驱动器号:0=A盘;1=B盘;0x80=第一个硬盘;以此类推。 ES:BX -- 数据区中I/O缓冲区的地址 如下面的读磁盘操作: mov ah,02 !读磁盘 mov al,01 !读1个扇区 mov ch,05 !磁道号 mov cl,03 !起始的扇区号 mov bx,INSECT !存入缓冲区INSECT mov dh,00 !磁头号 mov dl,01 !驱动器号 int 13h
具体参数含义,参加下面转载的文章:(原文见 int 13h 参数大全)
直接磁盘服务(DirectDisk 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:CyclicRedundancy Check code
ECC:ErrorChecking & 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