关于MMX指令:64位读写PCI端口的问题。
本人在C语言下使用如下代码进行64bit写:
BOOL WRITE_REGISTER_U64(PULONG pAddr, PULONG pData)
{
_asm{
push ecx
mov ecx, DWORD PTR pData
movq mm0, byte ptr [ecx]
mov ecx, DWORD PTR pAddr
movq byte ptr [ecx], mm0
emms
pop ecx
}
return TRUE;
}
在一台机器上跑的很好,而另一台上跑个5分钟就蓝屏了。
请问我这段代码有什么问题吗?