intel x64 REX前缀

时间:2015-02-25 23:19:28

标签: 64-bit machine-code

对于这两条指令:

12 / r将进位r / m8加到字节寄存器中。

REX + 12 / r使用进位r / m64添加到字节寄存器。

如果第一条指令上的寄存器是9-16,那么它们都可以有REX前缀......那么CPU如何区分两者?第一条指令上的REX前缀是否在第7位中缺少1,所以它只是REX.B 0x01?

1 个答案:

答案 0 :(得分:2)

不,显然不是。第一个没有REX前缀,第二个没有。第一种形式按定义没有REX前缀,因此不能拥有它(根据定义,它将使其成为第二种形式)。它们都在手册中的原因是,在带有REX前缀的表单旁边可以有星号,并且注意它不能编码AH,BH,CH或DH。

  

第一条指令的REX前缀是否在第7位中缺少1,所以它只是REX.B 0x01?

这没有任何意义。

  

那么CPU如何区分两者?

好吧,一个有REX前缀而另一个没有。