Um livro muito bom para aprender o Assembly x86 é o Pentium Processor Optimization Tools . Embora o foco principal do livro seja a otimização do código de montagem, ele ensina a montagem do Pentium ao longo do caminho e também é um bom livro de referência.
Está muito esgotado, mas não é difícil encontrá-lo.
Ele vem com um disquete contendo um "otimizador de código de montagem". Na verdade, ele não otimiza seu código, mas produz uma lista comentada que aponta onde estão as ineficiências, como as paradas do pipeline.
A ferramenta que acompanha o livro é uma versão limitada de um produto com mais recursos que a empresa do autor costumava vender, mas, por razões que não conheço, elas estão fora do negócio há muito tempo. Não sei por quê - eu acho que essa ferramenta seria vendida como pão quente.
O x86 em geral é um tópico muito complexo, pois há muitas variantes suportadas por diferentes modelos de microprocessadores. Depois de conhecer o básico, você deverá consultar os bancos de dados da Intel ou da AMD para saber o chip exato que está alvejando. Infelizmente, o código que roda rapidamente em um modelo de CPU pode não ser tão rápido em um chip diferente.