Есть программа на С++, написанная мною, содержит ассемблерные вставки вида:
asm {
...
}
Программа компилировалась и тестировалась на разных Win компилерах. Но GCC ни как не хочет воспринимать такую форму использования asm.
Буду признателен, если кто подкинет пример исспользования asm'а в тексте С++, который нормально компилируется g++ (с примером командной строки).
Bombers launch with no recall + Minutes warning of the missile fall
Take a look at your last sky + Guessing you won't have the time to cry
--- Iron Maiden (Brouther Than A Thousand Suns, 2006)
Аркона – лишь тихие воды,
Кровью варяжской янтарь в них застыл.
Аркона – там ветер со взморья
В трещинах скал своё сердце забыл.
Темнозорь - Аркона (Вольницей В Просинь Ночей - 2005)
Спасибо Ananas, но мне нужно компилить при помощи g++, а мой g++ опции -mintel-asm не понимает.
Bombers launch with no recall + Minutes warning of the missile fall
Take a look at your last sky + Guessing you won't have the time to cry
--- Iron Maiden (Brouther Than A Thousand Suns, 2006)
long f(long a, long b, long c) {
asm("movq -8(%rbp), %rax\n\
imulq -16(%rbp)\n\
idivq -24(%rbp)\n\
movq %rdx, %rax\n\
leave\n ret ");
}
long f2(long a, long b, long c) {
return (a*b)%c;
}
Функция f приведена для 64-битного процессора
Ни каких дополнительных опций компилятору не нужно.
Большое спасибо тем кто откликнулся на вопрос в форуме.
Bombers launch with no recall + Minutes warning of the missile fall
Take a look at your last sky + Guessing you won't have the time to cry
--- Iron Maiden (Brouther Than A Thousand Suns, 2006)