4 Instruction tables - Agner Fog
4 Instruction tables - Agner Fog
4 Instruction tables - Agner Fog
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Pentium 4<br />
RETF i 4 33 11 0 86<br />
IRET 4 48 24 0 86<br />
ENTER i,0 4 12 26 26 186<br />
ENTER i,n 4 45+24n 128+16n 186<br />
LEAVE 4 0 3 3 186<br />
BOUND m 4 14 14 14 186<br />
INTO 4 5 18 18 86<br />
INT i 4 84 644 86<br />
String instructions<br />
LODS 4 3 6 6 86<br />
REP LODS 4 5n ≈ 4n+36 86<br />
STOS 4 2 6 6 86<br />
REP STOS 4 2n+3 ≈ 3n+10 86<br />
MOVS 4 4 6 4 86<br />
REP MOVS 4 ≈163+1.1n 86<br />
SCAS 4 3 6 86<br />
REP SCAS 4 ≈ 40+6n ≈4n 86<br />
CMPS 4 5 8 86<br />
REP CMPS 4 ≈ 50+8n ≈4n 86<br />
Other<br />
NOP (90) 1 0 0 0.25 0/1 alu0/1 86<br />
Long NOP (0F 1F) 1 0 0 0.25 0/1 alu0/1 ppro<br />
PAUSE 4 2 sse2<br />
CPUID 4 39-81 200-500 p5<br />
RDTSC<br />
Notes:<br />
4 7 80 p5<br />
a) Add 1 μop if source is a memory operand.<br />
b)<br />
Uses an extra μop (port 3) if SIB byte used. A SIB byte is needed if the<br />
memory operand has more than one pointer register, or a scaled index, or<br />
ESP is used as base pointer.<br />
c)<br />
Add 1 μop if source or destination, but not both, is a high 8-bit register (AH,<br />
BH, CH, DH).<br />
d) Has (false) dependence on the flags in most cases.<br />
e) Not available on PMMX<br />
q) Latency is 12 in 16-bit real or virtual mode, 24 in 32-bit protected mode.<br />
Floating point x87 instructions<br />
<strong>Instruction</strong> Operands<br />
μops<br />
Microcode<br />
Latency<br />
Page 137<br />
Additional latency<br />
Reciprocal throughput<br />
Move instructions<br />
FLD r 1 0 6 0 1 0 mov 87<br />
FLD m32/64 1 0 ≈ 7 0 1 2 load 87<br />
Port<br />
Execution unit<br />
Subunit<br />
<strong>Instruction</strong> set<br />
Notes