O QEMU pode ser feito para produzir seu assembly na sintaxe da Intel?

4

As opções -d asm_in e -d asm_out do QEMU são úteis para examinar o asm gerado dinamicamente pelo QEMU.

Infelizmente (para mim), o padrão é a sintaxe AT & T. Existe uma opção para saída na sintaxe da Intel?

    
por BeeOnRope 22.07.2017 / 22:13

2 respostas

3

Não, o QEMU não fornece uma opção de configuração para escolher a sintaxe de desmontagem. (Usamos as fontes binutils disassembler, portanto, o código para a saída da sintaxe da Intel, em vez de AT & T, está todo lá, mas não ligamos isso a algo que o usuário pode alterar.)

    
por 08.08.2017 / 18:10
1

Graças à resposta de Peter Maydell , sabemos que o desmontador do QEMU é baseado em binutils. Mas o desassemblador binutils realmente suporta a sintaxe da Intel, só precisamos saber o que alterar para ativá-lo. Se você estiver disposto a recompilar o QEMU, aqui está um patch que forçará a sintaxe da Intel incondicionalmente:

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);
 }
    
por 14.08.2017 / 17:26

Tags