Where can I find x86 register names?

11,360

Solution 1

Intel Register names and meaning

Solution 2

The register names have evolved over the past 40 years. The Intel 8080 processor, introduced in 1974, had 8-bit registers named A, B, C, D, E, H and L. A thru E seem fairly obvious but H and L? Well, they were combined into the 16-bit HL register which was primarily used as a memory pointer, so H for high and L for low.

In 1979 Intel released the 8086 processor (the original IBM PC was based on its close cousin the 8088). The 8086 had 16-bit registers 4 "main" ones and 4 index registers. The main registers were called AX, BX,CX, DX, a natural eXtension of the 8080's A through D, each of these could also be referenced as two 8-bit registers which were called AL, AH, BL, BH, etc. The 8086 index register, also 16-bit, were called SI, DI, BP and SP after their primary functions. SI and DI for Source and Destination Index, SP for Stack Pointer, and BP for (stack) Base Pointer.

The extension to the 32-bit world, with the introduction of the 80386 in 1986, brought us EAX, EBX, ECX, EDX, ESI, EDI, EBP and ESP, the 32-bit variants of the registers, the 8086 names remained for the (lower) 16 bits and the 8 bit accessing required to maintain compatibility.

There things stood until AMD, beating Intel to market, defined 64-bit extensions.

It is perhaps interesting to note that binary code assembled for the 8086 processor is compatible with all the x86 processors which succeeded it.

References:

Share:
11,360

Related videos on Youtube

Andrey Ashgaliyev
Author by

Andrey Ashgaliyev

Updated on June 04, 2022

Comments

  • Andrey Ashgaliyev
    Andrey Ashgaliyev over 1 year

    Where I can find the 80x86 register full names? I know that EAX means Extended AX.

    What is then, the meaning of AX? I.e. is AX an acronym?

  • Peter Cordes
    Peter Cordes almost 4 years
    Why are first four x86 GPRs named in such unintuitive order? on retrocomputing goes into more detail about how 8086 registers are designed to enable easy asm source compatibility with 8080.

Related