GCC内联汇编错误:没有这样的指令:`stosd'

时间:2011-06-02 07:21:11

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

噢,在 GCC 下编译以下内联汇编代码( -fasm-blocks )时,我又遇到了另一个错误:

_asm
{
    mov ecx, esi
    shr ecx, 2
    rep stosd
};

GCC 了解其他 stos 说明,为什么不接受 stosd ???

2 个答案:

答案 0 :(得分:2)

看作是使用英特尔语法,只需查看STOS命令的显式版本:REP STOS DWORD PTR:[EDI]

和gir下的iirc,stosd被称为stosl

答案 1 :(得分:1)

解决此问题的另一种方法是告诉gcc使用带有“-masm = intel”的英特尔汇编语法。