вопрос почему код: start: push cod push d,fs[0] mov fs,[0],esp cod: ........... ........... отказывается в компиляции под masm32? и следовательно как зарегистрировать свой SEH?
Слово "компиляции" лучше использовать для всяких Delphi, MSVC++, VB, ... push d,fs[0] - это как так ? В masm делают вот так: ;-------------------------------- _TRY: assume fs: nothing push ebp push offset _EXCEPT push dword ptr fs:[0] mov fs:[0], esp ; Код, который нужно защитить pop dword ptr fs:[0] pop ebp pop ebp jmp _END _EXCEPT: mov eax, [esp + 0Ch] ; Получить указатель на CONTEXT mov esp, [esp + 8] ; Восстановить стек pop dword ptr fs:[0] pop ebp pop ebp ; Код для обработки SEH _END: ;-------------------------------- PS: Ленин был умный человек... Ты вообще на сам сайт заходил ??? - Так этой инфы полным полно, блин !!!!!!!!!!!!!!!!
Спасибо, насчёт компиляции это ты прав..... А Ленин действительно был умный чувак ну не чё подучусь маленько тоже стану умным .
Vasil Чему ты Ленина учишь - не передавать управление системе при\после обработки исключения - это признак дурного, большевисткого тона ) Законопослушные обработчики должны менять регистры через CONTEXT и возвращать управление ОС
OlegA11 - Слово КОМПИЛЯЦИЯ (COMPILING) отличается от слово СБОРКА (ASSEMBLY), так ведь leo "Чему ты Ленина учишь - не передавать управление системе при\после обработки исключения - это признак дурного, большевисткого тона ) Законопослушные обработчики должны менять регистры через CONTEXT и возвращать управление ОС" ))))))))))))))))))))))))))))))))))))))))))))))))))) "менять регистры через CONTEXT" Нет, на самом-то деле это не всегда сработает.