In this hands-on x86-64 assembly tutorial, we dive deep into moving integer data between registers and memory, working with pointers, dereferencing, and pointer arithmetic using YASM on Ubuntu.<br /><br />You'll see practical examples of:<br />- Moving immediates and data between general-purpose registers<br />- Loading different sized integers (byte, word, dword, qword) from memory<br />- Why data size specifiers matter and what happens with overflow/underflow<br />- The difference between moving a pointer vs dereferencing it<br />- Pointer arithmetic to access array elements<br />- Using LEA for address calculation without dereferencing<br />- Debugging with GDB to inspect registers step-by-step<br /><br />Perfect for anyone learning low-level programming, systems programming, or wanting to truly understand how pointers work at the assembly level. No prior expert knowledge required - we build it up with clear examples.<br /><br />Code and examples are shown live, compiled with YASM, linked with LD, and debugged with GDB.<br /><br />If you're into assembly, reverse engineering, operating systems, or just love understanding how computers really work, this one is for you.<br /><br />Introduction to Integer Data Movement and Pointers 00:00:00<br />Program Setup and Makefile 00:01:16<br />Data Section Definitions 00:01:38<br />System Calls for Output and Exit 00:01:52<br />Text Section and Entry Point 00:04:21<br />Printing Hello String 00:05:05<br />Moving Immediates to Registers 00:06:04<br />Copying Between Registers 00:06:27<br />Dereferencing Pointers from Memory 00:07:16<br />Specifying Data Sizes 00:08:01<br />Register Size Variants 00:09:45<br />Reference Book Explanation 00:10:50<br />Loading Words and Bytes 00:13:25<br />Debugger Breakpoint and Registers 00:14:28<br />Overflow Demonstration 00:16:25<br />Makefile Adjustments for Warnings 00:17:44<br />Proving Data Size Importance 00:20:32<br />Underflow and Overflow Examples 00:21:34<br />Symbols as Pointers 00:24:16<br />Array Definitions and Access 00:25:20<br />Pointer to Array Items 00:26:08<br />LEA Instruction for Addresses 00:27:32<br />Dereferencing Manipulated Pointers 00:29:01<br />Final Register Inspection 00:29:50<br />Conclusion and Subscribe Request 00:33:26<br /><br />Thanks for watching!<br /><br />Find us on other social media here:<br />- https://www.NeuralLantern.com/social<br /><br />Please help support us!<br /><br />- Subscribing + Sharing on Social Media<br />- Leaving a comment or suggestion<br />- Subscribing to our Blog<br />- Watching the main "pinned" video of this channel for offers and extras<br />
