GoogleTranslate Jurgen's commit from sysfuncr.txt to sysfuncs.txt

SHA-1: 34d6f8189f
git-svn-id: svn://kolibrios.org@9976 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
leency
2025-02-23 03:25:55 +02:00
parent 9f5dd6cbdd
commit 83a8240eb8
2 changed files with 38 additions and 13 deletions

View File

@@ -2521,7 +2521,8 @@ dword-значение цвета 0x00RRGGBB
* иначе eax = номер приоритета потока
Замечания:
* Приоритет потока имеет диапазон значений от 0 до 255.
Значение 0 - наивысший приоритет потока, устанавливаемый по умолчанию при создании потока.
Значение 0 - наивысший приоритет потока, устанавливаемый по умолчанию
при создании потока.
======================================================================
===================== Функция 51, подфункция 4 =======================
@@ -2537,7 +2538,8 @@ dword-значение цвета 0x00RRGGBB
* иначе eax = старое значение приоритета потока
Замечания:
* Приоритет потока имеет диапазон значений от 0 до 255.
Значение 0 - наивысший приоритет потока, устанавливаемый по умолчанию при создании потока.
Значение 0 - наивысший приоритет потока, устанавливаемый по умолчанию
при создании потока.
======================================================================
====================== Функция 54, подфункция 0 ======================
@@ -3572,18 +3574,25 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
приостановка с уведомлением отлаживающего приложения иначе.
* После завершения критических действий в обработчике пользователя
восстановление бита маски данного исключения можно сделать
подфункцией 25. Сброс флагов исключений в модулях FPU и XMM также возлагается на обработчик пользователя.
подфункцией 25. Сброс флагов исключений в модулях FPU и XMM также
возлагается на обработчик пользователя.
Внимание:
1) Если пользовательский обработчик обрабатывает исключение переполнения стека (#SS), то должен быть установлен стартовый адрес резервного стека в регистре ESI.
При возникновении исключения (#SS), в этот резервный стек будут записаны дополнительные данные (см. структуру EXCEPT_STACK sys32.inc).
При завершении обработки этого исключения, пользовательский обработчик должен дополнительно обнулить бит занятости (бит номер 0) резервного стека в поле LockAccess структуры EXCEPT_STACK.
2) Вы можете использовать режим "контролируемое исключение" для проверок на корректность адресов памяти при считывании\записи данных.
Для этого:
- В регистр ESI заносится адрес, куда должно перейти выполнение кода при возникновении исключения.
- В регистр EDI заносится сигнатура - текст 'EXPT'.
1) Если пользовательский обработчик обрабатывает исключение
переполнения стека (#SS), то должен быть установлен стартовый
адрес резервного стека в регистре ESI.
При возникновении исключения (#SS), в этот резервный стек будут
записаны дополнительные данные (см. структуру EXCEPT_STACK в sys32.inc).
При завершении обработки этого исключения, пользовательский обработчик
должен дополнительно обнулить бит занятости (бит номер 0) резервного
стека в поле LockAccess структуры EXCEPT_STACK.
2) Вы можете использовать режим "контролируемое исключение" для
проверки на корректность адресов памяти при считывании\записи данных.
Для этого:
- В регистр ESI заносится адрес, куда должно перейти выполнение кода
при возникновении исключения.
- В регистр EDI заносится сигнатура - текст 'EXPT'.
---------------------- Константы для регистров: ----------------------
eax - SF_SYS_MISC (68)

View File

@@ -3506,6 +3506,22 @@ Remarks:
Also user handler is responsible for clearing exceptions flags in
FPU and/or SSE.
Attention:
1) If the user handler gets a stack overflow exception (#SS), then the
starting address of the backup stack must be set in the ESI register.
If an exception (#SS) occurs, additional data will be written to this
reserve stack (see the EXCEPT_STACK structure in sys32.inc).
Upon completion of processing of this exception, the user handler must
additionally reset the busy bit (bit number 0) of the reserve stack in
the LockAccess field of the EXCEPT_STACK structure.
2) You can use the "controlled exception" mode to check the correctness
of memory addresses when reading/writing data.
For the cases like this:
- In the ESI register, the address where code execution should go
when an exception occurs is entered.
- The signature - the text 'EXPT' - is entered in the EDI register.
---------------------- Constants for registers: ----------------------
eax - SF_SYS_MISC (68)
ebx - SSF_SET_EXCEPTION_HANDLER (24)