Course Overview

Welcome to Assembly 101! This course will teach you how computers work down to the lowest level and how to write and read the human readable version of the 1s and 0s they speak in - Assembly. The course starts with an introduction on how computers perform computations using transistors, logic gates and machine code (1s and 0s), then moves on to writing your own assembly programs. Students will start writing x86-16 assembly in a beginner-friendly 8086 emulator to learn the fundamentals and then move on to writing modern x86-64 assembly. 


Key Topics Covered:

  • How computers work at a low level
  • Numbering systems: Decimal, Hex and Binary
  • Setting up an assembly development environment
  • x86 Registers, Flags and Pointers
  • x86 Instruction Set
  • Learning x86 fundamentals by writing x86-16 assembly programs
  • Writing modern x86-64 assembly
  • Explore memory safety and learn about writing shellcode and exploiting stack overflows.


Prerequisites

Programming 100: Fundamentals and Linux 100: Fundamentals, or equivalent knowledge!

Students should have a basic understanding and familiarity of programming with any high-level language.


System Requirements

Students will need a computer capable of running and x86-64 virtual machine. The first half of the course will use an emulator that can be run on most architectures, however the second half of the course will focus on x86-64 development without the use of an emulator. 

Assembly 101: Course Objectives

  • Understand how computers work at a low-level.
  • Learn the fundamentals of x86 assembly.
  • Read and write simple to medium complexity x86 assembly programs. 

computer programming

Who Should Take Assembly 101?

This course is geared towards complete beginners to assembly. While the course focuses on writing x86 assembly, the key takeaways for the course are an understanding of how computers work at a low level, what happens to higher level code once it is compiled and an understanding of what assembly code does. These takeaways serve as an excellent foundation for anyone looking to learn reverse engineering, malware analysis, binary exploitation, security research and even exploit development.

Assembly 101 Curriculum - 12+ Hours

  Course Intro
Available in days
days after you enroll
  Intro to Computer Engineering
Available in days
days after you enroll
  8086 Development Setup
Available in days
days after you enroll
  Registers, MOV and Interrupts
Available in days
days after you enroll
  Interacting With Memory
Available in days
days after you enroll
  Arithmetic Operations
Available in days
days after you enroll
  Accepting User Input
Available in days
days after you enroll
  Conditional Statements
Available in days
days after you enroll
  Loops
Available in days
days after you enroll
  Functions
Available in days
days after you enroll
  x86-16 Capstone Challenge
Available in days
days after you enroll
  Intro to x86-64
Available in days
days after you enroll
  x86-64 Functions
Available in days
days after you enroll
  The Cyber Mentor Coding Challenge - x86-64 Assembly Version
Available in days
days after you enroll
  Memory Safety
Available in days
days after you enroll
  Course Outro
Available in days
days after you enroll
Andrew Bellini

About the Instructor: Andrew Bellini

Welcome Everyone! My name is Andrew Bellini and I sometimes go as DigitalAndrew on social media. I’m an electrical engineer by trade with a bachelor’s degree in electrical engineering and am a licensed Professional Engineer (P. Eng) in Ontario, Canada. While my background and the majority of my career has been in electrical engineering, I am also an avid and passionate ethical hacker. In addition to being an instructor I am also a longtime student of TCM, and their courses helped me transition my career to working as a technical trainer for a cybersecurity company.

In addition to my love for all things ethical hacking, cybersecurity, CTFs and tech I also am a dad, play guitar and am passionate about the outdoors and fishing.

Hope you enjoy the course!

Follow Andrew on social media:

LinkedIn

Twitter

Website


This course is included in our
All-Access Membership
starting at $29.99/month

Access the Assembly 101 course and our full course catalog when you enroll in our All-Access Membership.