Что такое вызов функции outb() в Linux?

Может кто-нибудь объяснить, пожалуйста, значение

outb(0x10,short_base+2);

Я попытался выяснить, прибегая к помощи, но безрезультатно.

2 ответа

Решение

Системные вызовы описаны в разделе 2 справочных страниц: man 2 outb

   void outb(unsigned char value, unsigned short int port);

DESCRIPTION
   This family of functions is used to do low-level port input and  output.
   The  out* functions do port output, the in* functions do port input; the
   b-suffix functions are byte-width and the w-suffix functions word-width;
   the _p-suffix functions pause until the I/O completes.

Чтобы ответить на ваш вопрос:

outb - это функция-оболочка для инструкции по сборке с тем же именем, используемая для связи с устройствами с отображением портов, например, диапазон адресов ввода / вывода 0x60-0x6F используется для клавиатуры в IBM PC-совместимых компьютерах.

Теперь, что такое IO с отображением портов?

Метод связи ЦП с периферийным устройством, и он используется, когда процессор использует другую адресную шину для связи с устройствами и памятью, что требует специальных инструкций.

Сопоставление памяти с вводом-выводом является другим и наиболее распространенным методом в настоящее время, где не требуется никаких специальных инструкций, поскольку все живет в одном и том же адресном пространстве.

Другие вопросы по тегам