【发布时间】:2012-07-17 19:36:56
【问题描述】:
我正在尝试使用内联汇编,但收到错误..
这是部分代码:
char * buffer = new char[10];
__asm {
mov ecx,&buffer
mov edx,07
}
还有错误;
错误 1 错误 C2400: 'second 中的内联汇编语法错误 操作数';找到“和”
我做错了什么?
【问题讨论】:
-
Visual C++ 对我来说是一个遥远的记忆,但
lea ecx, buffer怎么样? -
您将缓冲区定义为指针,为什么要将双指针传递给ecx?对吗?
-
&是汇编语言中的 AND 运算符。看起来您在 _asm 块中使用 C++,这往往效果不佳。目前尚不清楚您要在这里做什么。您是否尝试将buffer的值加载到寄存器中?还是您尝试加载buffer变量的地址? -
我正在尝试加载地址
-
您要加载哪个地址?你刚刚创建的 10 个字符的地址?或者
buffer变量的地址?
标签: c++ visual-c++ assembly inline-assembly