I am looking to learn assembly language, so that I can write faster graphics routines. I know some fairly basic stuff about architecture (for example, I know what a register is, what an ALU is, what the program counter and accumulator are) and I know C/C++ to an intermediate level.
I want to be able to learn an assembly syntax which can be used on Windows and Linux. As far as I have seen, the best ones to learn are FASM or NASM. However I cannot find any good books which focus on those. A lot of places recommend on "Art of Assembly" which seems to use MASM. However, it is said that trying to learn another assembly syntax after learning MASM is hard because MASM uses something called HLA which the others do not.
I am a bit lost and I could do with some guidance as to a good book/books to start off with!