БОРЛАНД

Тема в разделе "WASM.BEGINNERS", создана пользователем int2e, 17 янв 2009.

  1. int2e

    int2e New Member

    Публикаций:
    0
    Регистрация:
    9 янв 2009
    Сообщения:
    169
    Компилятор борланд_делфи_7
    Объясните, что содержится в регистрах при вызове функции??

    САБЖ
    Есть функция в модуле, которую нужно вызвать

    Однако я никак не могу понять, как ей передавать параметры, т.к. такое ощущение, что там используются все регистры на входе... и ничего не восстанавливается на выходе

    В общем, объъясните, накидайте ссылок
     
  2. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Это зависит c каким calling convention функция скомпилирована - stdcall, register, safecall etc
    Если эта функция эспортирована из ДЛЛ - 99.9% что это stdcall, т.е. все параметры передаются в стеке справа налево.
    EAX, ECX, and EDX изменятся, все остальные регистры сохраняются. На выходе результат в EAX.
     
  3. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
  4. int2e

    int2e New Member

    Публикаций:
    0
    Регистрация:
    9 янв 2009
    Сообщения:
    169
    murder
    то, что надо!!!
    спасибо, разрулил!
     
  5. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    В Дельфозном хелпе всё это описано.