Преобразуйте инструкцию ARM в i386 инструкцию

Там какая-либо инструкция ARM к i386 доступному Преобразователю инструкции?

8
задан skaffman 3 June 2010 в 07:43
поделиться

5 ответов

Вы можете использовать QEMU для эмуляции инструкций ARM на x86.

11
ответ дан 5 December 2019 в 12:08
поделиться

я очень сомневаюсь. слишком много различий, чтобы сделать это автоматическим.

0
ответ дан 5 December 2019 в 12:08
поделиться

Вы можете перепроектировать код ARM на C, а затем просто скомпилировать код C. Эта компания на самом деле производит довольно хороший код C-кода из ассемблера. (Я никогда не использовал их продукт, но я знаком с исследованиями, стоящими за этой компанией).

2
ответ дан 5 December 2019 в 12:08
поделиться

http://www.libcpu.org/

Это в значительной степени бета-версия, но идея состоит в том, чтобы написать интерфейс llvm для двоичных файлов, чтобы серверная часть llvm могла затем сгенерируйте код для любой поддерживаемой платформы. Интерфейс ARMv6 находится в стадии активной разработки, и я уверен, что они хотели бы помочь с этим. Цель состоит в том, чтобы поддерживать как эмуляцию, так и статическую перекомпиляцию между любой из поддерживаемых архитектур.

0
ответ дан 5 December 2019 в 12:08
поделиться

Эмуляция или статическая двоичная трансляция - это пути, которыми я бы пошел, у каждого из них есть свои плюсы и минусы.

Вам нужно более четко сформулировать, о чем вы спрашиваете. Простое преобразование одного набора инструкций в другой - это одно, а сложнее сделать результат полезным - это то, к чему вы обращаетесь. Ваша память ARM и пространство регистров не будут соответствовать X86, поэтому прямой инструкции к инструкции (эмулированной или sbt) будет недостаточно, вам нужно добавить код для замены многих загрузок и сохранений чем-то, что проверяет адрес, определяет, что он был адресован и имитировал это периферийное устройство (эмулированный или SBT).

1
ответ дан 5 December 2019 в 12:08
поделиться
Другие вопросы по тегам:

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