简体   繁体   中英

GCC inline assembly error: no such instruction: `stosd'

Oh man, I've got yet another error while compiling the following inline assembly code (with -fasm-blocks ) under GCC :

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

GCC understands other stos instructions, why won't it accept stosd ???

seeing as your using intel syntax, just go for the explicit version of the STOS command: REP STOS DWORD PTR:[EDI] .

and iirc under gcc, stosd is called stosl .

Another way to fix this is to tell gcc to use intel assembly syntax with "-masm=intel".

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM