Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.09 c
2-1396405670
Drowsy
2014-04-02 06:27
2015.09.10
TDUPM


15-1415779394
MBo
2014-11-12 11:03
2015.09.10
delphimaster.net


15-1419680039
alexdn
2014-12-27 14:33
2015.09.10
Папки в Skype


2-1397418044
MSAccess
2014-04-13 23:40
2015.09.10
Задать пароль БД Access


15-1418318045
Fox
2014-12-11 20:14
2015.09.10
Англоязычная озвучка карт





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский