我是每个人。
我对以下代码有疑问:
asm volatile(" \
cli; \
mov %0, %%ecx; \
mov %1, %%esp; \
mov %2, %%ebp; \
mov %3, %%cr3; \
mov $0x12345, %%eax; \
sti; \
jmp *%%ecx "
: : "r"(eip), "r"(esp), "r"(ebp), "r"(current_directory -> physical_address));
问题在于" jmp"指令,编译器给我以下错误:
cc -nostdlib -nostdinc -fno-builtin -fno-stack-protector -c -o task.o task.c
ERROR : operand type mismatch for `jmp'