I love "Assembler дла DOS, Windows и UNIX" by Зубков Сергей Бладимирович ISBN 5-94074-259-9. It's complete crap if you want to learn assembler on Unix, but it has great assembler reference. And I learned really much from coding asm in DOS with it.
I also have "IBM PC Assembly Language and Programming" by Peter Abel, which I haven't read, but it's a very good assembler instruction reference.
For asm on UNIX, here's a good read:
http://www.int80h.org/
Also, here's my asm stuff for university:
https://github.com/graudeejs/asm4BSD
There are some (I think) nice sample code for FreeBSD (32bit), also there are fasm header for *BSD and script to generate newer versions.