A: 

It depends. I started learning in school on the Motorola 6811, followed by the 6800, and finally, the 68000 (or 68K). As far as assembly languages go, I find the Motorola processors to be far less confusing and easier to code for. It's also good for learning the basics of assembly programming.

On the other side, you have the Intel processors. If you really want to learn assembly programming, I recommend starting with a simple processor (like the 6811 or 6800) and then working your way up. That way, you have the fundamentals in place and don't get distracted or confused by the plethora of (advanced) features in more modern processors.

There are numerous tutorials available on the web (just search on Google). Find one that works for you and that you're comfortable with.

Vivin Paliath
A: 

That depends on the processor, MIPS, ARM, RISC, Intel x86. Each of the assembly syntax varies, for instance, there's open source Nasm, Microsoft's Masm, Borland's Tasm, GNU GAS (this one uses the AT&T syntax, which is in the reverse operation) for instance, using the Intel x86:

; Under MASM, TASM, NASM
mov ax, 0 ; Moves 0 into ax register

Whereas under GAS:

movb $0, %ax ; Move 0 into ax register

Under GAS, each operand ends with a letter to indicate byte, word, long, and registers are prefixed with %, constants are prefixed with $. For the above sample of GAS, we're moving a byte into the ax register.

Hope this helps, Best regards, Tom.

tommieb75
A: 

The Art of Assembly Language* is a fantastic book by Randall Hyde from No Starch press.

I bought it a couple years ago and it does a really good job of introducing the user gently to the various aspects of assembly programming, and ends up with fairly advanced information too.

In response to your second question, this book also introduces a slightly higher level version of Assembly Language that the author developed in many years of teaching assembly. It gets converted to x86 assembly primarily, but it is sufficiently high level also that you learn the transferable parts of assembly too.

*and if you buy from this link I get a (small) commission :)

John Weldon
doesn't it teaches a different language? HLA?
hab
Yes, HLA is 'High Level Assembly' which is a good transition into assembly. You learn the concepts of assembly and that knowledge is directly translatable into CPU specific assembly. Not unlike Donald Knuths custom MIX language.
John Weldon