Best Assembly language book
Assembly language comes in different flavors, depending on what architecture you want to write for. AFAIK there's no "best book" that covers asm in general. To cover asm in general I'd advise tackling it from the other way and read up on how hardware architectures differ from each other, there are quite a few good books on computer architecture and microcontroller architecture. Books that explain how compilers work also explain asm in broad terms.
Once you know which architecture you want to program in (CISC vs RISC, µP vs. µC, bare-metal access vs. embedded OS...) you can really look for dedicated asm tutorials and books.
I learned asm from small tutorials in DOS in the early 90s. Discovered embedded systems later and that opened up a lot of info. Tanenbaum's books on architecture filled in a lot of blanks and a class on compilers helped a lot.