java - Hotspot7 hsdis PrintAssembly 英特尔语法

标签 java assembly jvm-hotspot

每次我在 Hotspot 中使用 -XX:+PrintAssembly 时都让我很烦,而且不得不阅读可怕的 AT&T 语法。

有没有办法告诉它使用 Intel 语法?

最佳答案

您只需将一些选项解析到 dis-asm.h 和 binutils 代码中

对于 intel Asm(我也更喜欢)只需添加以下内容

-XX:PrintAssemblyOptions=intel

如果您需要组合选项,请像这样使用逗号

-XX:PrintAssemblyOptions=intel,hsdis-help

任何不被识别为 hsdis 选项的东西都将被提供给反汇编器,这些选项与您在

中看到的列表相同
objdump --help

... <SNIP A lot of --help text %<> ...
The following i386/x86-64 specific disassembler options are supported for use
with the -M switch (multiple options should be separated by commas):
  x86-64      Disassemble in 64bit mode
  i386        Disassemble in 32bit mode
  i8086       Disassemble in 16bit mode
  att         Display instruction in AT&T syntax
  intel       Display instruction in Intel syntax
  att-mnemonic
              Display instruction in AT&T mnemonic
  intel-mnemonic
              Display instruction in Intel mnemonic
  addr64      Assume 64bit address size
  addr32      Assume 32bit address size
  addr16      Assume 16bit address size
  data32      Assume 32bit data size
  data16      Assume 16bit data size
  suffix      Always display instruction suffix in AT&T syntax
Report bugs to <http://www.sourceware.org/bugzilla/>.

关于java - Hotspot7 hsdis PrintAssembly 英特尔语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9337670/

相关文章:

java - Java 中的按位与 (&) 表达式

java - Java中盒装原语的存储成本是多少?

java - 使用递归的迷宫求解器

java - 解析 Eclipse 中的文件路径 - 'File not found' 错误

visual-studio - 运行 "armasm.exe"失败 : "The application was unable to start correctly (0xc000007b)

assembly - 关于 NASM 列表文件中的括号

assembly x86 四元数到欧拉角输出顺序错误

java - 在 Java8 Date API 中将持续时间转换为年?

java - Java 中移位到第 64 位

java - JVM什么时候考虑代码进行字节码优化?