Learn the basics of C first. That will get you familiar with how lower level concepts are used to write higher level code (pointers, arrays, etc.)
From there, just reading “Intro to Assembly” tutorials and whatnot will get you there. If you really want a challenge (and learn a lot in the process), set out to make a simple NES game from scratch.
Oh, and lots of debugging, referencing, researching, and patience. Knowing assembly well enough is basically knowing the internals of a computer well enough — they are, in many ways, synonymous.