2013-03-20 53 views
2

我知道在haskell的ghc中有一个-S标志, 它生成一个.s文件,它是一个汇编文件。如何从gk的haskell生成英特尔汇编语法?

我想知道GHC是否可以用英特尔语法生成汇编文件? 谢谢你!

+0

哪个后端您使用的? – harold 2013-03-20 17:16:47

+0

我正在使用Windows 8. – Znatz 2013-03-21 01:21:56

+0

后端,而不是操作系统:-fasm,-fllvm,别的东西..如果你至少使用-fllvm,你可以通过传递--x86-asm来切换到Intel语法-syntax = intel to llvm。 – harold 2013-03-21 09:44:54

回答

3

如果它基于GCC,它可能支持-masm=intel标志。见How do you use gcc to generate assembly code in Intel syntax?

一个不太好的选择是在编译的文件中使用objdump

objdump -d --disassembler-options=intel file.o

+4

'ghc:无法识别的标志:-masm = intel',GHC不会说intel,所以看起来'objdump'(或另一个反汇编程序)是唯一的方法。 – 2013-03-20 17:21:44

+0

或者,似乎有一些工具可以在不同的汇编格式之间进行转换。你可能会有一些运气。 – hammar 2013-03-20 22:39:14