Nat*_*man 3 x86 assembly x86-64 protected-mode
某些旧的x86指令在64位模式下未定义.例如LDS,LES和()和()指令的LSS短操作码.INC r1640 + rwINC r3240 + rd
是否有任何仅在64位模式下定义的指令,而不是在32位保护模式下?
编辑: 上下文是x86处理器的开发.我想确保我与规范兼容.
有一种寻址模式,它在32位中没有对应物:指令指针相对寻址.在32位模式下,这仅适用于分支(也称为分支偏移),在64位模式下,您可以为相对于(r)ip的任何内存操作数形成有效地址.
所以,指令
mov rbx,$100[rip]
Run Code Online (Sandbox Code Playgroud)
确实存在于x86-64中,而
mov ebx,$100[eip]
Run Code Online (Sandbox Code Playgroud)
在x86中没有.
来自英特尔架构软件开发人员手册,第 2C 卷附录 A(操作码映射):
表 A-1。操作码表中使用的上标
...
o64指令仅在 64 位模式下可用
...
搜索表格,会出现带有该上标的以下说明:
第 5.16 节(64 位模式指令)列出了一些附加指令,它们是现有指令的变体:
| 归档时间: |
|
| 查看次数: |
1294 次 |
| 最近记录: |