Visual Studio内联汇编程序未按预期工作

时间:2013-06-03 19:44:15

标签: c assembly

MOV MUL_AXB[EBX * 4], EAX

应该实际更改有效的MUL_AXB地址吗?

我已将MUL_AXB声明为

int* MUL_AXB;

在using语句之后的全局范围上,我已经为其赋值

MUL_AXB = (int*) memset(malloc(size), 0, size);

对此问题的任何见解都表示高度赞赏。

1 个答案:

答案 0 :(得分:2)

你正在做的事情将在内存中写入mul_axb指针之外的某处,导致不好的事情发生。

要实际写入已分配的数组,首先需要将指针加载到寄存器中。假设这是32位代码:

mov edx, [mul_axb]
mov [edx + ebx*4], eax