INSTRUCTION SET OPCODES AND CLOCK CYCLES

Table D-2. Instruction Set Summary (Continued)

Function

 

Format

 

Clocks

Notes

 

 

 

 

 

 

 

PROGRAM TRANSFER INSTRUCTIONS (Continued)

 

 

 

 

 

RET = Return from procedure

 

 

 

 

 

 

 

 

 

 

 

 

 

within segment

1 1 0 0 0 0 1 1

 

 

 

16

 

within segment adding immed to SP

 

 

 

 

 

 

1 1 0 0 0 0 1 0

data-low

data-high

 

18

 

intersegment

 

 

 

 

 

 

1 1 0 0 1 0 1 1

 

 

 

22

 

intersegment adding immed to SP

 

 

 

 

 

 

1 1 0 0 1 0 1 0

data-low

data-high

 

25

 

 

 

 

 

 

 

 

JMP = Unconditional jump

 

 

 

 

 

 

 

 

 

 

 

 

 

short/long

1 1 1 0 1 0 1 1

disp-low

 

 

14

 

direct within segment

 

 

 

 

 

 

1 1 1 0 1 0 0 1

disp-low

disp-high

 

14

 

reg/memory indirect within segment

 

 

 

 

 

 

1 1 1 1 1 1 1 1

mod 100 r/m

 

 

26

 

indirect intersegment

 

 

 

 

 

 

1 1 1 1 1 1 1 1

mod 101 r/m

(mod ?11)

 

11/17

 

direct intersegment

 

 

 

 

 

 

1 1 1 0 1 0 1 0

segment offset

 

 

14

 

 

 

 

 

 

 

 

 

 

selector

 

 

 

 

Iteration Control

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LOOP = Loop CX times

1 1 1 0 0 0 1 0

disp

 

 

6/16

(2)

LOOPZ/LOOPE =Loop while zero/equal

 

 

 

 

 

 

1 1 1 0 0 0 0 1

disp

 

 

5/16

(2)

LOOPNZ/LOOPNE =

 

 

 

 

 

 

1 1 1 0 0 0 0 0

disp

 

 

5/16

(2)

Loop while not zero/not equal

 

 

 

 

 

 

JCXZ = Jump if CX = zero

 

 

 

 

 

 

1 1 1 0 0 0 1 1

disp

 

 

6/16

(2)

 

 

 

 

 

 

 

Interrupts

 

 

 

 

 

 

INT = Interrupt

 

 

 

 

 

 

 

 

 

 

 

 

 

Type specified

1 1 0 0 1 1 0 1

type

 

 

47

 

Type 3

 

 

 

 

 

 

1 1 0 0 1 1 0 0

 

 

 

45

 

INTO = Interrupt on overflow

 

 

 

 

 

 

1 1 0 0 1 1 1 0

 

 

 

48/4

(3)

 

 

 

 

 

 

 

BOUND = Detect value out of range

0 1 1 0 0 0 1 0

mod reg r/m

 

 

33-35

 

IRET = Interrupt return

1 1 0 0 1 1 1 1

 

 

 

28

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NOTES:

1.Clock cycles are given for 8-bit/16-bit operations.

2.Clock cycles are given for jump not taken/jump taken.

3.Clock cycles are given for interrupt taken/interrupt not taken.

4.If TEST = 0

Shading indicates additions and enhancements to the 8086/8088 instruction set. See Appendix A, “80C186 Instruction Set Additions and Extensions,” for details.

D-8

Page 381
Image 381
Intel 80C186XL, 80C188XL user manual Loopnz/Loopne =