BIOS系统服务 —— 直接磁盘服务(int 0x13)
直接磁盤服務(Direct Disk Service——INT 13H)
00H —磁盤系統復位? ? ? ? ? ? ? ? ? 0EH —讀扇區緩沖區
01H —讀取磁盤系統狀態? ? ? ? ? ? ? ?0FH —寫扇區緩沖區
02H —讀扇區? ? ? ? ? ? ? ? ? ? ? 10H —讀取驅動器狀態
03H —寫扇區? ? ? ? ? ? ? ? ? ? ? 11H —校準驅動器
04H —檢驗扇區? ? ? ? ? ? ? ? ? ? ?12H —控制器RAM診斷
05H —格式化磁道? ? ? ? ? ? ? ? ? ?13H —控制器驅動診斷
06H —格式化壞磁道? ? ? ? ? ? ? ? ? 14H —控制器內部診斷
07H —格式化驅動器? ? ? ? ? ? ? ? ? 15H —讀取磁盤類型
08H —讀取驅動器參數? ? ? ? ? ? ? ? ?16H —讀取磁盤變化狀態
09H —初始化硬盤參數? ? ? ? ? ? ? ? ?17H —設置磁盤類型
0AH —讀長扇區? ? ? ? ? ? ? ? ? ? ?18H —設置格式化媒體類型
0BH —寫長扇區? ? ? ? ? ? ? ? ? ? ?19H —磁頭保護
0CH —查尋? ? ? ? ? ? ? ? ? ? ? ? 1AH —格式化ESDI驅動器
0DH —硬盤系統復位
?
(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中有效,在此從略
總結
以上是生活随笔為你收集整理的BIOS系统服务 —— 直接磁盘服务(int 0x13)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8086地址传送指令LDS,LES
- 下一篇: BIOS INT 10中断功能