Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.036 c
15-1418247012
Юрий
2014-12-11 00:30
2015.09.10
С днем рождения ! 11 декабря 2014 четверг


11-1252401951
Ruzzz
2009-09-08 13:25
2015.09.10
Немного переделал MHXP Компонент


2-1396405670
Drowsy
2014-04-02 06:27
2015.09.10
TDUPM


15-1417365650
alexdn
2014-11-30 19:40
2015.09.10
Notepad ++


15-1414396225
Kilkennycat
2014-10-27 11:50
2015.09.10
на форуме часы врут




   Наверх