Search code examples
assemblyx86naminghistorycpu-registers

Why are x86 registers named the way they are?


For example, the accumulator is named EAX and, while the instruction pointer is called IP. I also know that there are bytes called CL and DH. I know there must be a convention to all of the names, but what is it?


Solution

  • The C and the D are numbers/types and H for high and L for low parts of the higher register. http://en.wikipedia.org/wiki/X86

    Wikipedia explains it very well.

    More from the Wikipedia:

    1. AX/EAX/RAX: accumulator
    2. BX/EBX/RBX: base
    3. CX/ECX/RCX: counter
    4. DX/EDX/RDX: data/general