Looking for an explanation of CPU registers

Hi,
I hope I am posting this in the correct place, if not feel free to let me know.

I am looking to learn more about CPU registers such as the EIP and ESP and how they work. I have a high level understanding of how they are used in buffer overflows etc but was hoping someone could give me some insight or point me in the direction of some learning materials (possibly an animation?) that would explain the details of what is actually happening.

Thank you!

This might help: x64 Architecture - Windows drivers | Microsoft Docs

Its windows-focussed but broadly correct across platforms.

Also: x86 Assembly/X86 Architecture - Wikibooks, open books for an open world - the naming conventions is quite useful

Thanks, both those sources are actually quite helpful!

I haven’t tried this one yet but from a course I attended they mentioned this:

Based on some of the demonstrations, they did buffer overflow attacks on this.