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