INT 13H, AH=00H soft, hard disk controller reset



解释uff1a
这个功能复位盘(软盘和硬盘)控制器板和磁盘驱动器,它在磁盘控制器中。
在一个芯片上执行重置游戏,在磁盘的操作之前进行一系列的磁盘校准。
磁盘操作。
当磁盘I/O函数调用有错误时,需要调用这个函数,此时重置函数将成为BIOS。
当磁盘重新插入时,检查驱动器中的磁盘状态,并校准磁头,使其处于开启状态。
位置。
此函数调用不影响软盘或硬盘上的数据。
输入参数:
啊= 00h指定调用重置磁盘功能。
dl需要重置驱动器号。
返回参数:
如果产生错误,则输入标志是CF = 1,错误代码在AH寄存器中。
有关详细信息,请参见磁盘错误状态返回到代码。
实例:
c_seg段
假设:c_seg CS,DS:c_seg
org 100h
开始:MOV啊,00h
MOV DL,80h
INT 13H
重置硬盘C
JC误差
…
误差:…
c_seg结束
结束的开始



INT 13H,啊= 02h阅读部门描述:
将这个函数从磁盘调用到一个或多个扇区到内存内容中,因为这是一个
低电平功能,所有扇区在一次操作中必须在同一磁道上(磁头编号和磁道号)。
的same.bios不能自动切换从一个轨道到另一个轨道的尽头,因此用户必须
跨多个磁道的读操作分为几个单声道读操作。
输入参数:
啊= 02h指定的调用函数读取扇区。
al读取的扇区数不允许在磁道末端以外的值使用,也不允许。
使寄存器0。
DL需要读取读操作的驱动程序号。
按DH读取磁盘的磁头数。
CH磁道数的低8位数。
CL低5位放在开始读的扇区数,和位7-6代表曲目数量2的高位。
ES:BX读取数据缓冲区地址。
返回参数:
如果CF = 1,斧头是存储在一个错误的状态。读出数据在ES顺序排列:BX区。
有关详细信息,请参见磁盘错误状态返回代码。
实例:
c_seg段
假设:c_seg CS,DS:c_seg
org 100h
开始:JMP读
缓冲区512杯(0)
阅读:推cs
流行的ES
MOV BX,偏移缓冲器
MOV AX,0201h
MOV CX,0001h
mov dx,0000h
INT 13H
读取软盘A、0边和0个1扇区
读出数据在缓冲器中。
JC误差
…
误差:…
c_seg结束
结束的开始



INT 13H,啊= 03h写扇区



解释uff1a
这个函数被调用从磁盘到驱动器写入扇区的一个或多个扇区。
它是一个低级函数,写入操作中的所有扇区必须位于同一磁道上(磁场)。


第一是轨道number.bios不能自动切换从一个轨道到另一个轨道的尽头一样
因此,用户必须将跨多个磁道的写入操作划分为多个单声道写入操作。
输入参数:
啊= 03h指定的调用函数写扇区。
要写入的扇区的数量不允许使用超出轨道末端的值。
也不允许注册0。
DL需要编写写操作的驱动程序号。
由DH编写的磁盘磁头数。
CH磁道数的低8位数。
CL低5位放在开始读的扇区数,和位7-6代表曲目数量2的高位。
ES:BX的地方写数据的内存地址。
返回参数:
如果cf = 1,AX存储在错误状态中。
有关详细信息,请参见磁盘错误状态返回代码。
实例:
c_seg段
假设:c_seg CS,DS:c_seg
org 100h
开始:JMP写
缓冲区512 DUP(0 ffh)
写:推cs
流行的ES
MOV BX,偏移缓冲器
MOV AX,0301h
MOV CX,0001h
mov dx,0000h
INT 13H
写软盘A,0侧0通道1扇区
把这部门的数据到0FFh之间的所有
JC误差
…
误差:…
c_seg结束
结束的开始
INT 13H,啊= 04h检测部门



解释uff1a
此函数检测磁盘上的1个或多个扇区。此验证测试不在磁盘上。
将数据与存储器中的数据进行比较,但仅用于确定读出数据是否具有CRC错误。
这个函数可以用来验证驱动器中的软盘板。如果磁盘的格式正确,cf=0。
输入参数:
啊= 03h指定检测部门的电话功能。
不允许在轨道末端以外使用被检测到的连续扇区的数目。
这个数字也不允许注册0。
需要检测的DL的驱动程序号。
DH磁盘的磁头数。
CH磁道数的低8位数。
CL的低5位放在最初的扇区数,和位7-6表示高2位的磁道数。
返回参数:
如果CF = 1,AX存储在错误状态中,CF = 0,测试是正确的。
有关详细信息,请参见磁盘错误状态返回代码。
实例:
c_seg段
假设:c_seg CS,DS:c_seg
org 100h
开始:MOV AX,0401h
MOV CX,0001h
mov dx,0000h
INT 13H
测试软盘A,0侧0车道1扇区
JC误差
…
误差:…
c_seg结束
结束的开始



磁盘错误状态返回码:



磁盘错误状态

啊=
00h没有出错
的01h非法函数调用命令区。
的02h地址标签损坏,和部门的身份(ID)无效或不存在。
03h试图执行一个写保护的磁盘写操作。
该部门发现04h尚未发现。
的05h复位操作失败。
06h无介质。
07h初始化错误,和数据不在DMA缓冲区存在64K。
08h DMA失败
的09h DMA边界是错误的,并且数据不在DMA缓冲区存在64K。
0ah检测误差率的行业标志。
磁道0bh找没找到。
0ch介质的类型没有被发现。
这0dh扇区数问题。
0eh发现数据地址标签控制。
0fh超出DMA边界
奇偶校验错误时,10h读取磁盘,和纠错码(EDC)不能纠正。


奇偶校验错误时,11h读取磁盘,但纠错码(EDC)已纠正错误。
20控制器是错误的。
40h查找操作是无效的。
80h超时错误,驱动不回应。
驱动器未准备好的啊。
BBH不明确。
CCH是选择写故障。
的e0h错误登记为零
FFH非法操作。

备注:uff1a
该控制器的最终状态将被写入到相应的BIOS数据区(40:41)磁盘操作完成后。