I have a question about the x86 assembly, namely what are the names of all of the registers? When I looked this up, it seemed to be that there are 14 of them (with 4 of them named ax, bx..), but when I decompiled a program to check the assembly, I get that the registers include eax, ebp, and others. Can anyone give me a heads up to this please?
Posted on 2005-07-14 10:31:42 by jelyman
hey
there are ax,bx,cx.... 16bits registers for DOS progs
when ure using ax,bx,cx.... 32 bits registers u are leading with 32bits platform as Window 95,98,XP,200,NT ....

for more extended info about assembly check the /masm32/help from the Masm32 package ( Win32 Assembler )
www.masm32.com
there are a lot of .hlp files in that directory that certain may help
Posted on 2005-07-14 10:41:56 by GR33d
EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP, EIP (and FLAGS) are 32-bit registers

EIP is instruction pointer (manipulated by ops such as jmp, call, and ret)
ESP is the stack pointer; you'll probably most often use it to access local variables or through PUSH/POP/etc.

EAX,EBX,ECX,EDX,ESI, and EDI are general purpose registers in win32asm, though ops may have some of these as implicit operands (like DIV, LOOP, or REP).

These 32-bit registers can be divided in half (the upper and lower 16 bits).  The lower half can be addressed independently by using the register without the E-prefix (e.g. AX, SI, or IP).  The lower 16-bits of AX-DX can be addressed byte-wise, once again divided in half.  The upper, or "higher" half (AH, BH, CH, DH) and the lower half (AL, BL, CL, DL).

Thus, a register like EAX can be decomposed as follows:

bits 0-31: EAX
bits 0-15: AX
bits 0-7: AL
bits 8-15: AH

Also, there are floating point registers and MMX registers (which, AFAIK share the same circuitry so you need to be initialize these when mixing MMX and FP code)

Hope that helps :)
Posted on 2005-07-14 11:20:03 by jademtech
MMX registers are mm0 - mm7

FPU registers are st0 - st7

Of course there's 8 SSE registers too
xmm0 - xmm7
Posted on 2005-07-14 11:37:22 by roticv
here are some more like

debug register dr0 to dr3
debug control register dr7
debug status register dr6

eflags register

control registers

a good reading would be art of assembly by randall hyde to get some of these informations
Posted on 2005-07-16 12:45:30 by bluffer
You will want this:
http://developer.intel.com/design/pentium4/manuals/index_new.htm
and this:
http://www.madwizard.org/dl.php?file=tutors.win32asm
Posted on 2005-07-16 15:26:03 by f0dder