-1
我是新来的组装和我决定实现一些简单的功能使用内联汇编图表,我开始与这是应该的邻接矩阵的所有元素初始化为0的构造,但我不明白我做错了什么问题与内联汇编在Visual Studio C++
struct graph {
int el[MAX_V][MAX_V];
int noVert;
int noEdges;
bool directed;
graph() {
_asm {
mov ebx, 0
mov esi, MAX_V
mov edi, this
START_L1:
cmp ebx, MAX_V
je END_L1
mov ecx, 0
START_L2:
cmp ecx, MAX_V
je END_L2
mov eax, ebx
imul esi
add eax, ecx
mov [edi + eax*4], dword ptr 0
inc ecx
jmp START_L2;
END_L2:
inc ebx
jmp START_L1
END_L1:
}
}
}
当我使用调试器我发现,执行该指令后,我更新了el
阵列的INT元素包含非零值:
mov [edi + eax*4], dword ptr 0
为什么我getti放置在el
阵列在该指令之后纳克非零int值?我期待我正在更新的索引处的整数设置为零。
因此,[它不工作(http://meta.stackexchange.com/q/147616/333362)? – wally
这是行不通的,在调试它取代了内存的某些部分与一些随机变量,这就是它 –
什么是它应该做的?请张贴足够的信息来复制问题。东西我可以复制并粘贴到Visual Studio,编译和与你所期望的细节你有什么调试将使这个问题比较容易回答。 – wally