操作数类型不匹配" jmp"

时间:2018-06-14 08:45:51

标签: c x86 inline-assembly

我是每个人。

我对以下代码有疑问:

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'

0 个答案:

没有答案