Я использую следующий код для установки бита cr0 для отключения кэша. Когда я компилирую это
#include <stdio.h>
int main()
{
__asm__("pushl %eax\n\t"
"mov %cr0,%eax;\n\t"
"orl $(1 << 30),%eax;\n\t"
"mov %eax,%cr0;\n\t"
"wbinvd\n\t"
"popl %eax"
);
return 0;
}
Я получаю ошибку, говоря, что операнды недопустимы для mov.
Кто-либо может указать на меня на хорошее руководство gcc x86-64 для того, чтобы сделать эти виды вещей? Также, что точно является неправильным с вышеупомянутым кодом?