Zitat von
stoxx:
ich frage mich jetzt, ob eax immer 64 Bit groß ist? oder nur auf einem 64 Bit Prozessor?
Und ergänzemd zu himitsus Beitrag:
EAX ist immer ein 32 Bit Register.
Im 64 Bit-Mode gibt es 64 Bit Register (RAX, RBX, RCX, etc.) deren untere 32 Bits mit EAX, EBX, ECX, etc. angesprochen werden können.
Hier zur Info aus Intels Basic Architecture eine Aufstellung der Register im 64 Bit Mode
3.7.2.1 Register Operands in 64-Bit Mode
Register operands in 64-bit mode can be any of the following:
• 64-bit general-purpose registers (RAX, RBX, RCX, RDX, RSI, RDI, RSP, RBP, or R8-R15)
• 32-bit general-purpose registers (EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP, or R8D-R15D)
• 16-bit general-purpose registers (AX, BX, CX, DX, SI, DI, SP, BP, or R8W-R15W)
• 8-bit general-purpose registers: AL, BL, CL,
DL, SIL, DIL, SPL,
BPL, and R8LR15L are available using REX prefixes; AL, BL, CL,
DL, AH, BH, CH, DH are available without using REX prefixes.
• Segment registers (CS, DS, SS, ES, FS, and GS)
• RFLAGS register
• x87 FPU registers (ST0 through ST7, status word, control word, tag word, data operand pointer, and instruction pointer)
• MMX registers (MM0 through MM7)
• XMM registers (XMM0 through XMM15) and the MXCSR register
• Control registers (CR0, CR2, CR3, CR4, and CR8) and system table pointer registers (GDTR, LDTR, IDTR, and task register)
• Debug registers (DR0, DR1, DR2, DR3, DR6, and DR7)
• MSR registers
• RDX:RAX register pair representing a 128-bit operand