X86-64 Instruction Encoding: Difference between revisions

→‎SIB: New version
[unchecked revision][unchecked revision]
(→‎SIB: New version)
Line 354:
+---+---+---+---+---+---+---+---+
</pre>
{| {{wikitable}}
* SIB.scale (2 bits)
! Field
* SIB.index (3 bits)
! Length
* SIB.base (3 bits)
! Description
 
|4-
<div| id="SIBScale">The ''SIB.scale'' ||2 bits||This field indicates the scaling factor of SIB.index, where ''s'' (as used in the tables) equals 2<span style="vertical-align: super;">SIB.scale</span>.</div>
{| {{wikitable}}
! SIB.scale
! factor ''s''
|-
! b00||1
|1-
! b01||2
|8-
! b10||4
|-
! b01b11||8
|2}
|-
| SIB.index||3 bits||The index register to use. See [[#Registers|Registers]] for the values to use for each of the registers. The REX.X, VEX.~X or XOP.~X field can extend this field with 1 most-significant bit to 4 bits total.
! b10
|4
|-
| SIB.base||3 bits||The base register to use. See [[#Registers|Registers]] for the values to use for each of the registers. The REX.B, VEX.~B or XOP.~B field can extend this field with 1 most-significant bit to 4 bits total.
! b11
|8
|}
 
Anonymous user