討論區快速選單
知識庫快速選單
開發App該選哪個平台? 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
可以請教高手有關 IDE Identify , 1F0~1F7 , 170~177
更改我的閱讀文章字型大小
作者 : basarama(Basara)
[ 貼文 5 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/6/17 下午 02:43:45
各位高手 , 小弟最近再寫一個程式需要判斷硬碟是否為 ATA (不管 PATA or SATA)
後來爬文發現有 Primary 1F0-1F7 , 也爬文找到了 0ECh 的文件
看 sample 的意思應該是在 1F7h 位置寫入 ECh 的值
讀回來要是 = 0x58 就代表 IDE
但是我讀回來 = 0x6C 是不是我使用方法錯誤了呢
可以請高手教導一下這部分的 IO 要怎麼使用嗎 ??
謝謝
作者 : liaoo(liaoo) Assembly優秀好手貼文超過500則人氣指數超過10000點
[ 貼文 507 | 人氣 27127 | 評價 1140 | 評價/貼文 2.25 | 送出評價 17 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/6/17 下午 06:00:22

>各位高手 , 小弟最近再寫一個程式需要判斷硬碟是否為 ATA (不管 PATA or SATA)
>後來爬文發現有 Primary 1F0-1F7 , 也爬文找到了 0ECh 的文件
>看 sample 的意思應該是在 1F7h 位置寫入 ECh 的值
>讀回來要是 = 0x58 就代表 IDE
>但是我讀回來 = 0x6C 是不是我使用方法錯誤了呢
>可以請高手教導一下這部分的 IO 要怎麼使用嗎 ??
>謝謝

"讀回來要是 = 0x58 就代表 IDE"是哪裡說的 ? 又 0x58 代表 bit6/bit4/bit3 = 1...各是什麼意思 ?
作者 : basarama(Basara)
[ 貼文 5 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/6/18 上午 09:37:08
lion大大您好 ,
我是趴文有看到之前的討論串
http://www.programmer-club.com.tw/showSameTitleN/assembly/4689.html
裡面的 HuangKey 大大有寫到

  2006/3/7 下午 02:45:12

EC的command 下到 IDE 會得到58h (1F7 or 177)
EC的command 下到 CDROM 會得到51h (1F7 or 177)
所以你可以先用EC , 如果得到 51h就改下A1h.......
這樣會不會有些偷機取巧ㄚ

只是我翻 ATA8-ACS spec 沒有找到相關資料
目前還在網路上找相關資訊
作者 : seanchang(H) Assembly卓越專家貼文超過1000則
[ 貼文 1200 | 人氣 773 | 評價 3240 | 評價/貼文 2.7 | 送出評價 43 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人basarama註記此篇回應為最佳解答 2010/6/18 上午 10:08:32

>'讀回來要是 = 0x58 就代表 IDE'是哪裡說的 ? 又 0x58 代表 bit6/bit4/bit3 = 1...各是什麼意思 ?
這是從status register讀回的值. bit 6=1 代表 device有回應. bit 3= 1 代表DRQ, 表示device可以回應資料了.
bit0=1 代表error. 使用 ATA identify device command(ECh), 根據規格書. 如果是ATAPI device 會把 bit 0 設為1.
作者 : seanchang(H) Assembly卓越專家貼文超過1000則
[ 貼文 1200 | 人氣 773 | 評價 3240 | 評價/貼文 2.7 | 送出評價 43 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/6/18 上午 10:14:00
>只是我翻 ATA8-ACS spec 沒有找到相關資料
>目前還在網路上找相關資訊
ATA是個對初學者比較難讀的規格書. 我的建議是不要一開始就看 ATA-8
初學者最好先看懂 ATA-3 + SSF-8020i 這兩份. 後面再去看新的.

關於你的問題.有沒有把中斷關掉(cli)?
作者 : basarama(Basara)
[ 貼文 5 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/6/18 上午 10:24:04
謝謝大大的提醒 ~ 我有記得關閉中斷 (cli)
關於大大說的 status register 在哪裡可以找到資訊呢 ??
謝謝
作者 : basarama(Basara)
[ 貼文 5 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/6/18 上午 10:54:17
已經找到相關資料可以進一步實驗
謝謝大大們的協助
下面放一個網頁 , 是依據大大們的提醒找到的
提供後面需要的人查詢

http://lateblt.tripod.com/atapi.htm

謝謝
作者 : xiaolaba(xiaolaba)
[ 貼文 17 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 3 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/3/14 上午 11:04:37
果然很有用的總結, 給你贊
 板主 : 徵求中
 > 組合語言 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 組合語言 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
組合語言
1 H 2220 
2 liaoo 990 
3 青衫 970 
4 牧童哥 940 
5 史努比 920 
6 qq 480 
7 GHOST-JACKY 330 
8 ]CALL-151 310 
9 harrison 300 
10 掌握文武半邊天 280 
組合語言
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.0625