NASM fundamentals
What is NASM?
NASM, the Netwide Assembler, is an assembler used to translate human-readable assembly language into machine code. It is widely used for x86 and x86-64 programming and is particularly useful for understanding how software interacts with processors at a low level.
Assembly language sits much closer to the processor than languages such as Python, Java, or C. Instead of expressing a task through high-level abstractions, assembly exposes operations such as moving values between registers, performing arithmetic, comparing values, accessing memory, manipulating the stack, and transferring control between instructions.
NASM provides a clear and widely used syntax for writing this type of code. It is especially valuable for students and developers studying computer architecture, operating systems, cybersecurity, reverse engineering, compiler concepts, and low-level software development.
This page serves as the main NASM guide in the ProjectAssignments technology library. The supporting pages below go deeper into specific parts of x86-64 assembly.
