@MrakLula

Что можно написать новичку на асм?

Всем привет, я новичок на асм, знаю нормально x86 инструкции и поверхностно MMX,SSE. Посоветуйте пожалуста интересные практические задачи которые можно выполнить на асм(желательно с использованием MMX,SSE), самую хорошую идею отмечу решением
  • Вопрос задан
  • 195 просмотров
Пригласить эксперта
Ответы на вопрос 3
freeExec
@freeExec
Участник OpenStreetMap
Ну напиши брутфорс SHA, больше на асме полезного нечего делать.
Ответ написан
Комментировать
dollar
@dollar
Делай добро и бросай его в воду.
  1. Напиши алгоритм сортировки, который использует SSE для ускорения.
  2. Используй SSE для оптимизации операции умножения матриц. Потом можно будет сравнить с реализацией на С.
  3. Реализуй алгоритм для отрисовки фракталов (например, множества Мандельброта) с использованием SSE.
  4. Создай простой редактор изображений, где можно менять яркость, контраст и юзать фильтры (размытие, резкость) с использованием MMX и SSE.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Если ты новичек - начни с простого. Когда я учился в универе - у меня был просто интерес написать
графическую библиотеку для SVGA/VGA режимов графики. На дворе стояли 90-е и тогда не было
никаких ускорителей и видяшки назывались S3/Trident. Вобщем сильно много я не написал.
Было просто рисование цветных трапеций на экране. И это чудовищно непроизводительно для
процесса разработки. Любой С++ ник заткнет тебя за пояс по скорости выкатки новых фич.
А качество кода на выходе у gcc вполне себе хорошее чтобы не найти вообще кейсов где
человек может лучше написать. Вообще в чем заключается оптимизация на асме? Держать
в голове карту регистров и помнить какой из них под чего использован. Еще неплохо-бы
помнить что у тебя в кешах лежит.

Что еще из простого. Попробуй реши квадратное уравнение на FPU и на SSE. Это разные
техно-стеки и будет познавательно сравнить какой способ лучше или удобнее.
FPU - это легаси но он еще поддерживается в железе. Я тоже хотел когда-то написать но бросил
в силу своей нетерпеливости. Мне было интересно понять насколько FPU близок к языку Forth.

По топику выше пишут интересные советы по брутфорсу но это задача на уровне алгоритмизации
сложная и я-бы на твоем месте все таки начал с квадратных уравнений. Заодно освоишь работу с вводом
выводом текста.

Вобщем брутфорсы и умноженя матриц это очень круто но ту просто попробуй это ПРАВИЛЬНО решить
на языке высокого уровня и проникнись с сложностью решения. И я думаю на этом этапе ты устанешь
и не пойдешь дальше. Вообще ассемблер - это язык очень узкого применения и какие-то языковые
фичи (ООП) в ассемблере уж точно не нужны. Ну по крайней мере они там не имеют какого-то явного
преимущества.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы