У меня есть набор файлов .s от ARM, которые работают в цепочке инструментов ARM, но мы используем цепочку инструментов gnu.
Есть ли скрипт/инструмент/метод преобразования, который преобразует сборку из одного формата в другой? Делать это вручную кажется... опасным.
Ответ 1 · рейтинг 1 · unixsmurf
Я не уверен, что скрипт/инструмент будет менее опасным, чем делать это вручную.
Сколько усилий потребуется для преобразования кода, в значительной степени зависит от того, сколько неосновных функций (макросов, именованных регистров...) используется в коде.
Синтаксис инструкций обычно не отличается (хотя некоторые непосредственные модификаторы могут быть разрешены в одном формате, но не разрешены в другом). Синтаксис комментария отличается, но ';' -> '@' должен быть достаточно безопасным поиском и заменой.
Отличия большей части кода заключаются в метках (что требует ':' после имени метки, а в armasm нет), но, что более важно, в директивах ассемблера.