Intel Instruction Set Architecture (ISA)

It may virtually be right to say that any digital device has a specific set of instructions. Even a transistor, the foundation stone of modern digital electronics, has two instructions, on and off, where each one is represented by 1 or 0 (which one of these represents on and off depends on whether the transistor is n-p-n or p-n-p). A processor is constructed from millions of transistors and is, as well, controlled by sequences of 1s and 0s (grouped into 8-bit bytes grouped into instructions). Fortunately, we do not have to take care of instruction encoding (it's the 21st century out there) as assemblers do that for us.

Each CPU instruction (and this is right for any CPU, not only Intel based) has a mnemonic designation (further simply mnemonic), which you need to learn about along with a few simple rules regarding operand sizes (and memory addressing, but we will take a deeper look at that in Chapter 4, Memory Addressing Modes), and this is exactly what we will do in this chapter.

We will begin by creating a simple Assembly template, which we will use throughout the book as a starting point for our code. Then, we will proceed to the actual CPU instruction set and get acquainted with the following types of instructions:

  • Data transfer instructions
  • Arithmetic instructions
  • Floating point instructions
  • Execution flow control instructions
  • Extensions
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset