For me as a beginner to assembly, this was a bit too fast paced, but I believe that for more experienced assembly people this video is very good
I always recommend my students to your channel the way you break down the basics are so valuable for building blocks.
I've been programming for 5 years now. Recently I've been getting into embedded programming and computer graphics with OpenGL, and your videos have been really valuable for me to clarify some CS fundamentals. Thanks for the amazing job you do!
The heap grows up into increasing memory addresses and the stack grows from a high memory address down into decreasing memory addresses. It's a remnant of when an x86 program worked within one segment of memory (16k). And not to forget about real mode too. It would have been best if the stack diagrams in this video grew from top down and that the stack registers were rsp and rbp since everything is 64-bit today.
I am an IBM mainframe Assembly programmer. Fun fact: IBM mainframes dont have a stack, not needed. Leave it to Intel to over complicate a simple thing
I am a full stack engineer, but I can always appreciate a high quality video that makes it easy to understand low level concepts.
To reason why the sp “grows” towards the negative is because the stack is actually a reverse stack, its bottom is in higher addresses and it grows towards lower ones (a new variable address is less than older variable address)
The nice thing with having some surface level Assembly understanding and experience is that you kinda already understand how things like this works. I'm exited to see what more there is to learn, and what I missed.
Maybe you should cover UEFI or BIOS boot loading process at one point. UEFI is effectively used everywhere, even ARM. and ofc newer X64 Systems BIOS is also used in ARM but usually on very embedded systems and ofc on older X86 based systems. and i've seen some arm systems actually "emulating" uefi by basically just wrapping bios syscalls into uefi
YouTube's algorithm for some reason led me to this video, anyway a few comments I think you should have added and talked about: caller-callee, arguments, locals, calling convention, return address, return value, EIP register, red zone (x64), initialization of the area, cleaning the area and more...
I will be writing an exam on assembler and how it works with stacks soon and this together with your assembler vids, they helped me to understand, thank you.
I’m not a beginner I code already for more than 7 years and I never understood how the stack pointer nor stack frames work, but now I do thanks to the video <3
I spent a lot of time understanding this, but you clarified it in only 8 minutes.
Between you, ben eater, and chatGPT, I am having an unbelievable time learning about how computers work. This is so much fun omg
I personally use the Pringles can analogy for stacks but I guess plates are fine too
I guess I never paid attention to this stuff at college… but this low level stuff is really interesting to me nowadays.
I've been watching your videos for some time but this particular one made me subscribe to your channel. Thanks for making these difficult videos.
you have the best videos i love em. these kind of videos especially
4:13 my earrssss
@RedStone576