作者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)