Там какая-либо инструкция ARM к i386 доступному Преобразователю инструкции?
Вы можете использовать QEMU для эмуляции инструкций ARM на x86.
я очень сомневаюсь. слишком много различий, чтобы сделать это автоматическим.
Вы можете перепроектировать код ARM на C, а затем просто скомпилировать код C. Эта компания на самом деле производит довольно хороший код C-кода из ассемблера. (Я никогда не использовал их продукт, но я знаком с исследованиями, стоящими за этой компанией).
Это в значительной степени бета-версия, но идея состоит в том, чтобы написать интерфейс llvm для двоичных файлов, чтобы серверная часть llvm могла затем сгенерируйте код для любой поддерживаемой платформы. Интерфейс ARMv6 находится в стадии активной разработки, и я уверен, что они хотели бы помочь с этим. Цель состоит в том, чтобы поддерживать как эмуляцию, так и статическую перекомпиляцию между любой из поддерживаемых архитектур.
Эмуляция или статическая двоичная трансляция - это пути, которыми я бы пошел, у каждого из них есть свои плюсы и минусы.
Вам нужно более четко сформулировать, о чем вы спрашиваете. Простое преобразование одного набора инструкций в другой - это одно, а сложнее сделать результат полезным - это то, к чему вы обращаетесь. Ваша память ARM и пространство регистров не будут соответствовать X86, поэтому прямой инструкции к инструкции (эмулированной или sbt) будет недостаточно, вам нужно добавить код для замены многих загрузок и сохранений чем-то, что проверяет адрес, определяет, что он был адресован и имитировал это периферийное устройство (эмулированный или SBT).