====== CPU Manuals ====== ===== INTEL Manuals ===== The Intel Corporation provides many useful documents on the [[http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html|Pentium 4 Processor Technical Documentation page]]. Especially useful for helping you to understand the machine dependent code of MINIX 3 on an IBM-PC compatible machine will be the Manuals section. As of October 2016 the following manuals are available as PDF files (read with Adobe Acrobat or Ghostview): * Intel 64 and IA-32 Architectures Optimization Reference Manual * Intel 64 and IA-32 Architectures Software Developer's Manual Documentation Changes * Intel 64 and IA-32 Architectures Software Developer's Manual Volume 1: Basic Architecture * Intel 64 and IA-32 Architectures Software Developer's Manual Volume 2A, 2B, 2C and 2D: Instruction Set Reference, A-Z * Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3A, 3B, 3C and 3D: System Programming Guide These are all downloadable as PDF files in various combinations (read with Adobe Acrobat or Ghostview). A CD-ROM containing the complete set of manuals is no longer available, but official print copies can be ordered from [[http://www.lulu.com/spotlight/IntelSDM|Lulu]]. ===== AMD Manuals ===== All AMD processors for IBM-PC have the same IA-32 architecture as Intel processors. The differences are in multimedia technology, where AMD processors have 3DNOW! and other things... And the next AMD processor (x86-64) will be different, but still compatible with IA-32. So, the Intel docs will also help you understand and program for AMD processors. But, AMD provides manuals too -- they are available at the [[http://developer.amd.com/resources/developer-guides-manuals/|AMD64 Architecture Tech Docs]] page. These AMD manuals were available as of October 2016: * AMD64 Architecture Programmer's Manual Volume 1: Application Programming * AMD64 Architecture Programmer's Manual Volume 2: System Programming * AMD64 Architecture Programmer's Manual Volume 3: General-Purpose and System Instructions * AMD64 Architecture Programmer's Manual Volume 4: 128-Bit and 256-bit Media Instructions * AMD64 Architecture Programmer's Manual Volume 5: 64-Bit Media and x87 Floating-Point Instructions * Compiler Usage Guidelines for AMD64 Platforms Application Note * Software Optimization Guide for AMD64 Processors Note that the syntax of the assembly language used in MINIX 3 is different from Intel's. The MINIX 3 syntax is consistent with assembly languages used by other UNIX-derived systems. Other links on the page point to articles describing assembly language syntax.