Difference between revisions of "SysFn43/ru"

From KolibriOS wiki
Jump to navigation Jump to search
(Created page with ''''Функция 43''' - ввод/вывод данных в порт. ---- === Вывод данных в порт === Параметры: * eax = 43 - номер функц...')
 
Line 25: Line 25:
  
 
Замечания:
 
Замечания:
* Предварительно поток должен зарезервировать за собой указанный порт функцией 46.
+
* Предварительно поток должен зарезервировать за собой указанный порт [[SysFn46/ru|функцией 46]].
 
* Для зарезервированных портов вместо вызова этих функций рекомендуется использовать команды процессора in/out - это значительно быстрее, короче и проще.  
 
* Для зарезервированных портов вместо вызова этих функций рекомендуется использовать команды процессора in/out - это значительно быстрее, короче и проще.  
 
* Из незарезервированных портов читать в любом случае нельзя.
 
* Из незарезервированных портов читать в любом случае нельзя.

Revision as of 20:14, 5 April 2010

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


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

Параметры:

  • 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 - это значительно быстрее, короче и проще.
  • Из незарезервированных портов читать в любом случае нельзя.