A couple of days ago I suggested a series of lessons on X86 assembly, which deals with 32-bit chips. One might think that they may be irrelevant for today's state of technology but is not actually the case.
Learning 32-bit assembly or any other type of assembly (because assembly is a family of programming languages, depending on the processor you are referring to) will allow you to be able to code and also debug for the others as well (small changes in registry names, as well as some changes in how information is handled should not be too hard to comprehend).
Anyhow, it's quite not easy to find good resources on this type of stuff. Most tutorials, lessons, and courses focus on higher level languages. This also makes me mention the fact that I have a hard time finding good materials on reverse engineering with IDA. Not to diverge...
This series I'm suggesting today seems to be worth following as it delves into x64 assembly. I'm already a few 'inches' deep, so I have to say that Mike, the presenter, has a unique way of delivering knowledge. If you're into this kind of stuff, enjoy and happy learning!
To stay in touch with me, follow 
Cristi Vlad Self-Experimenter and Author