Developer resume generator

A high quality resume in 5 minutes - automatically generated from your gitconnected profile

Assembly Language Adventures

Assembly Language Adventures: Complete Course
(833 reviews) | 7,418 developers enrolled

Assembly Language Adventures: Complete Course

Created by xor pd

Last updated on 02/2018

Learn the language of your computer

Learn Assembly Language 

The x86 Adventures series teaches you your computer's  language - x86 Assembly language, from scratch. No prior knowledge is assumed

[Complete Course] 

This is the full collection of x86 Assembly Adventures. It covers everything from the real basics to being an independent (and tough) x86 Assembly programmer. 

Main 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 from 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. (Or at least verify that  you know how to do them, if you are more experienced). 

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 XP. (This means it will work 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. 

Review the Tutorial