CHAR cRet[256] = {0};
__asm
{
push SomeHandle;
mov ecx, 1;
call SomeFunc;
mov ecx, eax;
call AnotherFunc;
mov ecx,dword ptr ds:[eax+0x08];
mov eax,dword ptr ds:[ecx+0x1C];
mov cRet, eax;
}
我有两个结构,第一个结构+ 0x08指向第二个结构,我想读取第二个结构+ 0x1C这是一个字符串数组(char *)
编译器在这一行中给我operand size conflict error
:
mov cRet, eax;
在第一步中我成功获得第二个结构的指针,唯一的问题是这个错误。
出了什么问题?
编辑:
通过将CHAR cRet[256] = {0};
更改为CHAR *cRet;