Я обнаружил фрагмент кода на ассемблере в C-программе, которую пытался запустить в 64-битной FreeBSD.
void *curbrk;
__asm__ __volatile__(
"movl .curbrk, %%eax;"
"movl %%eax, %0"
: "=r" (curbrk)
:: "%eax"
);
Я получаю сообщение об ошибке, например "mov отсутствует суффикс или операнд" (приведенный выше код соответствует синтаксису AT & T). Что определяет синтаксис, который я должен использовать для кода - Компилятор (gcc следует синтаксису AT & T) или процессор (я работает на процессоре Intel). Проблема в том, что код в синтаксисе AT & T или мне чего-то не хватает?