In 64-bit mode, there are limitations on accessing byte registers. An instruction cannot reference legacy high-bytes (for example: AH, BH, CH, DH) and one of the new byte registers at the same time (for example: the low byte of the RAX register). However, instructions may reference legacy low-bytes (for example: AL, BL, CL or
DL) and new byte registers at the same time (for example: the low byte of the R8 register, or RBP). The architecture enforces this limitation by changing high-byte references (AH, BH, CH, DH) to low byte references (BPL, SPL, DIL, SIL: the low 8 bits for RBP, RSP, RDI and RSI) for instructions using a REX prefix.
DL) and new byte registers at the same time (for example: the low byte of the R8 register, or RBP). The architecture enforces this limitation by changing high-byte references (AH, BH, CH, DH) to low byte references (BPL, SPL, DIL, SIL: the low 8 bits for RBP, RSP, RDI and RSI) for instructions using a REX prefix.
本文探讨了64位模式下处理器对于字节寄存器访问的限制。具体而言,指令不能同时引用传统高位字节(如AH、BH、CH、DH)与新的字节寄存器,但可以同时引用传统低位字节(如AL、BL、CL、DL)与新的字节寄存器。此外,体系结构通过将高位字节引用转换为低位字节引用来实施这些限制。
912

被折叠的 条评论
为什么被折叠?



