In this chapter, we cover the Intel Architecture 64-bit (x86-64) instruction set architecture. Recall that an instruction set architecture (or ISA) defines the set of instructions and binary encodings of a machine-level program. To run the examples in this chapter, you will need access to a machine with an 64-bit x86 processor. The term "x86" is often used synonymously with the IA-32 architecture. The 64-bit extension of the architecture is referred to as x86-64 and is ubiquitous in modern computers, including Apple, Windows and most Linux computers. Both IA32 and x86-64 belong to the x86 architecture family.
To check to see if you have a 64-bit Intel processor on your Linux machine, run the
uname -p command. If
you have an x86_64 system, you should see output like the following:
$ uname -p x86_64
Since x86_64 is an extension of the smaller IA32 ISA, some readers may prefer a discussion of IA32. To read more about IA32, follow this link to the next chapter