QEMU -d asm_in
i -d asm_out
opcje są przydatne do badania dynamicznie generowanego asmu utworzonego przez QEMU.
Niestety (dla mnie) domyślnie jest to składnia AT & amp; T. Czy istnieje opcja wyjścia w składni Intela?
Nie, QEMU nie udostępnia opcji konfiguracji do wyboru składni demontażu. (Używamy źródeł disassemblera binutils, więc kod do wypisywania składni Intela zamiast AT i T jest tam, ale nie podłączamy go do czegoś, co użytkownik może zmienić).
Dzięki Odpowiedź Petera Maydella wiemy, że deasembler QEMU jest oparty na binutils. Ale deasembler binutils faktycznie obsługuje składnię Intela, musimy tylko wiedzieć, co zmienić, aby go aktywować. Jeśli chcesz przekompilować QEMU, oto łatka, która wymusi bezwarunkową składnię Intela:
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);
}
in_asm
iout_asm
są teraz poprawne, nie wiem jak przetestować monitor QEMu).