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:
@@ -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,19 +3574,26 @@ 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.
|
||||
1) Если пользовательский обработчик обрабатывает исключение
|
||||
переполнения стека (#SS), то должен быть установлен стартовый
|
||||
адрес резервного стека в регистре ESI.
|
||||
При возникновении исключения (#SS), в этот резервный стек будут
|
||||
записаны дополнительные данные (см. структуру EXCEPT_STACK в sys32.inc).
|
||||
При завершении обработки этого исключения, пользовательский обработчик
|
||||
должен дополнительно обнулить бит занятости (бит номер 0) резервного
|
||||
стека в поле LockAccess структуры EXCEPT_STACK.
|
||||
|
||||
2) Вы можете использовать режим "контролируемое исключение" для проверок на корректность адресов памяти при считывании\записи данных.
|
||||
2) Вы можете использовать режим "контролируемое исключение" для
|
||||
проверки на корректность адресов памяти при считывании\записи данных.
|
||||
Для этого:
|
||||
- В регистр ESI заносится адрес, куда должно перейти выполнение кода при возникновении исключения.
|
||||
- В регистр ESI заносится адрес, куда должно перейти выполнение кода
|
||||
при возникновении исключения.
|
||||
- В регистр EDI заносится сигнатура - текст 'EXPT'.
|
||||
|
||||
|
||||
---------------------- Константы для регистров: ----------------------
|
||||
eax - SF_SYS_MISC (68)
|
||||
ebx - SSF_SET_EXCEPTION_HANDLER (24)
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user