Fundamentals of NASM x86 Assembly Programming

Fundamentals of NASM x86 Assembly Programming


x86 is one of the foundational programming languages. Many different flavours and versions of x86 exist, including the version featured in this course, known as NASM.  The Intel chipset is one of the most common chipsets, making it a great choice for learning assembly programming. By understanding an assembly language, programmers can have a better understanding of how code is compiled and run, making it possible to create more efficient programs. In addition to this, programmers can work at a lower level, allowing them to write code that interacts with hardware in an efficient manner.

In this course, you will learn:

  • How to setup NASM for x86 assembly on Linux
  • How to interact with an x86 processor through register and stack memory
  • How to interact with various memory types
  • How to conduct basic arithmetic and logical instructions
  • How to create branching logic
  • How to create basic loop structures
  • How to call standard C and user defined C functions
  • How to run system calls through Linux

By the end of this course, you will have a fundamental understanding of the x86 processor with NASM, as well as assembly programming in general. You will be able to write basic x86 assembly programs, using various instructions available in the processor. You will also have the understanding required to further expand your knowledge, allowing you to become an expert in the area of assembly programming. You should consider this course if you are interested in learning about assembly programming, or x86 assembly!

Who this course is for:

  • Programmers looking to understand the fundamentals of assembly
  • Programmers looking to learn x86 assembly with NASM


  • A basic knowledge of programming in any language is recommened
  • A knowledge of binary and hexidecimal numbers is beneficial

Last Updated 7/2023

Download Links

Direct Download

Fundamentals of NASM x86 Assembly (878.9 MB) | Mirror

Leave a Reply

Your email address will not be published. Required fields are marked *