我遇到了GAS
的麻烦。
使用Visual C++
编译器,我可以在我的汇编块中直接使用C / C ++值。
例如:
int A[2] = {0, 0};
_asm
{
mov ecx, 2
lea edi, A
label1:
mov [edi], ecx
add edi, 4
loop label1
}
此代码将使用Microsoft Visual C ++工具毫无问题地编译,并且数组值将为A[0] == 2
和A[1] == 1
。
所以我的问题是:我可以leal
汇编中GCC's GAS
的C / C ++数组的起始地址吗?要获得某种效果:
leal %edi, A