I have used this book with great success, starts from the beginning, and works through to more complex topics: Assembly Language Step-by-Step
I found Assembly language step-by-step to be a very good resource. It has a section in the back thats aimed at Linux assembly too.
For my Assembly language class, we're using the book that Bill recommends. My professor also recommended this book: Assembly Language Step-by-step: Programming with DOS and Linux. He said that this is the only book that he knows of that covers NASM (and it's a tad outdated).
The Art of Assembly Language Programming
Assembly Language Step-by-step: Programming with DOS and Linux
Mastering Turbo Assembler
Had already been answer: