Pregunta sobre linux, objdump, x86-64, assembly – ¿Cómo puede objdump emitir la sintaxis de Intel?

52

Cómo puedo decirobjdump ¿Para emitir ensamblaje en Sintaxis Intel en lugar de la sintaxis predeterminada de AT&T?

Tu respuesta

2   la respuesta
6

Si también desea los códigos mnemónicos de Intel (en lugar de los códigos mnemónicos de AT&T), puede utilizar:

objdump -M intel intel-mnemonic -D <program's-object-file>

Correcto. Lo pasé por alto completamente por el interés de ser más explícito. ¡Gracias! shigoel
Actualmente,-M intel Ya se encarga de eso. Intenta desmontar la secuencia.0f b7 c3 - con-M intel esto te darámovzx eax,bx, mientras que sin él, objdump vuelve a AT&T por defecto y obtienesmovzwl %bx,%eax. Daniel Kamil Kozar
De leer el manual,-M intel-mnemonic implica intel, no de la otra manera. Aunque todavía no sé las diferencias entre los dos. yo siobjdump -M intel -d file > intel, objdump -M intel-mnemonic -d file > intel-mnemonic, entoncesdiff intel intel-mnemonic Y no hubo diferencias. Incluso lo intenté con-D en lugar de-d por si acaso hubiera diferencias en las otras secciones. RastaJedi
94

Lo que estás buscando es-M intel. Úsalo de la siguiente manera.

<code>objdump -M intel -d program_name
</code>
En OS X, resulta que / usr / bin / objdump en realidad no puede ser objdump en absoluto, sino en realidad llvm-objdump. Puedes usar objdump --help, pero en realidad no te dice acerca de la opción que te da una salida de estilo Intel, que parece ser-x86-asm-syntax=intel . Suspiro. John Clements

Preguntas relacionadas