有哪些新的X86_64处理器寄存器的名字? [英] What are the names of the new X86_64 processors registers?
问题描述
在哪里可以找到组装新寄存器的名称在此架构?
Where can I find the names of the new registers for assembly on this architecture?
我指的是寄存器X86,如:EAX,ESP,EBX等,但我希望他们在64位。
I am referring to registers in X86 like EAX, ESP, EBX, etc. But I'd like them in 64bit.
我不认为他们是一样的,当我拆开我的C code,我得到的r,而不是E公司。
I don't think they are the same as when I disassemble my C code, I get r's instead of e's.
推荐答案
旧的32位寄存器已经扩展到64位,在研究
寄存器( RAX
, RBX
, RSP
等)。
The old 32-bit registers have been extended to 64 bits, the r
registers (rax
, rbx
, rsp
and so on).
此外,还有一些额外的通用寄存器 R8
到 R15
也可作为(例如访问) r8d
, r8w
和 R8B
(低32位双字,分别为16位字和8位字节)。
In addition, there's some extra general purpose registers r8
through r15
which can also be accessed as (for example) r8d
, r8w
and r8b
(the lower 32-bit double-word, 16-bit word and 8-bit byte respectively).
旧的16位寄存器的高字节仍然是可以访问,在很多情况下,为啊
, BH
等,但是这似乎无法通过 R15
寄存器的 R8
的情况。还有一些新的指令编码,的特别是那些使用 REX
preFIX,即无法访问那些高字节,但其他人仍然是免费的使用它们。
The high byte of the old 16-bit registers is still accessible, under many circumstances, as ah
, bh
, and so on, but this appears to not be the case for the r8
through r15
registers. There are some new instruction encodings, specifically those using the REX
prefix, that can not access those high bytes, but others are still free to use them.
此外,还有一些新的SSE寄存器, XMM8
虽然 XMM15
。
In addition, there's some new SSE registers, xmm8
though xmm15
.
的 EIP
和标记
寄存器也被扩展到裂口
和 rflags
。
The eip
and flags
registers have also been extended to rip
and rflags
.
See the wikipedia page and MSDN for more details.
无论这些都在为一个特定的C编译器的 ASM
关键字的支持,我不能说。什么小总成我(和它之所以成为每年一天)是在装配完成,而不是C
Whether these are supported in the asm
keyword for a particular C compiler, I couldn't say. What little assembly I do (and it's becoming about one day a year) is done in assembly rather than C.
这篇关于有哪些新的X86_64处理器寄存器的名字?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!