I remember a book on amd64 assembly which used GNU/Linux and NASM as the base. It has exercises to follow your progress:

http://www.egr.unlv.edu/~ed/assembly64.pdf