Ошибка встроенной сборки GCC: нет такой инструкции: `stosd ' - PullRequest
2 голосов
/ 02 июня 2011

О боже, у меня есть еще одна ошибка при компиляции следующего встроенного кода сборки (с -fasm-blocks ) в GCC :

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

GCC понимает другие stos инструкции, почему он не принимает stosd ???

Ответы [ 2 ]

3 голосов
/ 02 июня 2011

Если вы используете синтаксис Intel, просто перейдите к явной версии команды STOS: REP STOS DWORD PTR:[EDI].

и iirc под gcc, stosd называется stosl.

1 голос
/ 22 мая 2014

Еще один способ исправить это - указать gcc использовать синтаксис сборки Intel с "-masm = intel".

...