Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Architecture 1001 - Intel x86-64 Assembly

OpenSecurityTraining2 via YouTube

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Learn Intel x86-64 assembly language fundamentals through this comprehensive course from OpenSecurityTraining2. Master essential concepts starting with general purpose registers, register conventions, and your first assembly instructions including NOP, push, pop, add, subtract, call, return, and move operations. Explore stack operations and step through code using both slides and Visual Studio debugging tools. Dive deep into local variables by analyzing single variables, arrays, and structures in C code and their assembly representations. Understand function parameters and calling conventions, including how parameters are passed and handled when there are too many for registers. Study control flow mechanisms through goto statements, if conditions, switch statements, and various loop constructs. Examine boolean logic operations, bitmask manipulations, and bit shifting techniques for both signed and unsigned values. Learn multiplication and division operations in assembly, and discover powerful string manipulation instructions like REP STOS and REP MOVS for efficient memory operations. Practice writing your own assembly code in Visual Studio and apply your knowledge to solve phases of the famous CMU Binary Bomb Lab challenge. Gain practical experience through mystery exercises, hands-on coding examples, and real-world debugging scenarios that reinforce theoretical concepts with practical application.

Syllabus

Why Learn Assembly? - Architecture 1001: x86-64 Assembly
Class Introduction - Architecture 1001: x86-64 Assembly
x86-64 General Purpose Registers - Architecture 1001: x86-64 Assembly
Register Conventions - Architecture 1001: x86-64 Assembly
Your First Assembly Instruction: No-Operation (NOP) - Architecture 1001: x86-64 Assembly
The Stack - Architecture 1001: x86-64 Assembly
New Instructions: Push & Pop - Architecture 1001: x86-64 Assembly
New Instructions: Add/Sub/Call/Ret/Mov - Architecture 1001: x86-64 Assembly
Single Stepping Through the Code in Slides - Architecture 1001: x86-64 Assembly
Stepping Through the Code in Visual Studio - Architecture 1001: x86-64 Assembly
Local Variables: SingleLocalVariable.c Intro - Architecture 1001: x86-64 Assembly
Local Variables: SingleLocalVariable.c Explanation - Architecture 1001: x86-64 Assembly
Local Variables: Mystery Listery 3 Solved Part 1 - Architecture 1001: x86-64 Assembly
Local Variables: Mystery Listery 3 Solved Part 2 - Architecture 1001: x86-64 Assembly
Local Variables: Mystery Listery 3 Solved Part 3 - Architecture 1001: x86-64 Assembly
Local Variables: Mystery Listery 3 Solved Part 4 - Architecture 1001: x86-64 Assembly
Local Variables: ArrayLocalVariable.c Intro - Architecture 1001: x86-64 Assembly
Local Variables: ArrayLocalVariable.c Explanation - Architecture 1001: x86-64 Assembly
Local Variables: StructLocalVariable.c Intro - Architecture 1001: x86-64 Assembly
Local Variables: StructLocalVariable.c Explanation - Architecture 1001: x86-64 Assembly
Local Variables: StructLocalVariable.c Explanation 2 - Architecture 1001: x86-64 Assembly
Function Parameters: Pass1Parameter.c Intro - Architecture 1001: x86-64 Assembly
Function Parameters: Pass1Parameter.c Explanation - Architecture 1001: x86-64 Assembly
Function Parameters: TooManyParameters.c Intro - Architecture 1001: x86-64 Assembly
Function Parameters: TooManyParameters.c Explanation - Architecture 1001: x86-64 Assembly
Function Parameters: Mystery Listery 2 Solved - Architecture 1001: x86-64 Assembly
Function Parameters: CallingConventions - Architecture 1001: x86-64 Assembly
Function Parameters: 32-Bit Calling Conventions Part 1 - Architecture 1001: x86-64 Assembly
Function Parameters: 32-Bit Calling Conventions Part 2 - Architecture 1001: x86-64 Assembly
Function Parameters: Mystery Listery 1 Solved - Architecture 1001: x86-64 Assembly
Function Parameters: SpecialMaths.c Intro - Architecture 1001: x86-64 Assembly
Function Parameters: SpecialMaths.c Explanation - Architecture 1001: x86-64 Assembly
Control Flow: GotoExample.c Intro - Architecture 1001: x86-64 Assembly
Control Flow: GotoExample.c Explanation - Architecture 1001: x86-64 Assembly
Control Flow: IfExample.c Intro - Architecture 1001: x86-64 Assembly
Control Flow: IfExample.c Explanation - Architecture 1001: x86-64 Assembly
Control Flow: IfExample2.c - Architecture 1001: x86-64 Assembly
Control Flow: SwitchExample.c - Architecture 1001: x86-64 Assembly
Boolean Logic: BooleanBecause.c Intro - Architecture 1001: x86-64 Assembly
Boolean Logic: BooleanBecause.c Explanation - Architecture 1001: x86-64 Assembly
Boolean Logic: ForLoopNoRet.c Intro - Architecture 1001: x86-64 Assembly
Boolean Logic: ForLoopNoRet.c Explanation - Architecture 1001: x86-64 Assembly
Boolean Logic: BitmaskExample.c Intro - Architecture 1001: x86-64 Assembly
Boolean Logic: BitmaskExample.c Explanation - Architecture 1001: x86-64 Assembly
Bit Shifting: ShiftExample1.c Intro - Architecture 1001: x86-64 Assembly
Bit Shifting: ShiftExample1.c Explanation - Architecture 1001: x86-64 Assembly
Bit Shifting: ShiftExample2Unsigned.c Intro - Architecture 1001: x86-64 Assembly
Bit Shifting: ShiftExample3Signed.c Intro - Architecture 1001: x86-64 Assembly
Bit Shifting: ShiftExample3Signed.c Explanation - Architecture 1001: x86-64 Assembly
Multiplication & Division: MulDivExample1.c Intro - Architecture 1001: x86-64 Assembly
Multiplication & Division: MulDivExample1.c Explanation - Architecture 1001: x86-64 Assembly
Cool Instructions: REP STOS: ArrayLocalVariable2.c Intro - Architecture 1001: x86-64 Assembly
Cool Instructions: REP STOS: ArrayLocalVariable2.c Explanation - Architecture 1001: x86-64 Assembly
Cool Instructions: REP STOS: ThereWillBe0xb100d.c Intro - Architecture 1001: x86-64 Assembly
Cool Instructions: REP STOS: ThereWillBe0xb100d.c Explanation 1 - Architecture 1001: x86-64 Assembly
Cool Instructions: REP STOS: ThereWillBe0xb100d.c Explanation 2 - Architecture 1001: x86-64 Assembly
Cool Instructions: REP MOVS: Journey2memcpy.c Intro - Architecture 1001: x86-64 Assembly
Cool Instructions: REP MOVS: Journey2memcpy.c Explanation 1 - Architecture 1001: x86-64 Assembly
Cool Instructions: REP MOVS: Journey2memcpy.c Explanation 2 - Architecture 1001: x86-64 Assembly
Read The Fun (Intel Software Development) Manual! - Architecture 1001: x86-64 Assembly
Writing Assembly Intro - Architecture 1001: x86-64 Assembly
Writing Assembly: In Visual Studio Part 1 - Architecture 1001: x86-64 Assembly
Writing Assembly: In Visual Studio Part 2 - Architecture 1001: x86-64 Assembly
Writing Assembly: In Visual Studio Part 3 - Architecture 1001: x86-64 Assembly
CMU Binary Bomb Lab: Intro - Architecture 1001: x86-64 Assembly
CMU Binary Bomb Lab: Phase 1 Example in WinDbg - Architecture 1001: x86-64 Assembly
CMU Binary Bomb Lab: Outro - Architecture 1001: x86-64 Assembly
Class Conclusion - Architecture 1001: x86-64 Assembly
Arch1001 CMU binary bomb lab phase 1 in IDA Free

Taught by

OpenSecurityTraining2

Reviews

Start your review of Architecture 1001 - Intel x86-64 Assembly

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.