- x86 Disassembly
- Operating System Design
- Embedded Systems
- Floating Point
- C Programming
- C++ Programming
- Yurichev, Dennis, "An Introduction To Reverse Engineering for Beginners". Online book: http://yurichev.com/writings/RE_for_beginners-en.pdf
- Carter, Paul, "PC Assembly Tutorial". Online book. http://www.drpaulcarter.com/pcasm/index.php
- Hyde, Randall, "The Art of Assembly Language", No Starch Press, 2003. ISBN 1886411972. http://www.artofassembly.com
- Triebel and Signh, "The 8088 and 8086 Microprocessors: Programming, Interfacing, Software, Hardware, and Applications", 4th Edition, Prentice Hall, 2003. ISBN 0130930814
- Jonathan Bartlett, "Programming from the Ground Up", Bartlett Publishing, July 31, 2004. ISBN 0975283847. Available online at http://download.savannah.gnu.org/releases/pgubook/
- Tambe, Pratik, "Primitiveasm: Learn Assembly Language in 15 days!!!", 1st online Edition at http://pratik.tambe.googlepages.com/
- Gerber, R. and Bik, A.J.C. and Smith, K. and Tian, X., "The Software Optimization Cookbook: High-Performance Recipes for IA-32 Platforms", 2nd edition, Intel Press, 2006. ISBN 9780976483212
- Blum, R., "Professional Assembly Language", 1st edition, Wiley, 2005. ISBN 9780764579011
- x86 Assembly Adventures video course by xorpd
- The Intel® 64 and IA-32 Architectures Software Developer's Manuals cover basic architecture, instruction set, system programming and other topics. They are available in downloadable PDF and can also be ordered on CD-ROM (order form) and as hard copy (order information).
- There are many online instruction set references. http://web.archive.org/20051121163920/home.comcast.net/~fbui/intel.html includes the number of clock cycles that each instruction takes, and http://siyobik.info/index.php?module=x86 gives a thorough summary of each command, including pseudocode describing the operation.
- AMD's AMD64 documentation on CD-ROM (U.S. and Canada only) and downloadable PDF format - maybe not independent but complete description of AMD64 through Assembly. http://developer.amd.com/documentation/guides/Pages/default.aspx#manuals
- Optimizing subroutines in assembly language: An optimization guide for x86 platforms
- The microarchitecture of Intel and AMD CPU’s: An optimization guide for assembly programmers and compiler makers
- Instruction tables: Lists of instruction latencies, throughputs and micro-operation breakdowns for Intel and AMD CPU's
- Calling conventions for different C++ compilers and operating systems
- "8086 Microprocessor Emulator" "emu8086 is the emulator ... with integrated 8086 assembler and tutorials for beginners. The emulator runs programs like the real microprocessor in step-by-step mode. It shows registers, memory, stack, variables and flags. All memory values can be investigated and edited by a double click."
- "Using the RDTSC Instruction for Performance Monitoring"
- "SIMPLY FPU"
- "Paul Hsieh's x86 Assembly Language Page"
- "The world's leading source for technical x86 processor information"
- "The Art of Picking Intel Registers"
- x86 Assembly Adventures Open source exercises
Other Assembly Languages
|x86 Assembly||The Assembly Language used by 32-bit Intel Machines including the 386, 486, and Pentium Family.|
|MIPS Assembly||A Common RISC Assembly Language that is both powerful and relatively easy to learn.|
|68000 Assembly||The Assembly language used by the Motorola 68000 series of microprocessors.|
|PowerPC Assembly||The Assembly language used by the IBM PowerPC architecture.|
|SPARC Assembly||The Assembly language used by SPARC Systems and mainframes.|
|6502 Assembly||The 6502 is a popular 8-bit microcontroller that is cheap and easy to use.|
|TI 83 Plus Assembly||The instruction set used with the TI 83 Plus brand of programmable graphing calculators.|
|360 Assembly||The instruction set used with the IBM 360 / 370 / 93xx and z/System brand of Mainframe computers.|