CPU
2019-09-25 本文已影响0人
grimlock44
内容来源https://software.intel.com/sites/default/files/m/d/4/1/d/8/Introduction_to_x64_Assembly.pdf
image.png16个通用寄存器
前八个为了沿用x86的寄存器名字,RAX,RBX等
- 用E替代R来继续使用低32位寄存器,例如EAX。
- 删掉R使用低16位寄存器,例如AX。
- 将X替换成H访问低16位的高8位,例如AH。
- 将X替换成H访问低16位的低8位,例如AL。
后八个是新的寄存器,R8,R9等
- R8使用64位
- R8D使用低32位
- R8B使用低16位
- R8B或者R8L使用低8位
注意没有R8H
寄存器使用限制
- 一条指令中不能同时使用传统寄存器中的高word和新寄存器中的word,例如AH和R8B。