Задать вопрос

Универсальная IDE?

Существует ли в природе простенькая IDE (под Windows), чтобы можно было в ней работать с произвольным ассемблером?

Указываем в конфигурации мнемонику и опкоды команд и прочее необходимое, пишем текст программы, жмем кнопку, получаем скомпилированный код. Типа IDA, только наоборот :)

Есть безумное желание поработать со случайно попавшимися древними и не очень мелкоконтроллерами, про часть из которых производители и сами наверняка забыли. Есть даташиты с описанием команд, но делать свой ассемблер под каждый чрезвычайно трудная задача, программировать на бумажке тоже та еще забава.
  • Вопрос задан
  • 5417 просмотров
Подписаться 5 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 5
AterCattus
@AterCattus
Люблю быстрый backend
Может быть RadASM? У него под разные ассемблеры (и более высокоуровневые ЯП) свои настройки. Соотвественно и свои добавить всегда можно.
Ответ написан
barker
@barker
Странно, конечно
делать свой ассемблер под каждый чрезвычайно трудная задача
а вы хотите то же самое, только ещё гибче — фактически генерация ассемблера по указанным опкодам мнемоник? По-моему в общем случае это не очень-то простая задача, т.к. помимо мнемоник на опкоды влияют часто и типы операндов и прочее и прочее.
Ответ написан
@gribozavr
Можно автоматизировать процесс только для очень общих и часто повторяющихся вещей, но у каждой конкретной ISA всегда свои заморочки. Вот посмотрите в LLVM: довольно большая часть ассемблеров/дизассемблеров генерируется автоматически, но всё равно рядом всегда есть код на C++ для обоработки команд, не попадающих под стандартные случаи.

И да, «генерируется автоматически» — из описания на специальном языке, которое для большой ISA тоже будет большое.

Так что чуда не будет.

llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrInfo.td?revision=168886&view=markup

Вот например (часть) описания команд ARM. Всего-то 200 Кб, и это на специально созданном для этого языке.
Ответ написан
Комментировать
Methos
@Methos
try HLA
Ответ написан
Комментировать
@Centronix
Попрoбуй SASM.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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