内联汇编崩溃中的变量

时间:2012-07-02 18:16:08

标签: visual-c++ inline-assembly

当我在某些代码

中使用它时,以下代码可以正常工作
MOV ECX,DWORD PTR DS:[0x41154]  //Address

但是当我尝试在我的应用程序中将该地址设置为varable时,然后执行类似

的操作
MOV ECX,DWORD PTR DS:[PointerAddress]

应用程序在执行代码时崩溃,PointerAddress当前初始化为

DWORD    PointerAddress = 0x41154;

有人能发现什么是错的吗?

1 个答案:

答案 0 :(得分:4)

下面

[PointerAddress]

PointerAddress被视为指针,而不是DWORD值。

就像

*(DWORD*)PointerAddress

而不喜欢

PointerAddress

你执行双重取消引用,因此崩溃。

尝试使用

mov eax, PointerAddress
mov ecx, dword ptr ds:[eax]