To actually reach your goal, you might consider starting with the IDE you are in.
The generally is a disassembler window, so you can do single stepping through code. There is usually a view of some sort to let you see the registers and look into memory areas.
Examination of unoptimized c/c++ code will help build a link into the kind of code that the compiler generates for your sources. Some compilers have some sort of ASM reserved word
which lets you insert machine instructions in your code.
My advice would be to play around with those sorts of tools for a while and get your feet wet,
then step up? down? to straight assembler code on what ever platform you are running on.
There are a lot of great tools out there, but you might find it more fun, to avoid the steep learning curve at first.