看板 ASM 關於我們 聯絡資訊
各位板友好 今天想到用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
eentut:問問題前 煩請google一下 01/12 22:27
eentut:http://0rz.tw/j0PHu 知道自己錯哪裡了嗎? 01/12 22:29
nomorejerry:樓上指的是smbus是否busy的問題嗎? 01/12 22:39
nomorejerry:但我還沒有進行spd的讀取,只是先把d040的值讀出來 01/12 22:40
nomorejerry:應該和spd spec的status無關吧? 01/12 22:40
※ 編輯: nomorejerry 來自: 123.193.241.43 (01/12 22:43)