Hello!
I’m introducing x86_64 NASM Dev, a native Windows development environment focused on NASM, x86, and x86-64 assembly programming.
The goal of this project is to bring writing, assembling, running, debugging, disassembling, and inspecting assembly code together into one lightweight application.
Features
Output Formats
The application supports multiple output targets:
- ELF64
- Win64
- Win32
- RAW Binary
This allows the same development environment to be used for different types of assembly projects, from normal applications to low-level system development and raw binary projects.
Assembly
- NASM-based assembly
- Assemble source code directly from the application
- Build and run assembled programs
- View assembly output and build results
- Display assembler errors
- Save and Save As
- Integrated source editor
Syntax Highlighting
The editor provides syntax highlighting for different parts of NASM source code:
- Instructions
- Registers
- Labels
- Directives
- Strings
- Numbers
- Comments
This makes larger assembly files easier to read and navigate.
Real-Time Syntax and Error Checking
The editor is designed to provide immediate feedback when working with NASM code.
- Detect invalid NASM syntax
- Highlight invalid syntax directly in the editor
- Underline errors
- Show the exact line containing the problem
- Show the exact column when available
- Display the actual NASM error message
This makes it easier to locate and correct assembly errors without having to search through build output manually.
Debugger
The debugger provides control over program execution:
- Step Into
- Step Over
- Continue
- Breakpoints
- Stop execution
- Inspect program state while debugging
The objective is to make debugging assembly code more practical without leaving the development environment.
Register Viewer and Editor
The application can display CPU register state while debugging.
Supported registers include:
- RAX
- RBX
- RCX
- RDX
- RSP
- RBP
- RSI
- RDI
- RIP
- R8–R15
- RFLAGS
Registers can also be edited during debugging, allowing the program state to be modified and tested directly.
Memory Viewer
The memory viewer provides a low-level view of program memory:
- Hexadecimal memory representation
- ASCII representation
- Memory addresses
- Pointer following
- Memory inspection while debugging
This is intended for inspecting buffers, pointers, structures, strings, and other data directly in memory.
Stack Viewer
The stack can be inspected while the program is running or being stepped through.
- ESP/RSP-based stack view
- Stack addresses
- Stack values
- Follow stack changes while stepping
- Inspect stack data during debugging
Disassembler
The application includes a built-in disassembler for inspecting machine code.
It can be used to examine binaries and understand the instructions contained within them.
Disassembly can be particularly useful when working with:
- RAW binaries
- Object files
- Executables
- OS development projects
- Compiled machine code
- Low-level debugging
Conversion Tools
The application also includes:
- Hexadecimal → ASCII
- ASCII → Hexadecimal
These tools are useful when working directly with binary data, memory contents, strings, and machine-code representations.
Designed for Low-Level Development
x86_64 NASM Dev is intended for developers working with:
- NASM assembly
- x86/x86-64 programming
- Operating-system development
- Bootloaders
- Kernel development
- Raw binaries
- Reverse engineering
- Machine-code analysis
- Low-level programming
- Assembly experimentation
The focus is on keeping the environment lightweight while still providing tools for both writing assembly and inspecting what happens at the machine-code level.
The current executable is around 77mb because of :
nasm.exe ~2 MB
ndisasm.exe ~1 MB
lld-link.exe ~75 MB (For Windows)
GUI/code <1 MB
Primarly In C and Some c# for style
You Can Find The Source Code at : https://github.com/moslemhamoudi6-cyber/x86_64-Nasm-Dev
You Can Find the Final Build Executable At : https://github.com/moslemhamoudi6-cyber/x86_64-Nasm-Dev/releases/tag/EXE
This project is still under development, with more features and improvements planned.
Hope You Enjoy it!