阅读:1211回复:5
lock or 的含义
当程序运行到
汇编 lock or [exp+04] 时出现兰屏的故障,请问 lock or 的含义 查win32的指令里没有lock or |
|
|
沙发#
发布于:2005-02-28 09:50
lock是前缀,表明后面指令在锁住计算机总线的情况下进行,就是防止多处理器架构中其他处理器的干扰,剩下的or [exp+04],嘿嘿,就不用再说了吧
|
|
|
板凳#
发布于:2005-02-28 11:17
lock是前缀,表明后面指令在锁住计算机总线的情况下进行,就是防止多处理器架构中其他处理器的干扰,剩下的or [exp+04],嘿嘿,就不用再说了吧 出现兰屏,的原因,并不是这个语句有问题吗? 故障原因 是 bad pool caller 产生这个故障,怎样处理 |
|
|
地板#
发布于:2005-02-28 12:01
[quote]lock是前缀,表明后面指令在锁住计算机总线的情况下进行,就是防止多处理器架构中其他处理器的干扰,剩下的or [exp+04],嘿嘿,就不用再说了吧 出现兰屏,的原因,并不是这个语句有问题吗? 故障原因 是 bad pool caller 产生这个故障,怎样处理 [/quote] 说明这个语句引用的变量[exp+04]在内存池中可能已被换出,检查这个变量在哪里 |
|
|
地下室#
发布于:2005-02-28 13:46
语句我写的不对,更正如下
出现兰屏的前三个 语句 mov al [esp+08] mov [edx] al lock or [esp+08] edx 这三个语句 的内容是把堆栈中的最后两个值相或,送回堆栈 这样理解对不对 |
|
|
5楼#
发布于:2005-02-28 15:37
语句我写的不对,更正如下 [edx]和下一句的edx不一致 |
|
|