Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.062 c
15-1417210278
Юрий
2014-11-29 00:31
2015.09.10
С днем рождения ! 29 ноября 2014 суббота


2-1394454003
FMX
2014-03-10 16:20
2015.09.10
SQLite + FireDAC


15-1417728602
Юрий
2014-12-05 00:30
2015.09.10
С днем рождения ! 5 декабря 2014 пятница


2-1396061819
SKIPtr
2014-03-29 06:56
2015.09.10
определить выход из спящего режима


2-1392837011
alexdn
2014-02-19 23:10
2015.09.10
Узнать ip