Skip to content

Full course on learning x64 assembly. Intended for system programmers, OS developers and reverse engineers

License

Notifications You must be signed in to change notification settings

ViktorPopp/LearnAssembly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Full x64 Assembly Course

In this comprehensive tutorial, you will learn the fundamentals of writing 64-bit assembly language, an essential skill for understanding low-level programming and computer architecture. While the primary focus is on 64-bit assembly, much of the knowledge and techniques discussed here can also be applied to 32-bit systems, making this tutorial versatile for various use cases.

This tutorial is specifically tailored for Linux-based environments, ensuring you gain hands-on experience with tools and practices common to this platform. However, if you are using Windows, you can follow along by setting up a Linux-like environment through WSL (Windows Subsystem for Linux) or Cygwin.

To get the most out of this tutorial, you should already have a basic understanding of a compiled programming language such as C, C++, or Rust. These languages will provide a foundation for grasping the concepts and syntax of assembly language, as they share many underlying principles. By the end of this tutorial, you will have a solid understanding of 64-bit assembly and be able to apply it effectively in your projects.

Chapters

  1. Installation
  2. The exit system call
  3. Hello world
  4. Calling from C
  5. Registers
  6. Machine code ❌
  7. Basic Arithmetic ❌
  8. Labels and Unconditional Jumps ❌
  9. Flags, Comparisons and Conditional Jumps ❌
  10. Logical and Bitwise Operations ❌
  11. Data Types, Memory Addressing and the .data Section ❌
  12. The Stack ❌
  13. The call instruction ❌
  14. Calling External Functions ❌
  15. Using the Heap ❌
  16. Special mov instructions ❌
  17. Arithmetics part 2 ❌
  18. Manipulating Strings ❌
  19. Floating point arithmetic ❌
  20. NASM local labels ❌

About

Full course on learning x64 assembly. Intended for system programmers, OS developers and reverse engineers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published