Текущий архив: 2015.09.10;
Скачать: CL | DM;
Вниз
inline assembler в XE6 Найти похожие ветки
← →
dmk © (2014-11-02 12:00) [0]Всем привет! Подскажите пожалуйста знатоки ассемблера, можно ли каким-нибудь способом в теле функции или процедуры писать inline-вставки для платформы 64 бита.
Для 32 бит все нормально, а для 64-х вроде надо выносить все в отдельную процедуру/функцию? Может кто знает?
← →
Дмитрий Белькевич © (2014-11-02 15:10) [1]Увы, но инлайн - никак. Есть ли вообще критическая необходимость мешать код? Мы у себя переписали без особенных проблем на одельные функции.
← →
dmk © (2014-11-02 17:11) [2]Область видимости переменных пропадает. Приходится все заново писать: новые параметры, новая логика, по другому сохраняется стек ну и т.п. В общем полная несовместимость. Раньше в EAX например передавался первый параметр, в EDX - второй, а сейчас там может быть что угодно: хоть счетчик, хоть self. Просто переделывать много.
← →
MBo © (2014-11-02 18:40) [3]>а сейчас там может быть что угодно: хоть счетчик, хоть self
Как это - что угодно? Для 64 есть единственное соглашение:
целые аргументы в регистрах RCX, RDX, R8, R9 и т.д.
http://msdn.microsoft.com/en-us/library/ms235286.aspx
← →
dmk © (2014-11-02 18:54) [4]Спасибо! Не знал. На сайте эмбаркадеро такого не нашел.
← →
MBo © (2014-11-02 19:32) [5]Есть вкратце (найти действительно трудновато)
http://docwiki.embarcadero.com/RADStudio/XE6/en/Using_Inline_Assembly_Code
← →
dmk © (2014-11-02 19:52) [6]>MBo
Поклонище!
← →
silver © (2014-11-02 20:22) [7]Mbo это Мбо
здесь нет более полезных людей для делфи
Страницы: 1 вся ветка
Текущий архив: 2015.09.10;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.04 c