Why 32 bit registers are called EAX, EBX, ECX, EDX etc.

Why 32 bit registers are called EAX, EBX, ECX, EDX etc.

Rate This
  • Comments 6

This is actually an interesting story,

Back in the days when we had 8 bit processors (8 bit processors means registers in processors will be able to hold 8 bit data), registers were called like,
AL, BL

So, when we moved to 16 bit processors, we named them as,
AX, BX.. (AX can be broken into AH and AL

Similarly, when we moved to 32 bit processors we named registers as,
EAX, EBX, ECX, EDX.

Do you think in 64 bit processors we will have another name for registers?
Yes, You are absolutely right, we have different names for registers. They are called,
RAX, RBX, RCX, RDX etc.

(PS: We have 8 more registers on x64 processors named R8, R9, R10... till R15)

 

Some more information from Julian,
Not all 8-bit processors used AL, BL etc. For example, the Motorola 6800 used A, B, X, SP, PC, and CCR for flags. The 6801 extended this by allowing A & B to be combined as D. The Zilog Z80 used A, F, B, C, D, E, H, L, IX & IY, SP & PC. B could be combined with C to form BC, D with E (DE)and H with L (HL). A was combined with the flag register F. IX, IY were 16 bit registers.

Stay tuned.. Wave

Leave a Comment
  • Please add 1 and 4 and type the answer here:
  • Post
  • The 8080 had A,B,C,D,E,H, and L.  From which the modern EAX->AX->AH/AL derive.  What's even cooler is they were named that for a reason:

    A = Accumulator register

    B = Base address register

    C = Count register

    D = Data Register

    I'm not sure E, H, and L really stood for anything.. still it's amazing we're still stuck with that legacy uh?

  • "I'm not sure E, H, and L really stood for anything.. still it's amazing we're still stuck with that legacy uh?"

    Extended, Low and High. :)

  • So, what does the R stand for on 64 bit chips?

  • EAX=0D0995D0  EBX=0D1F3870  ECX=002DB7AF  EDX=0D16E98F

    ESI=0D1F2A30  EDI=252DB750  FLG=00010246

    EBP=035FD770  ESP=0018F064  EIP=00D06D33

    CS=0023  DS=002B  SS=002B  ES=002B  FS=0053  GS=002B

  • i m not sure but in my opinion:

    "EAX" stands for "EXTENDED ACCUMULATOR REGISTER"

    "EBX" stand for "EXTENDED BASE REGISTER"

    "ECX" stand for "EXTENDED COUNT REGISTER"

    "EDX" stand for "EXTENDED DATA REGISTER"

  • E is th 5th number of abc , anc 2^5 = 32, which means I32 Processors . I think when X64, it will be starting with 'F' which is 2^6 ,F is the 6th number of abc ,

    Thanks , :)

Page 1 of 1 (6 items)