我试图在C文件中编写内联汇编,但出现2个错误:

open.c:10: Error: junk ptr nombre”后表示`

open.c:10: Error: suffix or operands invalid for les'`

这是我的文件:

int open(char * nombre, unsigned char modo)
{
  int retval;
  int nrllamada = 6;
  asm("mov $8,%%ah \n\t"
      "les %%bx, dword ptr nombre \n\t"
      "int $0x22 \n\t"
      "mov %%eax,%0 \n\t"
      : "=r"(retval)
      : "a"(modo)
  );
  return retval;
}

最佳答案

"les %%bx, dword ptr nombre \n\t"


您在字符串中有ptr nombre。那可能是不正确的。确定要在函数的参数中引用char * nombre吗?

关于c - GNU内联汇编错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13666117/

10-11 21:23