SEH,

Тема в разделе "WASM.BEGINNERS", создана пользователем LENIN, 10 мар 2006.

  1. LENIN

    LENIN New Member

    Публикаций:
    0
    Регистрация:
    10 мар 2006
    Сообщения:
    3
    вопрос

    почему код:

    start:

    push cod

    push d,fs[0]

    mov fs,[0],esp

    cod:

    ...........

    ...........





    отказывается в компиляции под masm32?

    и следовательно как зарегистрировать свой SEH?
     
  2. Vasil

    Vasil Василь

    Публикаций:
    0
    Регистрация:
    7 янв 2006
    Сообщения:
    228
    Адрес:
    Ижевск
    Слово "компиляции" лучше использовать для всяких 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: Ленин был умный человек... :)



    Ты вообще на сам сайт заходил ??? - Так этой инфы полным полно, блин !!!!!!!!!!!!!!!!
     
  3. LENIN

    LENIN New Member

    Публикаций:
    0
    Регистрация:
    10 мар 2006
    Сообщения:
    3
    Спасибо, насчёт компиляции это ты прав.....

    А Ленин действительно был умный чувак ну не чё подучусь маленько тоже стану умным :) .
     
  4. OlegA11

    OlegA11 New Member

    Публикаций:
    0
    Регистрация:
    12 фев 2006
    Сообщения:
    102


    Эт почему ещё?

    Ассемблер также как и DELPHI(и т.д) комплирует asm в obj.

    Затем линковка...
     
  5. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Vasil

    Чему ты Ленина учишь - не передавать управление системе при\после обработки исключения - это признак дурного, большевисткого тона ;))

    Законопослушные обработчики должны менять регистры через CONTEXT и возвращать управление ОС
     
  6. Vasil

    Vasil Василь

    Публикаций:
    0
    Регистрация:
    7 янв 2006
    Сообщения:
    228
    Адрес:
    Ижевск
    OlegA11 - Слово КОМПИЛЯЦИЯ (COMPILING) отличается от слово СБОРКА (ASSEMBLY), так ведь ;)



    leo

    "Чему ты Ленина учишь - не передавать управление системе при\после обработки исключения - это признак дурного, большевисткого тона ;))

    Законопослушные обработчики должны менять регистры через CONTEXT и возвращать управление ОС"


    :))))))))))))))))))))))))))))))))))))))))))))))))))))



    "менять регистры через CONTEXT" Нет, на самом-то деле это не всегда сработает.