Я получал странную ошибку, когда разрабатывал свою операционную систему. Я делал драйвер ввода-вывода, используя outb
и inb
. Моя функция outb
выглядит следующим образом:
static inline void outb(uint16_t port, uint8_t val)
{
__asm("outb %0, %w1" //<--Error
:
: "a"(val), "Nd"(port));
}
Я получаю эту ошибку в Visual Studio:
C2400: синтаксическая ошибка встроенного ассемблера в «коде операции»; нашел '('
Кто-нибудь знает, почему я получаю эту ошибку? Как исправить эту ошибку? Какие-либо предложения?