Re: [問題] ATA COMMAND問題

看板ASM (組合語言)作者時間17年前 (2007/11/13 16:39), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
: 1.請先找出 ATA device 的 address. : 在 IDE controller 的 PCI configuration Space 某個 Offset 有儲存 address. : 傳統的 IDE mode 是以 I/O port 的方式來存取 ATA Device. : AHCI mode 和 RAID mode 是以 memory address 來存取. : 但是, 有向前相容之前的 ATAPI command. : 2.假設某個 Primary IDE Controller 的 I/O address 是 1F0h. : 則對照你手邊的 Command 表, 每個 Register 的 address 如下. : 都是以 Byte 為單位存取. : 1F0 (Read and Write): Data Register : 1F1 (Read): Error Register : 1F1 (Write): Features Register : 1F2 (Read and Write): Sector Count Register : 1F3 (Read and Write): LBA Low Register : 1F4 (Read and Write): LBA Mid Register : 1F5 (Read and Write): LBA High Register : 1F6 (Read and Write): Drive/Head Register : 1F7 (Read): Status Register : 1F7 (Write): Command Register : 3F6 (Read): Alternate Status Register : 3F6 (Write): Device Control Register : Status register (1F7h) 所讀出來的 1-Byte value, 每個 Bit 所代表的意義由 : 左至右分別: : BIT7: BSY (busy) : BIT6: DRDY (device ready) : BIT5: DF (Device Fault) : BIT4: DSC (seek complete) : BIT3: DRQ (Data Transfer Requested) : BIT2: CORR (data corrected) : BIT1: IDX (index mark) : BIT0: ERR (error) : Error register 和其他 register 依此類推. 請問這個表是對所有IDE device(hard disk、CD/DVD-ROM、CD/DVD-RW)都通用嗎? 還是只對hard disk有效? 如果是後者的話,那要怎樣才能下command給燒錄機讀寫資料? thanks!! -- ※ 編輯: SILee 來自: 140.116.164.216 (11/13 16:40)

11/13 18:17, , 1F
Hard Disk PIO 是 ATA , CDROM 是 ATAPI
11/13 18:17, 1F
文章代碼(AID): #17EMAnVp (ASM)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #17EMAnVp (ASM)