>
На Хабре да и в Интернете в целом есть довольно много информации про использование языков ассемблера для всевозможных архитектур. Пролистав доступные материалы, я обнаружил, что чаще всего освещаемые в них области использования ассемблера и родственных технологий следующие:
1. Встраиваемые (embedded) системы.
2. Декомпиляция, обратная разработка (reverse engineering), компьютерная безопасность.
3. Высокопроизводительные вычисления (HPC) и оптимизация программ.
И конечно же, в каждой из этих областей существуют специфические требования, а значит свои понятия об инструментах и «свой» ассемблер. Эмбедщики смотрят в код через редактор и дебаггер, реверс-инженеры видят его в декомпиляторах вроде IDA и radare2 и отладчиках ICE, а HPC-спецы — через профилировщики, такие как Intel® VTune™ Amplifier, `xperf` или `perf`. И захотелось мне рассказать об ещё одной области программирования, в которой ассемблеры частые спутники. А именно — об их роли при разработке программных моделей вычислительных систем, в простонародье именуемых симуляторами. [Читать дальше →][2]
[1]:
https://golang.org/doc/asm
[2]:
http://habrahabr.ru/post/254419/#habracut