Difference between revisions of "SysFn22/ru"
Jump to navigation
Jump to search
m (+catecories) |
|||
(3 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
''' Функция 22 - установить системную дату/время. ''' | ''' Функция 22 - установить системную дату/время. ''' | ||
− | + | ---- | |
Параметры: | Параметры: | ||
− | * eax = 22 - номер функции | + | :* eax = 22 - номер функции |
− | * ebx = 0 - установить время | + | :* ebx = 0 - установить время |
− | + | ::* ecx = 0x00SSMMHH - время в двоично-десятичном коде (BCD): | |
− | + | ::* HH=час 00..23 | |
− | + | ::* MM=минута 00..59 | |
− | + | ::* SS=секунда 00..59 | |
− | * ebx = 1 - установить дату | + | :* ebx = 1 - установить дату |
− | + | ::* ecx = 0x00DDMMYY - дата в двоично-десятичном коде (BCD): | |
− | + | ::* DD=день 01..31 | |
− | + | ::* MM=месяц 01..12 | |
− | + | ::* YY=год 00..99 | |
− | * ebx = 2 - установить день недели | + | :* ebx = 2 - установить день недели |
− | + | ::* ecx = 1 для воскресенья, ..., 7 для субботы | |
− | * ebx = 3 - установить будильник | + | :* ebx = 3 - установить будильник |
− | + | ::* ecx = 0x00SSMMHH | |
− | |||
Возвращаемое значение: | Возвращаемое значение: | ||
− | * eax = 0 - успешно | + | :* eax = 0 - успешно |
− | * eax = 1 - параметр задан неверно | + | :* eax = 1 - параметр задан неверно |
− | * eax = 2 - CMOS-батарейки разрядились | + | :* eax = 2 - CMOS-батарейки разрядились |
− | |||
Замечания: | Замечания: | ||
− | * Ценность установки дня недели представляется сомнительной, поскольку он мало где используется (день недели можно рассчитать по дате). | + | :* Ценность установки дня недели представляется сомнительной, |
− | * Будильник можно установить на срабатывание в заданное время каждые сутки. При этом отключить его существующими системными функциями нельзя. | + | ::поскольку он мало где используется |
− | * Срабатывание будильника заключается в генерации IRQ8. | + | ::(день недели можно рассчитать по дате). |
− | * Вообще-то CMOS поддерживает для будильника установку значения 0xFF в качестве одного из параметров и означает это, что соответствующий параметр игнорируется. Но в текущей реализации это не пройдёт (вернётся значение 1). | + | :* Будильник можно установить на срабатывание в заданное время |
− | * Будильник - глобальный системный ресурс; установка будильника автоматически отменяет предыдущую установку. Впрочем, на данный момент ни одна программа его не использует. | + | ::каждые сутки. При этом отключить его существующими системными |
+ | ::функциями нельзя. | ||
+ | :* Срабатывание будильника заключается в генерации IRQ8. | ||
+ | :* Вообще-то CMOS поддерживает для будильника установку значения | ||
+ | ::0xFF в качестве одного из параметров и означает это, что | ||
+ | ::соответствующий параметр игнорируется. Но в текущей реализации | ||
+ | ::это не пройдёт (вернётся значение 1). | ||
+ | :* Будильник - глобальный системный ресурс; установка будильника | ||
+ | ::автоматически отменяет предыдущую установку. Впрочем, на данный | ||
+ | ::момент ни одна программа его не использует. | ||
+ | '''Константы для регистров:''' | ||
+ | ::eax - SF_SET_TIME_DATE (22) | ||
{{System_functions}} | {{System_functions}} | ||
[[Category: SysCalls]] | [[Category: SysCalls]] |
Latest revision as of 18:53, 16 January 2016
Функция 22 - установить системную дату/время.
Параметры:
- eax = 22 - номер функции
- ebx = 0 - установить время
- ecx = 0x00SSMMHH - время в двоично-десятичном коде (BCD):
- HH=час 00..23
- MM=минута 00..59
- SS=секунда 00..59
- ebx = 1 - установить дату
- ecx = 0x00DDMMYY - дата в двоично-десятичном коде (BCD):
- DD=день 01..31
- MM=месяц 01..12
- YY=год 00..99
- ebx = 2 - установить день недели
- ecx = 1 для воскресенья, ..., 7 для субботы
- ebx = 3 - установить будильник
- ecx = 0x00SSMMHH
Возвращаемое значение:
- eax = 0 - успешно
- eax = 1 - параметр задан неверно
- eax = 2 - CMOS-батарейки разрядились
Замечания:
- Ценность установки дня недели представляется сомнительной,
- поскольку он мало где используется
- (день недели можно рассчитать по дате).
- Будильник можно установить на срабатывание в заданное время
- каждые сутки. При этом отключить его существующими системными
- функциями нельзя.
- Срабатывание будильника заключается в генерации IRQ8.
- Вообще-то CMOS поддерживает для будильника установку значения
- 0xFF в качестве одного из параметров и означает это, что
- соответствующий параметр игнорируется. Но в текущей реализации
- это не пройдёт (вернётся значение 1).
- Будильник - глобальный системный ресурс; установка будильника
- автоматически отменяет предыдущую установку. Впрочем, на данный
- момент ни одна программа его не использует.
Константы для регистров:
- eax - SF_SET_TIME_DATE (22)
|