Figure 2-21 Examples of instruction execution times.

InstructionNo. of Clock CyclesNo. of Transfers
ADD (addition) or SUB (subtraction)
Register to register30
Memory to register9+EA1
Register to memory16+EA2
Immediate to register40
Immediate to memory17+EA2
MOV (move)
Accumulator to memory101
Memory to accumulator101
Register to register20
Memory to register8+EA1
Register to memory9+EA1
Immediate to register40
Immediate to memory10+EA1
Register to segment register20
Memory to segment register8+EA1
Segment register to register20
Segment register to memory9+EA1
MUL (unsigned multiply)
8-bit register multiplier70-770
16-bit register multiplier118-1330
8-bit memory multiplier(76-83)+EA1
16-bit memory multiplier(124-139)+EA1
IMUL (signed multiply)
8-bit register multiplier80-980
16-bit register multiplier128-1540
8-bit memory multiplier(86-104)+EA1
16-bit memory multiplier(134-160)+EA1
DIV (unsigned divide)
8-bit register divisor80-900
16-bit register divisor144-1620
8-bit memory divisor(86-96)+EA1
16-bit memory divisor(150-168)+EA1
IDIV (signed divide)
8-bit register divisor101-1120
16-bit register divisor165-1840
8-bit memory divisor(107-118)+EA1
16-bit memory divisor(171-190)+EA1
Shift and rotate instructions
Single-bit register20
Variable-bit register8+4/bit0
Single-bit memory15+EA2
Variable-bit memory20+EA+4/bit2
JMP (unconditional branch)
Short150
Intrasegment direct150
Intersegment direct150
Intrasegment indirect using register mode110
Intrasegment indirect18+EA1
Intersegment indirect24+EA2
Conditional branch instructions
JCXZ6 (no branch)
18 (branch)
0
All other conditional branch instructions4 (no branch)
16 (branch)
0

Figure 2-22 Times needed to calculate the effective address.

EANo. of Clock Cycles
Direct6
Register indirect5
Register relative9
Based indexed
(BP)+(DI) or (BX)+(SI)7
(BP)+(SI) or (BX)+(DI)8
Based indexed relative
(BP)+(DI)+DISP or (BX)+(SI)+DISP11
(BP)+(SI)+DISP or (BX)+(DI)+DISP12

Table of Contents | Next page | Previous page

This is page 21.