http://opensecuritytraining.info/IntroX86.html
Assumes: basic knowledge of C
Teaches: x86 32 bit assembly, registers, and stack usage. Uses MS Visual Studio for compiling, disassembling, debugging on Windows. Uses GCC/objdump/GDB for compiling, disassembling, debugging on Linux.