Assembler Books
Paul Carter: PC Assembly Language
Randall Hyde: Art of Assembly Language
Assemblers and Compilers
Visual C++ Express
Includes MASM (ml.exe). Any version of Visual Studio C++ 2005/2008/2010 should work for this course.
Netwide Assembler (NASM)
Can be used with Windows or Linux
Get Real Debugger (GRDB)
Assembler Resources and Additional Reading
Computer Arithmetic Tragedies page of Kees Vuik
The Absolute Minimum
Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
Unicode.org
Unicode Tutorial
UTF-8 and
Unicode FAQ for Unix/Linux
Architecture Resources and Additional Reading
A Crash Course in Modern Hardware
Video with Slides. A presentation focusing on instruction level parallelism.
Harry
Porter's Relay Computer
J.
von Neumann's 1945 paper First Draft of a Report on the EDVAC
ACM Queue: The Long Road to
64 bits
Intel Cache Overview
What every programmer should know about memory, Part 1
Memory part 2: CPU caches
Toshiba White Paper: NAND and NOR Flash
ACM Queue: You
Don't Know Jack about Disks
Hard Disk Drives: The Good, the Bad and the Ugly!
Triple Parity RAID and Beyond
Seagate Hybrid SSD: the good
and the not-so-good.
Intel Endianness White Paper
Intel 8255A Data Sheet