Другие языки программирования и технологии

Есть кто пишет на ассемблере? что за проект или задача, приведите пример

Eugene Guzhakovski
Eugene Guzhakovski
1 387
В играх, самое простое:
- определение поддерживаемых процессором фич (cpuid) (SSE / MMX / ..) и вызов соотвествующих функций - SSE sin / cos / ...(стандартные реализации не есть гуд в плане производительности)
- высокопроизводительные операции с матрицами и кватернонами (может уже можно и на GPU, пока не слышал)
- высокоскоростной тайминг (rdtsc, есть нюансы)
- стандартные memcpy / memset как вы думаете сделаны для высокопроизводительных приложений?
- защита от отладчиков и reverse-engineering
- функционал с высокими требованиями к производительности - симуляция физического мира, слабого искусственного интеллекта и т. п.
С*
Сашка *****
3 437
Лучший ответ
На практике он в принципе не используется, потому что затратен во всех смыслах. Знать для большинства задач в бизнесе необходимости нет, но пригодиться может в первую очередь во взломах, если нужно переписать существующую программу, компилированную в машинный код.
Дамир Сафаров
Дамир Сафаров
99 677
Там просто передвигаешь, данные из одного регистра в другой. Например сложить два числа. Ебкс первый регистр Ебх второй. Берем первое число, с помощью комманды мувл двигаем его в Ебкс, второе число во второй регистр. Потом коммандой адд ебкс, ебх слаживаем числа и сумма оказывается в ебх.
Дмитрий Литвинов Во-первых, Ебкс - что это вообще за регистр такой? 1024-розрядный? Во-вторых, "адд ебкс, ебх" если уж понимать это как "add * !@#$ пойми какой регистр*,ebx" то сумма запишеться как раз таки в первый операнд.
Во-третьих на этих "простых" командах можно писать такие вредоностные ПО, и находить столько уязвимостей в высокоуровневых программах что вы даже представить не можете.
Вывод: не знаете - не позорьтесь и не обсирайте язык программирования, который вы "выучили" в доль и поперек за те 8 практик в ВУЗе.
Байел Ммм "слаживаем"? О_о
Не так давно сталкивался с таким!) Я пишу на php, он на ассемблере, а где такой язык вообще применяется?
Evgenii Evgenii В драйверах в ос
Меиржан Арапбаев Без ассемблера нельзя написать функции ввода-вывода.
Никакие реализации языков программирования высокого уровня не содержат кода ввода-вывода.
К компилятору всегда прилагаются библиотеки ввода-вывода
Всё, что касается самой эффективной работы с оборудованием (драйверов для железа), надо писать на ассемблере.
Реальная работа с байтами, битами, регистрами выполняется через непосредственное управление процессором, для этого ассемблер и создан.
Если не в игровой индустрии...
То именно на языках ассемблера находят и пишуться взломщики.
(Разумееться этому дело есть легальное название "Белое хакерство" - т. е. человека нанимают на поиск уязвимостей и их исправления.)
П. С. загляните в сегодняшние трейнеры к играм - все до последнего написаны на ассемблере. (это очень заметно, т. к. нестандартные окна обычно пишут именно на ассемблере)
Oleq Nikolayev
Oleq Nikolayev
8 395
Присоеденись к KolibriOS ))
Igor Paroff
Igor Paroff
1 829
Eugene Guzhakovski опять ты, мужичара

Похожие вопросы