Assembly Language Adventures
Learn Assembly Language
The Assembly Language Adventures video course teaches you your computer's language - x86 assembly language, from scratch. No prior knowledge is assumed.
This course covers everything from the real basics to being an independent (and tough) x86 Assembly programmer.
Free preview on YouTube for the first chapter
Topics covered
- The Binary System
- The x86 Architecture
- Intro to Flat Assembler
- Branching
- Signed and Bitwise Operations
- Memory
- Strings
- Subroutines and the Stack
- Reading the Manuals
- Debugging
- Dealing with Windows API
Why learn x86 Assembly Language?
- You are the kind of person who really likes to know how things work. In this course you are going to get solid understanding on how computer programs work from the inside.
- Become a better programmer - Knowing how things work down there will help you take better decisions, even as a high level programmer. If you were always wondering what is the stack, or what are those pointers everyone talks about, you came to the right place.
- Write faster code - When you really want to get the most of your processor, writing in raw Assembly is needed. We are not going to talk about optimizations in this course, however you will get a solid foundations so that you can continue exploring on your own.
- You want to become a Reverse Engineer or a security researcher, read the code of viruses or look for software vulnerabilities. As most of the time the original source code will not be available to you, solid understanding of x86 Assembly Language is mandatory.
Course structure
The course is made of video lectures. A lecture could be from a presentation, or a real world example, showing me doing stuff at the computer. Almost every video lecture is accompanied by some kind of exercise. The exercises are open source, and you can get them on github.
It is crucial that you complete the exercises. You will learn a lot from the lectures, but it is pretty much a waste of your time and money if you don't do the exercises.
Course tech stack
No prior knowledge is assumed for this course, but I do assume some things regarding your system, so make sure that everything here describes you:
- You are using a Windows operation system. (The course videos use Windows 7). It is recommended to use at least Windows 7. (The course works perfectly on Windows 7 and Windows 10).
- You have an x86 processor. We study 32 bit x86, but this course will also work on 64 bit processors.
For the tech savvy, some more details about the tools we are going to use in this course:
- Assembly flavor: x86 32 bits protected mode.
- Assembler: The Flat Assembler (FASM)
- Debugger: WinDbg
Using Linux? Most of the exercises were ported to Linux however the videos show me using windows 7. Please contact me if you are not sure.
Contact
You can contact me by email at: xorpd@xorpd.net
More info can be found on my website at: https://www.xorpd.net
29+ hours of Assembly Programming!