x86 Assembly Crash Course – Part 1 (Based on Practical Binary Analysis)

Опубликовано: 28 Сентябрь 2026
на канале: LetsLearn101
407
9

Welcome to x86 Assembly Crash Course – Part 1, inspired by the fantastic appendix of Dennis Andriesse’s Practical Binary Analysis 📘.

In this episode, we build a high-level understanding of how x86 assembly really works, without diving into calling conventions or stack frames (that’s Part 3!).
We start from a tiny C program, walk through its assembly, explain what each part means, and then peel back one layer to see how instructions are structured—both in assembly and in machine code.

⭐ What You’ll Learn

How a simple C program gets translated into assembly

What assembly files are made of:
instructions, directives, labels, and comments

How compilers separate code and data in sections

The difference between Intel and AT&T syntax (with real examples)

The structure of an x86 instruction:
opcode, ModR/M, SIB, displacement, immediate

Assembly-level vs machine-level structure

Real examples:

nop

register-to-register mov

memory access using base + index × scale

a loop accessing an array

A bird’s-eye view of common x86 instruction categories

This video lays the foundation for understanding reverse engineering, binary analysis, and low-level debugging.

📘 Reference

Key concepts in this video are inspired by:
Dennis Andriesse – Practical Binary Analysis (Appendix A: A Crash Course on x86 Assembly).
All rights belong to the author. This video provides original explanations and educational commentary.

🧩 Coming Next: Part 2

In Part 2, we’ll decode x86 instructions byte-by-byte, exploring:

ModR/M in detail

SIB (scale-index-base) addressing

Displacements and immediates

Full machine-code walkthroughs

Subscribe so you don’t miss it!

0:00 C to Assembly Overview
2:30 Instructions vs Directives vs Labels and Code vs Data Sections
7:30 Intel vs AT&T Syntax
10:50 Structure of an x86 Instruction (Assembly Level and Machine Level)
19:44 Register Operands
22:32 Common x86 Instructions Overview
17:00 Learn to read assembly side by side with C code

Correction: I mentioned decompilation once, but disassembly is the accurate term in this context.