Вход в 64-х битную процедуру.

Тема в разделе "WASM.BEGINNERS", создана пользователем Hacker, 1 июл 2021.

  1. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.576
    Mikl___, у меня специфическая задача, если вкратце - память R-X, нужно обойтись без переменных; а регистров в x64 вроде много, но все же не хватает. Думаю выделить память в хипе и там разместить нужные переменные. Однако, все же остается открытым вопрос с uses rdi rsi rbx . Как вообще винапи делают, сохраняют все эти регистры (выше писали, что надо еще r12-15), на стек или куда?
     
  2. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    M0rg0t,
    windows процедуры во всю используют RSI, RDI, RBX, RBP только внутри процедур сохраняют их содержимое в R8-R11. Сохранение содержимого RSI, RDI, RBX, RBP очень актуально для драйверов и dll, для обычных программ уровня юзера, это несмертельно. . .
     
  3. maestroant

    maestroant New Member

    Публикаций:
    0
    Регистрация:
    3 июн 2019
    Сообщения:
    14
    Блин это ж документировано в "Общие сведения о соглашениях ABI x64" зайди прочитай на msdn
     
  4. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.576
    maestroant, да почитать можно, но интереснее уточнить на форуме, зачем-то же форумы есть.
    з.ы. ты не тот случаем maestroant, что был еще на чихе?
     
  5. maestroant

    maestroant New Member

    Публикаций:
    0
    Регистрация:
    3 июн 2019
    Сообщения:
    14
    :acute: там просто инфа от первоисточника. А тут сейчас фантазий накидают.