Assembly language is fun... it's basically direct instructions to the processor, although it is a level above "machine-code".
The issue with assembly language is that it can be very different from one processor to the next. If you want to learn assembly, learn processor concepts first, then pick a particular processor and learn the assembly code for that. The basic grounding that you get learning processor concepts will serve you well in ALL aspects of programming, even in super-high-level languages. It is this knowledge that rescues me from many programming pitfalls that other programmers would be killed by. You have the right idea with wanting to learn assembly. Start with the basics and build from there.
That said, the best processor to learn on is probably the old Motorola 6502C. It only has two registers and an accumulator, it has 16-bit addressing, and a small instruction set. It doesn't do any complex forward-looking or branch pre-calculation or any of that BS which confuses the issue on Pentiums.
The 6502 chip was used in the Commodore Vic-20, Commodore 64, 8-bit Nintendos, and the Apple II lineup. Since it was so popular, information about how to use it is prevalent even today. It is also fairly easy to get your hands on because you can pull one from an old computer, or you can still order them new. You can also find them in other devices like alarm clocks, and there are simulations of the chip which you can run on Windows (links below). There are many web sites, but I started with a simple Google search, and came up with these, which look pretty good... least likely to confuse you anyway.
http://www.6502.org/
http://www.geocities.com/oneelkruns/65index.html
http://www.geocities.com/oneelkruns/asm1step.html
http://richardbowles.tripod.com/cpu_sim/cpu_sim.htm
http://www.atarihq.com/danb/6502.shtml
Note that most of these sites assume that you are starting with a basic knowledge of processors. Be aware that you can Google almost anything for simple definitions... if you don't understand "addressing mode" for example, then you need to read up on it. Any omissions in basic concepts can make assembly very confusing to learn.