ldljlzw
驱动中牛
驱动中牛
  • 注册日期2002-03-16
  • 最后登录2014-01-02
  • 粉丝1
  • 关注0
  • 积分1021分
  • 威望372点
  • 贡献值0点
  • 好评度187点
  • 原创分0分
  • 专家分0分
阅读:3122回复:3

请问? 此汇编指令对应的C语句?

楼主#
更多 发布于:2007-06-01 16:57
在一个驱动程序中, 有这样的汇编语句 : lock and [edx], esi ; 请问各位大爷,它对应的C语句.DDK中没找到它的定义啊,是不是自己定义的?
ldljlzw
驱动中牛
驱动中牛
  • 注册日期2002-03-16
  • 最后登录2014-01-02
  • 粉丝1
  • 关注0
  • 积分1021分
  • 威望372点
  • 贡献值0点
  • 好评度187点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-06-01 17:51
InterlockedBitTestAndSet 和 InterlockedBitTestAndReset 函数功能好象相同却生成的指令好象不同!
binjo
论坛版主
论坛版主
  • 注册日期2003-04-23
  • 最后登录2012-06-25
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望142点
  • 贡献值0点
  • 好评度140点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-06-01 19:25
很可能是的,编译器会进行一些优化,导致寄存器有所不同
ldljlzw
驱动中牛
驱动中牛
  • 注册日期2002-03-16
  • 最后登录2014-01-02
  • 粉丝1
  • 关注0
  • 积分1021分
  • 威望372点
  • 贡献值0点
  • 好评度187点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-06-02 13:53
我知道了,是由函数InterlockedAnd生成的.由于它在NTDDK.H中不是用宏定义的,所以昨天粗心不找到!
还有InterlockedBitTestAndSet 和 InterlockedBitTestAndReset之类在X86系列中没有定义.
谢谢大家!
游客

返回顶部