首页
社区
课程
招聘
[讨论]关于AMD调试寄存器的一个小问题
发表于: 2008-1-21 02:30 5414

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

2008-1-21 02:30
5414
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+以后的机器才能正常执行  不知道什么原因
请各位驱动高手指点迷津

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 740
活跃值: (952)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
2
amd本来就抄袭INTER的....
2008-1-21 16:53
0
雪    币: 193
活跃值: (26)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
3
他抄袭的工夫也不到家 害的我程序 好多机器运行不起来
2008-1-21 21:15
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
4
仅你贴出的代码,如果问题真的出在DDK而不是你写的代码,个人认为跟0x66这个端口操作有关

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

不过我倒觉得是你的代码有问题,而不是DDK
2008-1-22 09:25
0
游客
登录 | 注册 方可回帖
返回
//