Posted on 2008-09-28 09:25
沒畫完的畫 閱讀(211)
評論(0) 編輯 收藏 引用 所屬分類:
Reverse Engineering & ASM
00H —磁盤系統(tǒng)復位0EH —讀扇區(qū)緩沖區(qū)
01H —讀取磁盤系統(tǒng)狀態(tài)0FH —寫扇區(qū)緩沖區(qū)
02H —讀扇區(qū)10H —讀取驅(qū)動器狀態(tài)
03H —寫扇區(qū)11H —校準驅(qū)動器
04H —檢驗扇區(qū)12H —控制器RAM診斷
05H —格式化磁道13H —控制器驅(qū)動診斷
06H —格式化壞磁道14H —控制器內(nèi)部診斷
07H —格式化驅(qū)動器15H —讀取磁盤類型
08H —讀取驅(qū)動器參數(shù)16H —讀取磁盤變化狀態(tài)
09H —初始化硬盤參數(shù)17H —設置磁盤類型
0AH —讀長扇區(qū)18H —設置格式化媒體類型
0BH —寫長扇區(qū)19H —磁頭保護
0CH —查尋1AH —格式化ESDI驅(qū)動器
0DH —硬盤系統(tǒng)復位
(1)、功能00H
功能描述:磁盤系統(tǒng)復位
入口參數(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 — 地址目標未發(fā)現(xiàn)03H — 磁盤寫保護(軟盤)
04H — 扇區(qū)未發(fā)現(xiàn)05H — 復位失敗(硬盤)
06H — 軟盤取出(軟盤)07H — 錯誤的參數(shù)表(硬盤)
08H — DMA越界(軟盤)09H — DMA超過64K界限
0AH — 錯誤的扇區(qū)標志(硬盤)0BH — 錯誤的磁道標志(硬盤)
0CH — 介質(zhì)類型未發(fā)現(xiàn)(軟盤)0DH — 格式化時非法扇區(qū)號(硬盤)
0EH — 控制數(shù)據(jù)地址目標被發(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 — 磁盤超時(未響應)AAH — 驅(qū)動器未準備好(硬盤)
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
功能描述:檢驗扇區(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=被檢驗的扇區(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:硬盤(還有有關參數(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)復位
入口參數(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
功能描述:校準驅(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ù):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ù):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
功能描述:磁頭保護,僅在PS/2中有效,在此從略
(27)、功能1AH
功能描述:格式化ESDI驅(qū)動器,僅在PS/2中有效,在此從略