Intel Architecture, 32 bit

First and foremost, please understand that I’ll be writing about Intel architecture only in detail that is sufficient for getting me started in assembly language.

Three main components, or basic building blocks of a computer, that we need to know for assembly language basics are the following:

  1. CPU
  2. Memory
  3. I/O Devices

CPU

capture

CPU can be visualized of four components:

  • Control Unit
    • Control unit is used to retrieve instructions from pipeline. It also manages storing and getting data in memory.
  • Execution Unit
    • As the name suggests, this part of a CPU executes instructions.
  • Registers
    • Registers can be thought of CPU’s ultra-fast temporary memory. These are used to store intermediate results.
  • Flags
    • This register can be used to indicate different events happening in the current execution and state of the processor. For example, interrupts, zero value, overflow etc.

Registers

List of registers in IA-32 architecture

  • General Purpose Registers
  • Segment Registers
  • Flags
  • EIP
  • Floating Point Unit Registers
  • MMX Registers
  • XMM Registers

General Purpose Registers

There are eight general purpose registers. MS Excel can be handy when you want to visualize registers.

registers

FPU

General purpose registers are of 32 bits. Note that the lower 16 bit of each register, 0 to 15 bit, can be addressed separately. Moreover, from lower half of each general purpose register, 0 to 7 bits and 8 to bits can be addressed individually. For example, EAX is 32 bit. Lower half of EAX can be addressed as AX. AX can be further divided in two equal parts AH and AL (L for lower bits and H for higher bits).

Some other interesting points about IA-32 architecture to keep in mind:

  • MMX registers are part of FPU registers (lower 64 bits)
  • XMM registers are 128 bits in size.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s