BIOS系统服务 —— 直接磁盘服务(int 0x13)
直接磁盤服務(wù)(Direct Disk Service——INT 13H)
00H —磁盤系統(tǒng)復(fù)位? ? ? ? ? ? ? ? ? 0EH —讀扇區(qū)緩沖區(qū)
01H —讀取磁盤系統(tǒng)狀態(tài)? ? ? ? ? ? ? ?0FH —寫扇區(qū)緩沖區(qū)
02H —讀扇區(qū)? ? ? ? ? ? ? ? ? ? ? 10H —讀取驅(qū)動器狀態(tài)
03H —寫扇區(qū)? ? ? ? ? ? ? ? ? ? ? 11H —校準(zhǔn)驅(qū)動器
04H —檢驗(yàn)扇區(qū)? ? ? ? ? ? ? ? ? ? ?12H —控制器RAM診斷
05H —格式化磁道? ? ? ? ? ? ? ? ? ?13H —控制器驅(qū)動診斷
06H —格式化壞磁道? ? ? ? ? ? ? ? ? 14H —控制器內(nèi)部診斷
07H —格式化驅(qū)動器? ? ? ? ? ? ? ? ? 15H —讀取磁盤類型
08H —讀取驅(qū)動器參數(shù)? ? ? ? ? ? ? ? ?16H —讀取磁盤變化狀態(tài)
09H —初始化硬盤參數(shù)? ? ? ? ? ? ? ? ?17H —設(shè)置磁盤類型
0AH —讀長扇區(qū)? ? ? ? ? ? ? ? ? ? ?18H —設(shè)置格式化媒體類型
0BH —寫長扇區(qū)? ? ? ? ? ? ? ? ? ? ?19H —磁頭保護(hù)
0CH —查尋? ? ? ? ? ? ? ? ? ? ? ? 1AH —格式化ESDI驅(qū)動器
0DH —硬盤系統(tǒng)復(fù)位
?
(1)???????功能00H
?
功能描述:磁盤系統(tǒng)復(fù)位
入口參數(shù):AH=00H
DL=驅(qū)動器,00H~7FH:軟盤;80H~0FFH:硬盤
出口參數(shù):CF=0——操作成功,AH=00H,否則,AH=狀態(tài)代碼,參見功能號01H中的說明
?
(2)???????功能01H
?
功能描述:讀取磁盤系統(tǒng)狀態(tài)
入口參數(shù):AH=01H
DL=驅(qū)動器,00H~7FH:軟盤;80H~0FFH:硬盤
出口參數(shù):AH=00H,AL=狀態(tài)代碼,其定義如下:
00H — 無錯 01H — 非法命令
02H — 地址目標(biāo)未發(fā)現(xiàn)03H — 磁盤寫保護(hù)(軟盤)
04H — 扇區(qū)未發(fā)現(xiàn)05H — 復(fù)位失敗(硬盤)
06H — 軟盤取出(軟盤)07H — 錯誤的參數(shù)表(硬盤)
08H — DMA越界(軟盤)09H — DMA超過64K界限
0AH — 錯誤的扇區(qū)標(biāo)志(硬盤)0BH — 錯誤的磁道標(biāo)志(硬盤)
0CH — 介質(zhì)類型未發(fā)現(xiàn)(軟盤)0DH — 格式化時非法扇區(qū)號(硬盤)
0EH — 控制數(shù)據(jù)地址目標(biāo)被發(fā)現(xiàn)(硬盤)0FH — DMA仲裁越界(硬盤)
10H — 不正確的CRC或ECC編碼11H — ECC校正數(shù)據(jù)錯(硬盤)
CRC:Cyclic Redundancy Check code
ECC:Error Checking & Correcting code
20H — 控制器失敗40H — 查找失敗
80H — 磁盤超時(未響應(yīng))AAH — 驅(qū)動器未準(zhǔn)備好(硬盤)
BBH — 未定義的錯誤(硬盤)CCH — 寫錯誤(硬盤)
E0H — 狀態(tài)寄存器錯(硬盤)FFH — 檢測操作失敗(硬盤)
?
(3)???????功能02H
?
功能描述:讀扇區(qū)
入口參數(shù):AH=02H
AL=扇區(qū)數(shù)
CH=柱面
CL=扇區(qū)
DH=磁頭
DL=驅(qū)動器,00H~7FH:軟盤;80H~0FFH:硬盤
ES:BX=緩沖區(qū)的地址
出口參數(shù):CF=0——操作成功,AH=00H,AL=傳輸?shù)纳葏^(qū)數(shù),否則,AH=狀態(tài)代碼,參見功能號01H中的說明
?
(4)???????功能03H
?
功能描述:寫扇區(qū)
入口參數(shù):AH=03H
AL=扇區(qū)數(shù)
CH=柱面
CL=扇區(qū)
DH=磁頭
DL=驅(qū)動器,00H~7FH:軟盤;80H~0FFH:硬盤
ES:BX=緩沖區(qū)的地址
出口參數(shù):CF=0——操作成功,AH=00H,AL=傳輸?shù)纳葏^(qū)數(shù),否則,AH=狀態(tài)代碼,參見功能號01H中的說明
?
(5)???????功能04H
?
功能描述:檢驗(yàn)扇區(qū)
入口參數(shù):AH=04H
AL=扇區(qū)數(shù)
CH=柱面
CL=扇區(qū)
DH=磁頭
DL=驅(qū)動器,00H~7FH:軟盤;80H~0FFH:硬盤
ES:BX=緩沖區(qū)的地址
出口參數(shù):CF=0——操作成功,AH=00H,AL=被檢驗(yàn)的扇區(qū)數(shù),否則,AH=狀態(tài)代碼,參見功能號01H中的說明。
?
(6)???????功能05H
?
功能描述:格式化磁道
入口參數(shù):AH=05H
AL=交替(Interleave)
CH=柱面
DH=磁頭
DL=驅(qū)動器,00H~7FH:軟盤;80H~0FFH:硬盤
ES:BX=地址域列表的地址
出口參數(shù):CF=0——操作成功,AH=00H,否則,AH=狀態(tài)代碼,參見功能號01H中的說明。
?
(7)???????功能06H
?
功能描述:格式化壞磁道
入口參數(shù):AH=06H
AL=交替
CH=柱面
DH=磁頭
DL=80H~0FFH:硬盤
ES:BX=地址域列表的地址
出口參數(shù):CF=0——操作成功,AH=00H,否則,AH=狀態(tài)代碼,參見功能號01H中的說明
?
(8)???????功能07H
?
功能描述:格式化驅(qū)動器
入口參數(shù):AH=07H
AL=交替
CH=柱面
DL=80H~0FFH:硬盤
出口參數(shù):CF=0——操作成功,AH=00H,否則,AH=狀態(tài)代碼,參見功能號01H中的說明
?
(9)???????功能08H
?
功能描述:讀取驅(qū)動器參數(shù)
入口參數(shù):AH=08H
DL=驅(qū)動器,00H~7FH:軟盤;80H~0FFH:硬盤
出口參數(shù):CF=1——操作失敗,AH=狀態(tài)代碼,參見功能號01H中的說明,否則, BL=01H — 360K
=02H — 1.2M
=03H — 720K
=04H — 1.44M
CH=柱面數(shù)的低8位
CL的位7-6=柱面數(shù)的該2位
CL的位5-0=扇區(qū)數(shù)
DH=磁頭數(shù)
DL=驅(qū)動器數(shù)
ES:DI=磁盤驅(qū)動器參數(shù)表地址
?
(10)???功能09H
?
功能描述:初始化硬盤參數(shù)
入口參數(shù):AH=09H
DL=80H~0FFH:硬盤(還有有關(guān)參數(shù)表問題,在此從略)
出口參數(shù):CF=0——操作成功,AH=00H,否則,AH=狀態(tài)代碼,參見功能號01H中的說明
?
(11)???功能0AH
?
功能描述:讀長扇區(qū),每個扇區(qū)隨帶四個字節(jié)的ECC編碼
入口參數(shù):AH=0AH
AL=扇區(qū)數(shù)
CH=柱面
CL=扇區(qū)
DH=磁頭
DL=80H~0FFH:硬盤
ES:BX=緩沖區(qū)的地址
出口參數(shù):CF=0——操作成功,AH=00H,AL=傳輸?shù)纳葏^(qū)數(shù),否則,AH=狀態(tài)代碼,參見功能號01H中的說明
?
(12)???功能0BH
?
功能描述:寫長扇區(qū),每個扇區(qū)隨帶四個字節(jié)的ECC編碼
入口參數(shù):AH=0BH
AL=扇區(qū)數(shù)
CH=柱面
CL=扇區(qū)
DH=磁頭
DL=80H~0FFH:硬盤
ES:BX=緩沖區(qū)的地址
出口參數(shù):CF=0——操作成功,AH=00H,AL=傳輸?shù)纳葏^(qū)數(shù),否則,AH=狀態(tài)代碼,參見功能號01H中的說明
?
(13)???功能0CH
?
功能描述:查尋
入口參數(shù):AH=0CH
CH=柱面的低8位
CL(7-6位)=柱面的高2位
DH=磁頭
DL=80H~0FFH:硬盤
出口參數(shù):CF=0——操作成功,AH=00H,否則,AH=狀態(tài)代碼,參見功能號01H中的說明
?
(14)???功能0DH
?
功能描述:硬盤系統(tǒng)復(fù)位
入口參數(shù):AH=0DH
DL=80H~0FFH:硬盤
出口參數(shù):CF=0——操作成功,AH=00H,否則,AH=狀態(tài)代碼,參見功能號01H中的說明
?
(15)???功能0EH
?
功能描述:讀扇區(qū)緩沖區(qū)
入口參數(shù):AH=0EH
ES:BX=緩沖區(qū)的地址
出口參數(shù):CF=0——操作成功,否則,AH=狀態(tài)代碼,參見功能號01H中的說明
?
(16)???功能0FH
?
功能描述:寫扇區(qū)緩沖區(qū)
入口參數(shù):AH=0FH
ES:BX=緩沖區(qū)的地址
出口參數(shù):CF=0——操作成功,否則,AH=狀態(tài)代碼,參見功能號01H中的說明
?
(17)???功能10H
?
功能描述:讀取驅(qū)動器狀態(tài)
入口參數(shù):AH=10H
DL=80H~0FFH:硬盤
出口參數(shù):CF=0——操作成功,AH=00H,否則,AH=狀態(tài)代碼,參見功能號01H中的說明
?
(18)???功能11H
?
功能描述:校準(zhǔn)驅(qū)動器
入口參數(shù):AH=11H
DL=80H~0FFH:硬盤
出口參數(shù):CF=0——操作成功,AH=00H,否則,AH=狀態(tài)代碼,參見功能號01H中的說明
?
(19)???功能12H
?
功能描述:控制器RAM診斷
入口參數(shù):AH=12H
出口參數(shù):CF=0——操作成功,否則,AH=狀態(tài)代碼,參見功能號01H中的說明
?
(20)???功能13H
?
功能描述:控制器驅(qū)動診斷
入口參數(shù):AH=13H
出口參數(shù):CF=0——操作成功,否則,AH=狀態(tài)代碼,參見功能號01H中的說明
?
(21)???功能14H
?
功能描述:控制器內(nèi)部診斷
入口參數(shù):AH=14H
出口參數(shù):CF=0——操作成功,否則,AH=狀態(tài)代碼,參見功能號01H中的說明
?
(22)???功能15H
?
功能描述:讀取磁盤類型
入口參數(shù):AH=15H
DL=驅(qū)動器,00H~7FH:軟盤;80H~0FFH:硬盤
出口參數(shù):CF=1——操作失敗,AH=狀態(tài)代碼,參見功能號01H中的說明, 否則,AH=00H — 未安裝驅(qū)動器
=01H — 無改變線支持的軟盤驅(qū)動器
=02H — 帶有改變線支持的軟盤驅(qū)動器
=03H — 硬盤,CX:DX=512字節(jié)的扇區(qū)數(shù)
?
(23)???功能16H
?
功能描述:讀取磁盤變化狀態(tài)
入口參數(shù):AH=16H
DL=00H~7FH:軟盤
出口參數(shù):CF=0——磁盤未改變,AH=00H,否則,AH=06H,參見功能號01H中的說明
?
(24)???功能17H
?
功能描述:設(shè)置磁盤類型
入口參數(shù):AH=17H
DL=00H~7FH:軟盤 AL=00H — 未用
=01H — 360K在360K驅(qū)動器中
=02H — 360K在1.2M驅(qū)動器中
=03H — 1.2M在1.2M驅(qū)動器中
=04H — 720K在720K驅(qū)動器中
出口參數(shù):CF=0——操作成功,AH=00H,否則,AH=狀態(tài)編碼,參見功能號01H中的說明
?
(25)???功能18H
?
功能描述:設(shè)置格式化媒體類型
入口參數(shù):AH=18H
CH=柱面數(shù)
CL=每磁道的扇區(qū)數(shù)
DL=00H~7FH:軟盤
出口參數(shù):CF=0——操作成功,AH=00H,ES:DI=介質(zhì)類型參數(shù)表地址,否則,AH=狀態(tài)編碼,參見功能號01H中的說明
?
(26)???功能19H
?
功能描述:磁頭保護(hù),僅在PS/2中有效,在此從略
?
(27)???功能1AH
?
功能描述:格式化ESDI驅(qū)動器,僅在PS/2中有效,在此從略
總結(jié)
以上是生活随笔為你收集整理的BIOS系统服务 —— 直接磁盘服务(int 0x13)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8086地址传送指令LDS,LES
- 下一篇: BIOS INT 10中断功能