Я рекомендую взглянуть на использование Python для написания дизассемблера. Он обладает характеристиками и возможностями, которые могут быть очень полезны при написании дизассемблера.
- битовые манипуляции : логические операторы выполняют операции со всеми битами целочисленного значения
- функциональное программирование : использование 'map' по результатам операций с битовой маской может быть полезным
- мощные операции чтения файлов: ввод / вывод файлов так просто сделать в Python
- хорошие возможности для чтения структурированных двоичных файлов (например, .EXE-файлов)
Python обладает другими качествами, которые делают его очень полезным для программы любого размера. Ассемблер x86, который поддерживает текущий набор команд микропроцессоров, в отличие от исходного набора команд 8086, будет большой программой.
Наличие языка, облегчающего выполнение маскирования битов очень полезно при написании ассемблера.
- объектно-ориентированный: упрощает повторное использование кода и делает программы более понятными, менее избыточными
- модульные: модули и даже пакеты могут использоваться, чтобы сохранить куски программы до приемлемого размера
- лаконично и читабельно: так много печатания или царапин на голове
- интерактивный: упрощает разработку / тестирование постепенно
- встроенный символьный отладчик: удобно, когда автоматические тесты его не обрезают
- современная поддержка QA: unittest аналогично JUnit, doctest поддерживает функциональные тесты на примере
- встроенная справка: вам не нужно листать книгу или запускать браузер
- потрясающая документация: справочные и учебные материалы в форматах PDF и HTML
- хорошая поддержка IDE: Eclipse, NetBeans, Emacs и т. Д. Все обеспечивают отличную поддержку Python
- хорошая поддержка для обслуживания веб-страниц: включает поддержку HTML / HTTP и отличных сторонних веб-фреймворков
- отличная генерация документации: используйте соглашение о строке документа для документирования модулей, классов и методов, а утилита, поставляемая с Python, динамически генерирует HTML-документацию с гиперссылками и предоставляет ее для просмотра через порт TCP / IP
Python дает вам возможность повеселиться с вашей программой по мере ее разработки. Существует довольно большое сообщество программистов на Python. Они не легионы, как программисты на Java, и программисты на C ++ раньше, но их много.
Python является популярным языком программирования в Google, Yahoo и других современных веб-компаниях благодаря своей мощности и гибкости. Интерпретатор Jython python-in-java предоставляет еще больше возможностей обоим языкам, поскольку между ними существует высокая степень синергии и приличный уровень совместимости. Существует Jython-подкаст , который вы можете прослушать, если не любите читать.
Python был изобретен в начале 1990-х годов, что делает его даже старше, чем Java. Просуществовав так долго, имея сильных, устойчивых последователей, он превратился в очень крепкий, способный язык со множеством примеров и приличным сообществом программистов, которые используют его для работы и удовольствия.
Если вы застряли, сообщество Python, как правило, очень помогает с идеями о том, как можно решить проблему, возникающую при использовании одной или двух удобных функций Python.