首页
论坛
课程
招聘

[系统底层] [讨论]关于AMD调试寄存器的一个小问题

2008-1-21 02:30 3994

[系统底层] [讨论]关于AMD调试寄存器的一个小问题

2008-1-21 02:30
3994
DDK代码如下

switch (IoControlCode)中

       case IOCTL_IOD_WRITE66:
          OutBuff66=pIOBuffer[0];
                  _asm
                  {
                          PUSHAD
                          mov  EBX,DR1
                          mov  EAX,0
                          MOV  DR1,EAX
                  mov  al,OutBuff66
                  out  0x66, al
                          mov  eax,ebx
                          MOV  DR1,EAX
                          POPAD
                  }                         
          OutByteCount = 0;
          Status       = STATUS_SUCCESS;
        break;  

在intel所有机器中 运行正常 AMD的机器会不停报警 只有AMD5000+以后的机器才能正常执行  不知道什么原因
请各位驱动高手指点迷津

[推荐]看雪企服平台,提供项目众包、渗透测试、安全分析、定制项目开发、APP等级保护等安全服务!

最新回复 (3)
NONAME剑人 3 2008-1-21 16:53
2
0
amd本来就抄袭INTER的....
bujin888 4 2008-1-21 21:15
3
0
他抄袭的工夫也不到家 害的我程序 好多机器运行不起来
笨笨雄 14 2008-1-22 09:25
4
0
仅你贴出的代码,如果问题真的出在DDK而不是你写的代码,个人认为跟0x66这个端口操作有关

而不是调试寄存器的问题,不过是把DR1清0,会有什么问题?除非你的程序用了空指针访问内存才会动DR1

不过我倒觉得是你的代码有问题,而不是DDK
游客
登录 | 注册 方可回帖
返回