使用C编写脚本并使用内联汇编时出现以下错误:
我用我常用的设置编译:
gcc -m32 -ffreestanding -c kernel.c -o kc.o
我从gcc得到了这个错误:
junk `8h:PModeMain' after expression
我使用的代码是适用于gcc规则的osdev.org代码,如下:
void k_enter_protected_mode()
{
__asm__ volatile ("cli;"
"lgdt (gdtr);"
"mov %eax, cr0;"
"or %al, 1;"
"mov cr0, %eax;"
"jmp 08h:PModeMain;"
"PModeMain:");
}
该代码旨在将表单实模式交换为保护模式,提前感谢!