"An assembly language is a low-level programming language for microprocessors and other programmable devices. It is not just a single language, but rather a group of languages. Assembly language implements a symbolic representation of the machine code needed to program a given CPU architecture."
-- http://www.techopedia.com/definition/3903/assembly-language
Also aren't there two main syntax branches, AT&T and Intel, that have different popularity with different groups? Then you have different venders with different ways of doing things.
-=-=-=-=-
OP can you be a bit more specific with your question?
I think its clear from the OP that they understand that there are many flavors of assembly languages...he or she is simply asking for recommendations on which one to choose.
I personally find working with ARM to be interesting for its thermal efficiency and applications.
I learned MIPS this last year, but as someone suggested ARM is also interesting. Youtube is a good place to start not to talk of the numerous tutorials you can find with a simple google search.
After you've done those, you can now decide to move on to x86 and finally Intel if you still want to rattle your brain a little
assembly language is hardware Dependant. Your typical PC is x86/x64 architecture and it will program different to other devices like mostly ARM based tablets, phones, etc.. If you want to program in assembly you must know your target platform.
The first question to answer is which CPU do you want to target. Probably the easiest thing is your PC or Mac.
Look for tools that let you mix assembly and high level languages. That way you can write a function in assembly to do something, and then create a C++ program to call it and display the results. Doing the I/O in assembly will be more difficult.
Note that a good part of learning assembly language will be learning the architecture of the CPU since assembly programming means working directly with the CPU.