LINUX.ORG.RU

impossible constraint in «asm»


0

0

Файл с расширением .c компилится с опциями -c -o :
В следующей строке выдает ошибку - impossible constraint in "asm"
void v1(int sec)
{
asm("mov $55, %%ax ; int $0x22":"=eax" ((int) sec):"ebx" ((int) sec));
return;
}

anonymous

// main.c

static void v1(int sec) {
  asm("mov $55, %%ax\n"
      "int $0x22\n"
      :"=a"(sec)
      :"b"(sec)
      );
} // vi

int main(int argc, char **argv) {
  v1(1);

  return(0);
} // main

// p.s. синтаксис такой. чего добиваетесь? =))

legk
()
Ответ на: комментарий от legk

Спасибо.
Частично помогло.
Да пытаюсь собрать чужой загрузчик.
Вот еще один error :
invalid expression in operand :

__asm__ __volatile__ ("lidt (%0)": :"p" (((char *) i)+2));

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.