Most all of this sort of reference documentation is online at Intel's web site. As for a macro assembler, is this for Windows or Linux? There is the yasm assembler for Linux. From the man page:
The Yasm Modular Assembler is a portable, retargetable assembler written under the “new” (2 or 3 clause) BSD
license. Yasm currently supports the x86 and AMD64 instruction sets, accepts NASM and GAS assembler syntaxes,
outputs binary, ELF32, ELF64, COFF, Win32, and Win64 object formats, and generates source debugging information
in STABS, DWARF 2, and CodeView 8 formats.
Also, here is a link to the latest Intel processor instruction set: http://download.intel.com/design/processor/datashts/324642.pdf