Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm для Windows/Dos > SEH


Автор: hawk3500 4.8.2011, 08:49
Здравствуйте.
Подскажите пожалуйста кто знает, что я не так делаю в SEH.
На C реализовывал такую структуру проблем не было, а как это в asm 
перекинуть не могу понять.
Код

include shell32.inc
include    kernel32.inc
    .386
    .model    flat
    .const
szTitle         db      "Exit Seh",0
szMessage       db      "Exit Seh",0

    .code
_start:
    call    delta  
    delta:
    pop     ebp
    mov     eax,ebp
    mov    edx,ebp
    
    push offset Exeption
    push     dword ptr fs:0
    mov    fs:0,esp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    mov     eax,0
    mov     [eax], eax
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ERT2:
    mov ecx,eax
    push    0
    push    offset szTitle
    push    offset szMessage
    push    0
    call    MessageBox
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    mov     eax,[esp]
    mov     dword ptr fs:0,eax 
    add     esp, 8  
    push    ebx
    call    ExitProcess

Exeption:
    
    pop eax
    pop ebx
    pop ecx
    pop edx
    push    0
    push    0
    push    0
    push    0
    call    MessageBox
    lea    eax,szMessage
    mov [ebx+0B0h],eax
    xor eax,eax
    ret
end    _start

Заранее благодарен.
С уважением,
RED HAWK

Автор: Mikl_ 12.8.2011, 03:03
hawk3500, вот неплохая статья: http://www.insidepro.com/kk/014/014r.shtml

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)