Article · Wikipedia archive · Last revised Jul 19, 2026

List of assembly software and tools

This is a list of assembly software and tools, including software used for assembly language programming, machine code generation, disassembly, debugging, binary analysis, reverse engineering, and instruction-set simulation.

Last revised
Jul 19, 2026
Read time
≈ 5 min
Length
1,138 w
Citations
28
Source

This is a list of assembly software and tools, including software used for assembly language programming, machine code generation, disassembly, debugging, binary analysis, reverse engineering, and instruction-set simulation.

Assemblers and machine-code generators

Name Type Main scope Notes
GNU Assembler Assembler Multiple architectures The GNU assembler, commonly invoked as as, is part of GNU Binutils and is used with GNU toolchains.1
NASM Assembler and disassembler x86 and x86-64 NASM is an assembler for the Intel x86 architecture and supports multiple object-file formats.2
MASM Macro assembler x86 and x64 Microsoft's Macro Assembler includes a macro language and is documented as part of Microsoft's C++ build tools.3
FASM Assembler x86 and x86-64 Flat assembler is a multi-pass assembler for x86-family processors.4
Yasm Assembler x86 and AMD64 Yasm is a modular assembler that supports NASM and GAS syntax.5
High Level Assembler Mainframe assembler IBM z/OS, z/VM and z/VSE IBM High Level Assembler is used for assembler-language development on IBM mainframe operating systems.6
LLVM-MC Machine-code tool Multiple architectures supported by LLVM llvm-mc takes assembly code for a specified architecture as input and can generate object files or executables, encode instructions, and disassemble byte strings.7
Keystone Engine Assembler framework Multiple architectures Keystone is a lightweight multi-platform assembler framework with bindings for several programming languages.8

Disassemblers and binary-analysis tools

Name Type Main scope Notes
GNU objdump Object-file utility and disassembler Multiple object formats and architectures objdump can display information from object files and can be used for disassembly.9
LLVM-objdump Object-file utility and disassembler Multiple object formats and architectures llvm-objdump prints the contents of object files and linked images and includes disassembly options.10
DUMPBIN Object-file utility and disassembler COFF, PE and related Microsoft binary formats The Microsoft DUMPBIN /DISASM option displays disassembly of code sections in native files.11
Capstone Disassembly framework Multiple architectures Capstone is a lightweight multi-platform, multi-architecture disassembly framework used in binary analysis and reverse engineering.12
Ghidra Reverse-engineering suite Multiple architectures and executable formats Ghidra is a software reverse-engineering framework created and maintained by the National Security Agency Research Directorate.13
IDA Pro Disassembler, decompiler and debugger Multiple processor families IDA Pro is a commercial, multi-platform and multi-processor disassembler used for debugging and reverse engineering compiled programs.14
radare2 Reverse-engineering framework Multiple architectures and binary formats radare2 is a command-line reverse-engineering toolkit with libraries, tools and scripting interfaces.15
Binary Ninja Disassembler and binary-analysis tool Multiple architectures and binary formats Binary Ninja is a disassembler used for reverse-engineering tasks and binary analysis.16

Debuggers with assembly-level features

Name Type Main scope Notes
GDB Debugger Multiple architectures GDB can display machine instructions with its disassemble command and can map source lines to program addresses.17
LLDB Debugger Multiple architectures LLDB is a debugger in the LLVM project and uses LLVM components including the LLVM disassembler.18
OllyDbg Assembly-level debugger 32-bit Windows x86 programs OllyDbg is an assembler-level analyzing debugger for Microsoft Windows, with emphasis on binary code analysis.19
edb Graphical debugger AArch32, x86 and x86-64 edb is a cross-platform debugger inspired by OllyDbg.20

Educational IDEs, simulators and emulators

Name Type Main scope Notes
SPIM Simulator and debugger MIPS32 SPIM is a self-contained simulator that reads and executes MIPS32 assembly language programs.21
MARS Educational IDE and simulator MIPS MARS is a lightweight interactive development environment for programming in MIPS assembly language.22
RARS Assembler and runtime simulator RISC-V RARS assembles and simulates RISC-V assembly language programs and is intended for people getting started with RISC-V.23
emu8086 Emulator and assembler Intel 8086 emu8086 is an 8086 microprocessor emulator with an integrated assembler, often used for educational assembly-language programming.24

Portable and intermediate assembly-like languages

Name Type Main use Notes
WebAssembly Portable bytecode and text format Web and server-side applications A low-level, assembly-like compilation target designed for portable execution.25
LLVM IR Intermediate representation Compiler optimization and code generation The LLVM language reference describes LLVM IR as an SSA-based assembly language used throughout the LLVM compilation strategy.26
MLIR Multi-level intermediate representation Compiler infrastructure for heterogeneous hardware and domain-specific compilers An LLVM subproject for building reusable and extensible compiler infrastructure across multiple levels of abstraction.27
SPIR-V Binary intermediate language Graphics shaders and compute kernels A standardized intermediate form used by APIs such as Vulkan, OpenGL, and OpenCL.28

Assembly language families

Assembly language is not a single programming language, but a family of low-level languages associated with particular instruction set architectures and processor families.

Examples include:

See also

See also

References

References

  1. "Using as". sourceware.org. GNU Project. Retrieved May 10, 2026.
  2. "Documentation". NASM. Retrieved May 10, 2026.
  3. "Microsoft Macro Assembler reference". Microsoft Learn. October 15, 2024. Retrieved May 10, 2026.
  4. "flat assembler 1.73 Programmer's Manual". flatassembler.net. Retrieved May 10, 2026.
  5. "Yasm User Manual". tortall.net. Retrieved May 10, 2026.
  6. "High Level Assembler Toolkit". IBM Documentation. IBM. Retrieved May 10, 2026.
  7. "llvm-mc - LLVM Machine Code Playground". LLVM Documentation. Retrieved May 10, 2026.
  8. "Keystone Engine". GitHub. Retrieved May 10, 2026.
  9. "objdump". GNU Binary Utilities. GNU Project. Retrieved May 10, 2026.
  10. "llvm-objdump - LLVM's object file dumper". LLVM Documentation. Retrieved May 10, 2026.
  11. "/DISASM". Microsoft Learn. August 3, 2021. Retrieved May 10, 2026.
  12. "The Ultimate Disassembly Framework". Capstone. Retrieved May 10, 2026.
  13. "Ghidra is a software reverse engineering framework". GitHub. National Security Agency. Retrieved May 10, 2026.
  14. "The IDA Pro Book, 2nd Edition". No Starch Press. Retrieved May 12, 2026.
  15. "Toolchain". The Official Radare2 Book. Retrieved May 10, 2026.
  16. Borzacchiello, Luca; Coppa, Emilio; Demetrescu, Camil (2022). "SENinja: A symbolic execution plugin for Binary Ninja". SoftwareX. 20 101219. doi:10.1016/j.softx.2022.101219. hdl:11385/236289.
  17. "Source and Machine Code". Debugging with GDB. GNU Project. Retrieved May 10, 2026.
  18. "The LLDB Debugger". LLDB Documentation. Retrieved May 10, 2026.
  19. "OllyDbg v1.10". OllyDbg. Retrieved May 10, 2026.
  20. "edb-debugger". GitHub. Retrieved May 10, 2026.
  21. "SPIM MIPS Simulator". SourceForge. Retrieved May 10, 2026.
  22. "MARS MIPS Assembler and Runtime Simulator". Missouri State University. November 12, 2025. Retrieved May 10, 2026.
  23. "RARS -- RISC-V Assembler and Runtime Simulator". GitHub. Retrieved May 10, 2026.
  24. "Microprocessor Emulator". Internet Archive. November 8, 2004. Retrieved May 10, 2026.
  25. "WebAssembly". WebAssembly. Retrieved May 11, 2026.
  26. Chisnall, David (June 12, 2017). Modern Intermediate Representations (IR) (PDF). LLVM Summer School. Paris: LLVM. Retrieved May 12, 2026.
  27. "Multi-Level Intermediate Representation Overview". MLIR. Retrieved May 11, 2026.
  28. "SPIR-V Specification". Khronos Group. Retrieved May 11, 2026.
External links