fix(script): read Init guards in native disk order
Docs Deploy / Build and Deploy MkDocs (push) Successful in 39s
Docs Deploy / Build and Deploy MkDocs (push) Successful in 39s
This commit is contained in:
4 files changed
+99
-47
No files matched your search
@@ -141,11 +141,16 @@ Rust.
|
||||
продолжает работу. Rust моделирует числовую запись, а не это UI-предупреждение;
|
||||
на первом `FISTP qword` он явно завершает загрузку ошибкой для NaN, infinity и
|
||||
значений вне signed-qword диапазона. В первом событии `Init` Rust поддерживает
|
||||
только action-форму `Handler(19)` (`control word` и `result reference` равны
|
||||
`0xffffffff`). Неизвестная инструкция даёт `Unsupported` в preview, не применяя
|
||||
накопленные частичные записи; при полной загрузке это ошибка. Это ограничение
|
||||
Rust исполнителя, не правило оригинального dispatcher-а. Ошибочные ссылки и
|
||||
типы остаются ошибками в обоих режимах.
|
||||
только action-форму `Handler(19)`: в семи disk header words control находится в
|
||||
`header_words[3]`, а result-save reference — в `header_words[1]`; для поддержанной
|
||||
формы оба равны `0xffffffff`. Это подтверждается перестановкой записи в
|
||||
`ai.dll!FUN_10011b20` (RVA `0x11b20`) и чтениями в исполнителе
|
||||
`FUN_10012020` (RVA `0x12020`) той же GOG-сборки. `Handler(19)` (`FUN_1000aa38`,
|
||||
RVA `0xaa38`) использует references `0..2`; `header_words[2]` его result-save
|
||||
guard-ом не проверяется. Неизвестная инструкция даёт `Unsupported` в preview,
|
||||
не применяя накопленные частичные записи; при полной загрузке это ошибка. Это
|
||||
ограничение Rust исполнителя, не правило оригинального dispatcher-а. Ошибочные
|
||||
ссылки и типы остаются ошибками в обоих режимах.
|
||||
|
||||
Для GOG-сборки также найден статический host call path в `Init`. В
|
||||
`iron3d.dll!FUN_1005ff40` (RVA `0x5ff40`) одна ветвь сначала проходит записи
|
||||
|
||||
Reference in new issue
Block a user