作者nomorejerry (m e l o)
看板ASM
標題[請益] 讀取SPD
時間Wed Jan 12 21:23:37 2011
各位板友好
今天想到用C內嵌組語的方式,去讀取SPD的資訊
但讀出來的值,和我用RU去看的值卻是不一樣
我的寫法是
.... (以下程式尚未讀取SPD資訊,只是先讀取主機板的ADDRESS預設值)
_AX = 0xD040 ; 0xD040是我主機板smbus的address
asm out 2Eh, AX; 利用2E(IO space)進入0xD040
_AX = 0x2E;
asm in AX, 2Eh 利用2E(IO space)讀出data
....
利用RU去看D040的位置時,值是40
但我這樣讀出來的值卻是00
之前利用內嵌語法時,asm out / asm in 好像只能搭配 al 來使用
但如果使用 al 的話,我的0xD040的D0就會不見了
後來改成AX,compiler還是過了,但值是錯的
想請問一下,我這樣讀取的寫法哪裡是有問題的?
希望板友可以解惑一下,謝謝!
--
「會被嘲笑的夢想,才有實現的價值。」
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.193.241.43
1F:→ eentut:問問題前 煩請google一下 01/12 22:27
3F:→ nomorejerry:樓上指的是smbus是否busy的問題嗎? 01/12 22:39
4F:→ nomorejerry:但我還沒有進行spd的讀取,只是先把d040的值讀出來 01/12 22:40
5F:→ nomorejerry:應該和spd spec的status無關吧? 01/12 22:40
※ 編輯: nomorejerry 來自: 123.193.241.43 (01/12 22:43)