1
В любом случае, чтобы избежать необходимости копировать в корпус код pushad
/popad
?gcc, встроенная сборка - pushad/popad отсутствует?
Потому что НКУ (текущие флаги: -Wall -m32
) жалуется, что
__asm__("pushad;");
Error: no such instruction: `pushad'
__asm__("popad;");
Error: no such instruction: `popad'
Просто FYI, это почти все ays лучше позволить компилятору сохранять/восстанавливать регистры, если захочет. Используйте ограничения, чтобы сказать, какие регионы вы хотите сжать или лучше: позволить вам выбирать временные рег для вас. См. Ссылки inline asm в [вики-странице x86] (http://stackoverflow.com/tags/x86/info) –