查看“SysFn21/ru”的源代码
←
SysFn21/ru
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
'''Функция 21 - установка системных параметров''' ---- === Подфункция 1 - установить базовый порт MPU MIDI. === Параметры: :* eax = 21 - номер функции :* ebx = 1 - номер подфункции :* ecx = номер базового порта Возвращаемое значение: :* eax = 0 - успешно :* eax = -1 - ошибочный номер порта Замечания: :* Номер порта должен удовлетворять условиям 0x100<=ecx<=0xFFFF. :* Установка базы нужна для работы функции 20. :* Получить установленный базовый порт можно вызовом ::подфункции 1 функции 26. '''Константы для регистров:''' ::eax - SF_SYSTEM_SET (21) ::ebx - SSF_MPU_MIDI_BASE (1) === Подфункция 2 - установить раскладку клавиатуры. === Раскладка клавиатуры используется для преобразования сканкодов, поступающих от клавиатуры, в ASCII-коды, считываемые функцией 2. Параметры: :* eax = 21 - номер функции :* ebx = 2 - номер подфункции :* ecx = какую раскладку устанавливать: ::* 1 = нормальную ::* 2 = раскладку при нажатом Shift ::* 3 = раскладку при нажатом Alt :* edx = указатель на раскладку - таблицу длиной 128 байт Или: :* ecx = 9 :* dx = идентификатор страны (1=eng, 2=fi, 3=ger, 4=rus) Возвращаемое значение: :* eax = 0 - успешно :* eax = 1 - параметр задан неверно Замечания: :* Если нажат Alt, то используется раскладка с Alt; ::если не нажат Alt, но нажат Shift, то ::используется раскладка с Shift; ::если не нажаты Alt и Shift, но нажат Ctrl, то используется ::нормальная раскладка, после чего из кода вычитается 0x60; ::если не нажата ни одна из управляющих клавиш, то используется ::нормальная раскладка. :* Получить раскладки и идентификатор страны можно с помощью ::подфункции 2 функции 26. :* Идентификатор страны - глобальная системная переменная, которая ::самим ядром не используется; однако приложение @taskbar отображает ::соответствующую текущей стране иконку. :* Приложение @taskbar переключает раскладки по запросу пользователя. '''Константы для регистров:''' ::eax - SF_SYSTEM_SET (21) ::ebx - SSF_KEYBOARD_LAYOUT (2) === Подфункция 5 - установить язык системы. === Параметры: :* eax = 21 - номер функции :* ebx = 5 - номер подфункции :* ecx = язык системы (1=eng, 2=fi, 3=ger, 4=rus) Возвращаемое значение: :* eax = 0 Замечания: :* Язык системы - глобальная системная переменная, никак ::не используемая самим ядром, однако приложение @taskbar рисует ::соответствующую иконку. :* Проверок на корректность не делается, поскольку ядро эту ::переменную не использует. :* Получить язык системы можно вызовом подфункции 5 функции 26. '''Константы для регистров:''' ::eax - SF_SYSTEM_SET (21) ::ebx - SSF_SYS_LANG (5) === Подфункция 11 - разрешить/запретить низкоуровневый доступ к HD. === Параметры: :* eax = 21 - номер функции :* ebx = 11 - номер подфункции :* ecx = 0/1 - запретить/разрешить Возвращаемое значение: :* eax = 0 Замечания: :* Используется при LBA-чтении (подфункция 8 функции 58). :* Текущая реализация использует только младший бит ecx. :* Получить текущее состояние можно вызовом подфункции 11 функции 26. '''Константы для регистров:''' ::eax - SF_SYSTEM_SET (21) ::ebx - SSF_ACCESS_HD_LBA (11) === Подфункция 12 - разрешить/запретить низкоуровневый доступ к PCI. === Параметры: :* eax = 21 - номер функции :* ebx = 12 - номер подфункции :* ecx = 0/1 - запретить/разрешить Возвращаемое значение: :* eax = 0 Замечания: :* Используется при работе с шиной PCI (функция 62). :* Текущая реализация использует только младший бит ecx. :* Получить текущее состояние можно вызовом подфункции 12 функции 26. '''Константы для регистров:''' ::eax - SF_SYSTEM_SET (21) ::ebx - SSF_ACCESS_PCI (12) {{System_functions}} [[Category: SysCalls]]
本页使用的模板:
Template:Navbox
(
查看源代码
)
Template:Nowrap
(
查看源代码
)
Template:System functions
(
查看源代码
)
返回至“
SysFn21/ru
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
变体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息