4

Опции QEMU -d asm_in и -d asm_out полезны для проверки динамически генерируемого asm, созданного QEMU.

К сожалению (для меня) по умолчанию используется синтаксис AT & T. Есть ли возможность вывода в синтаксис Intel?

2 ответа2

3

Нет, QEMU не предоставляет опцию конфигурации для выбора синтаксиса разборки. (Мы используем источники дизассемблера binutils, поэтому весь код для вывода синтаксиса Intel, а не AT & T, есть, но мы не связываем его с тем, что пользователь может изменить.)

1

Благодаря ответу Питера Мэйделла мы знаем, что дизассемблер QEMU основан на binutils. Но дизассемблер binutils на самом деле поддерживает синтаксис Intel, нам просто нужно знать, что нужно изменить, чтобы активировать его. Если вы хотите перекомпилировать QEMU, вот патч, который принудительно заставит синтаксис Intel:

diff --git a/disas/i386.c b/disas/i386.c
index f1e376c..4493115 100644
--- a/disas/i386.c
+++ b/disas/i386.c
@@ -3682,7 +3682,7 @@ static char scale_char;
 int
 print_insn_i386 (bfd_vma pc, disassemble_info *info)
 {
-  intel_syntax = -1;
+  intel_syntax = 1;

   return print_insn (pc, info);
 }

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .