In this practical x86-64 assembly language tutorial we dive deep into conditional branching using YASM (also works with NASM) on Ubuntu/Linux.
We cover: - The CMP instruction and how it sets the RFLAGS register - All major conditional jump instructions (JE, JNE, JL, JLE, JG, JGE, JB, JBE...) - Important difference between signed (JL/JG) vs unsigned (JB/JA) jumps - Real code examples showing how to implement if-style decisions - How to handle the "jump out of range" assembler error - Visual flow diagrams explaining control flow
Perfect for students learning low-level programming, reverse engineering, operating systems, or anyone who wants to understand how if-statements, comparisons, and decisions are actually implemented at the machine level.
Highly recommended companion resource: Professor Ed Jorgensen's free x86-64 Assembly Language Programming book (linked in comments).
Enjoy learning assembly!
Intro to Conditional Branching in Assembly 00:00:00 Recommended Book: x86-64 Guide by Ed Jorgensen 00:00:23 Unconditional vs Conditional Jumps 00:01:39 How Conditional Branching Works 00:02:06 The CMP Instruction Explained 00:03:21 Overview of Conditional Jump Instructions 00:04:50 Signed vs Unsigned Jump Instructions 00:06:10 Jump Equal & Jump Not Equal (JE/JNE) 00:07:00 Main Conditional Jumps Summary 00:08:14 Starting the Code Example 00:09:09 Program Structure & Printing Setup 00:10:35 Function Prologue & Getting User Input 00:13:21 First Branch: Is Number Greater Than 0? 00:15:17 Live Demo: Testing Greater Than Zero 00:21:53 Second Branch: Is Number Less Than 10? 00:22:52 Live Demo: Testing Range 0-10 00:26:06 Third Branch: Is Number == 5? 00:26:52 Live Demo: Testing Equal to 5 00:28:00 Jump Out of Range Error & Workaround 00:29:00 Final Summary & Closing 00:32:17 Thanks & Call to Subscribe 00:32:57
=-=-=-=-=-=-=-=-=
Thanks for watching!
Find us on other social media here: - https://www.NeuralLantern.com/social - Twitter / X: https://x.com/NeuralLantern - Rumble: https://rumble.com/c/c-3696939 - BitChute: https://www.bitchute.com/channel/pg1Pvv5dN4Gt - Daily Motion: https://www.dailymotion.com/neurallantern - Minds: https://www.minds.com/neurallantern/ - Odysee: https://odysee.com/@NeuralLantern:5
Please show your support!
- Buy me a coffee: https://ko-fi.com/neurallantern
- Subscribe + Sharing on Social Media - Leave a comment or suggestion - Subscribe to Blog: https://www.NeuralLantern.com - Watching the main "pinned" video of this channel for offers and extras
Be the first to comment