I would suggest your chips programmers manual or reference (e.g. a few thousand pages of Intel books), your assemblers manual (often gas or nasm), and documentation about the operating system internals you may need to know (like the calling conventions and system call #s).
You can find a nice intro here
http://www.int80h.org/
__________________
My
Journal
Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest ``foo'' someone someday shall type ``supercalifragilisticexpialidocious''.