Intel c X64内联asm中的IMAGEREL运算符

时间:2018-06-19 06:55:03

标签: c assembly visual-c++ inline-assembly icc

我使用Intel c X64 inline asm来编译一些汇编代码,数据数组的访问方式如下:

int buf[100];
-------------------------------------------------
_asm
{
lea rax, __ImageBase
mov rcx, 10
mov [IMAGEREL buf+rax+rcx*8], 0x1234
}

ICC抱怨IMAGEREL关键字,ml64编译得很好,ICC对IMAGEREL关键字有任何等价物;

PS:我知道我也可以使用以下寻址模式,但这需要对我的代码进行大量修改:

_asm
{
lea rax, buf
mov rcx, 10
mov [rax+rcx*8], 0x1234
}

感谢

PS:我使用-S开关为某些c代码生成asm列表,在输出中我发现这样的asm代码,但是当我把它放在内联asm中时,ICC抱怨了imagerel运算符

movdqu xmmword ptr [imagerel(buf) + rcx + rdx * 4], xmm0

0 个答案:

没有答案