Всем привет, я новичок на асм, знаю нормально x86 инструкции и поверхностно MMX,SSE. Посоветуйте пожалуста интересные практические задачи которые можно выполнить на асм(желательно с использованием MMX,SSE), самую хорошую идею отмечу решением
Если ты новичек - начни с простого. Когда я учился в универе - у меня был просто интерес написать
графическую библиотеку для SVGA/VGA режимов графики. На дворе стояли 90-е и тогда не было
никаких ускорителей и видяшки назывались S3/Trident. Вобщем сильно много я не написал.
Было просто рисование цветных трапеций на экране. И это чудовищно непроизводительно для
процесса разработки. Любой С++ ник заткнет тебя за пояс по скорости выкатки новых фич.
А качество кода на выходе у gcc вполне себе хорошее чтобы не найти вообще кейсов где
человек может лучше написать. Вообще в чем заключается оптимизация на асме? Держать
в голове карту регистров и помнить какой из них под чего использован. Еще неплохо-бы
помнить что у тебя в кешах лежит.
Что еще из простого. Попробуй реши квадратное уравнение на FPU и на SSE. Это разные
техно-стеки и будет познавательно сравнить какой способ лучше или удобнее.
FPU - это легаси но он еще поддерживается в железе. Я тоже хотел когда-то написать но бросил
в силу своей нетерпеливости. Мне было интересно понять насколько FPU близок к языку Forth.
По топику выше пишут интересные советы по брутфорсу но это задача на уровне алгоритмизации
сложная и я-бы на твоем месте все таки начал с квадратных уравнений. Заодно освоишь работу с вводом
выводом текста.
Вобщем брутфорсы и умноженя матриц это очень круто но ту просто попробуй это ПРАВИЛЬНО решить
на языке высокого уровня и проникнись с сложностью решения. И я думаю на этом этапе ты устанешь
и не пойдешь дальше. Вообще ассемблер - это язык очень узкого применения и какие-то языковые
фичи (ООП) в ассемблере уж точно не нужны. Ну по крайней мере они там не имеют какого-то явного
преимущества.