Select an instruction to view timings
Data from 8088 to Pentium
MOV
Move data
Example: mov eax, ebx
Cycle Timings
| Operands | Bytes | 8088 | V20 | 186 | 286 | 386 | 486 | Pentium | Pair |
|---|
Legend
reg: General register
mem: Memory address
imm: Immediate data
acc: Accumulator (AL/AX/EAX)
NP: Not Pairable
UV: Pairable in U or V pipe
PU/PV: Pairable in U/V only
d(n): Displacement bytes
i(n): Immediate bytes
+EA: Add Effective Address calc time (5-12 cycles on 8088)
+m: Add bytes of next instruction (prefetch reload)
*: Pairable with penalties/restrictions
Timing Notes
i (Immediate): Represents the size in bytes of the immediate data (constants) in the instruction. For example, `ADD AX, 1234h` has a 2-byte immediate (16-bit), while `ADD AL, 12h` has a 1-byte immediate.
d (Displacement): Represents the offset or memory address displacement bytes. A short jump has a 1-byte displacement, while a memory operand like `[BX+100h]` has a 2-byte displacement.
Division (DIV/IDIV): Cycle counts for division vary significantly because the CPU performs an iterative calculation (like doing long division by bit-shifting). The total time depends on the number of significant bits in the operands. Smaller numbers divide faster.