Skip to content

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 and OS developers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published