1
0
Fork 0
mirror of https://github.com/tldr-pages/tldr.git synced 2025-04-22 20:02:09 +02:00
tldr/pages/common/llvm-mc.md
2024-12-31 05:52:59 +01:00

25 lines
888 B
Markdown

# llvm-mc
> LLVM Machine Code Playground. It provides a set of tools for working with LLVM machine code.
> Part of LLVM.
> More information: <https://llvm.org/docs/CommandGuide/llvm-mc.html>.
- Assemble assembly code file into object file with machine code:
`llvm-mc --filetype=obj -o {{path/to/output.o}} {{path/to/input.s}}`
- Disassemble object file with machine code into assembly code file:
`llvm-mc --disassemble -o {{path/to/output.s}} {{path/to/input.o}}`
- Compile LLVM bit code file into assembly code:
`llvm-mc -o {{path/to/output.s}} {{path/to/input.bc}}`
- Assemble assembly code from standard input stream and show encoding to standard output stream:
`echo "{{addl %eax, %ebx}}" | llvm-mc -show-encoding -show-inst`
- Disassemble machine code from standard input stream for specified triple:
`echo "{{0xCD 0x21}}" | llvm-mc --disassemble -triple={{target_name}}`