Интересует - обладает ли Asm какими-то существенными преимуществами,которые бы однозначно говорили в его пользу при написании кода(поли/метаморфинг,обфускация,шифрование кода...)? Что вообще принципиально можно реализовать только на Asm?
в общем то нет... все что нельзя сделать не на асме, то делается ассемблерной вставкой (гцц/мингв в этом отношении гораздо более развитый, нежели студия, если че)... более того: гораздо удобнее писать... эмм... "на скриптах" (фраза в кавычках - копирайт Инде Клерка, если кто забыл)
Rel, +1. Все преимущества асма нивелируются его же недостатками, к примеру сложностью написания. Причём сложность именно что не синтаксическая, а самая что ни на есть алгоритмическая: приходится думать, как реализовать вещи, о которых в том же C обычно просто не задумываешься (из личного опыта): почему, например, одни и те же FLOAT`ы, переданные в gluPerspective и glMultMatrix, во втором случае отрабатывают как положено, а в первом — нет? Ответ оказался тривиален: gluPerspective принимает на вход вещественные не одинарной, а двойной точности. Поэтому соломоновым решением является написание основной массы кода и всяческих «обвязок» вокруг внешних библиотек на C, а критичных к ресурсам участков — на ассемблере.
> написание основной массы кода и всяческих «обвязок» вокруг внешних библиотек на C, а критичных к ресурсам участков — на ассемблере. И это тоже overkill.
У каждого языка можно найти столько же недостатков сколько и плюсов. У ассемблера самый большой минус это архитектурная зависимость, все остальное преодолеваемо. Зы.: ГЦЦ рулид (=
Я имею в виду преимущества ассемблера при написании специфического кода(мета/полиморфиз,обфускация) - как,например,на С заюзать регистры(ebx,ecx) при выходе из API...На х64 студия не поддерживает ассемблерные вставки...
AlexCasual Умеет умеет делать вставки... а вот например асм не умеет генерить шаблоны ... меняя тип меняются инструкции... но проблема требуется рекомпилинг ... Хотя можно TinyC юзать и будет удовольствие.