SysFn43/ru

From KolibriOS wiki
Revision as of 13:30, 6 April 2010 by Art zh (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Функция 43 - ввод/вывод данных в порт.


Вывод данных в порт

Внимание:

  • Эта функция устарела и может быть удалена в следующих версиях ядра.
  • При необходимости прямого (бездрайверного) ввода/вывода в порты и в память внешних устройств рекомендуется использовать функцию 62.

Параметры:

  • eax = 43 - номер функции
  • bl = байт для вывода
  • ecx = номер порта 0xnnnn (от 0 до 0xFFFF)

Возвращаемое значение:

  • eax = 0 - успешно
  • eax = 1 - поток не зарезервировал указанный порт

Ввод данных из порта

Параметры:

  • eax = 43 - номер функции
  • ebx игнорируется
  • ecx = 0x8000nnnn, где nnnn = номер порта (от 0 до 0xFFFF)

Возвращаемое значение:

  • eax = 0 - успешно, при этом ebx = введённый байт
  • eax = 1 - поток не зарезервировал данный порт

Замечания:

  • Предварительно поток должен зарезервировать за собой указанный порт функцией 46.
  • Для зарезервированных портов вместо вызова этих функций рекомендуется использовать команды процессора in/out - это значительно быстрее, короче и проще.
  • Из незарезервированных портов читать в любом случае нельзя.