макросы

Тема в разделе "LANGS.C", создана пользователем a1ss, 10 апр 2008.

  1. Novi4ek

    Novi4ek New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2007
    Сообщения:
    317
    А так:
    Код (Text):
    1. void __declspec(naked) __cdecl mdaa (void* func, ...) {
    2.     __asm {
    3.         fld dword ptr [esp]
    4.         add esp, 8
    5.         call    [esp - 4]
    6.         sub esp, 8
    7.         fstp    dword ptr [esp]
    8.         ret
    9.     }
    10. }
     
  2. a1ss

    a1ss New Member

    Публикаций:
    0
    Регистрация:
    18 ноя 2007
    Сообщения:
    120
    нежелательная команда
     
  3. Novi4ek

    Novi4ek New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2007
    Сообщения:
    317
    А че так? По мне так более нежелательная это fld и fstp
     
  4. Novi4ek

    Novi4ek New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2007
    Сообщения:
    317
    fld dword ptr [esp]
    mov eax, [esp + 4]
    add esp, 8
    call eax
    sub esp, 8
    fstp dword ptr [esp]
    ret
     
  5. a1ss

    a1ss New Member

    Публикаций:
    0
    Регистрация:
    18 ноя 2007
    Сообщения:
    120
    fld, fstp тоже нежелательные команды :) да и решение найдено уже..
     
  6. diamond

    diamond New Member

    Публикаций:
    0
    Регистрация:
    21 май 2004
    Сообщения:
    507
    Адрес:
    Russia
    Вот почему: http://www.wasm.ru/forum/viewtopic.php?id=10566
     
  7. Novi4ek

    Novi4ek New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2007
    Сообщения:
    317
    Ну там call esp а тут call [esp], но так тоже проблемы будут?..
     
  8. diamond

    diamond New Member

    Публикаций:
    0
    Регистрация:
    21 май 2004
    Сообщения:
    507
    Адрес:
    Russia
    Должен сказать, что сам не имею возможности протестить, но полагаю, что проблемы будут. Потому что причина общая - значение EIP может устанавливаться до уменьшения ESP, а может и после.
     
  9. Novi4ek

    Novi4ek New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2007
    Сообщения:
    317
    ara, toje tak podumal