IDIV - Signed Integer Division

Clocks
operands 286 386 486 Size Bytes
reg8 17 19 19 2
reg16 25 27 27 2
reg32 43 43 2
mem8 20 22 20 2-4
mem16 38 30 28 2-4
mem32 46 44 2-4




IMUL - Signed Multiply

Clocks
operands 286 386 486 Size Bytes
reg8 13 9-14 13-18 2
reg16 21 9-22 13-26 2
reg32 9-38 12-42 2
mem8 16 12-17 13-18 2-4
mem16 24 12-25 13-26 2-4
mem32 12-41 13-42 2-4
reg16,reg16 9-22 13-26 3-5
reg32,reg32 9-38 13-42 3-5
reg16,mem16 12-25 13-26 3-5
reg16,immed 21 9-22 13-26 3
reg32,immed 21 9-38 13-42 3-6
reg16,reg16,immed 2 9-22 13-26 3-6
reg32,reg32,immed 21 9-38 13-42 3-6
reg16,mem16,immed 24 12-25 13-26 3-6
reg32,mem32,immed 24 12-41 13-42 3-6




IN - Input Byte or Word From Port

Clocks
operands 286 386 486 Size Bytes
accum,immed8 5 12 14 2
accum,immed8 (PM) 6/26 8/28/27 2
accum,DX 5 13 14 1
accum,DX (PM) 7/27 8/28/27 1
386+ protected mode timings depend on privilege levels.
first number is the timing if: CPL <= IOPL
second number is the timing if: CPL > IOPL or in VM 86 mode (386)
CPL >= IOPL (486)
third number is the timing when: virtual mode on 486 processor

486 virtual mode always requires 27 cycles




INC - Increment

Clocks
operands 286 386 486 Size Bytes
reg8 2 2 1 2
reg16 2 2 1 1
reg32 2 2 1 1
mem 7 6 3 2-4




INS - Input String from Port (80188+)

Clocks
operands 286 386 486 Size Bytes
dest,port 15 7 1 1
dest,port (PM) 5 9/29 10/32/30 1
none 5 15 17 1
none (PM) 5 9/29 10/32/30 1
386+ protected mode timings depend on privilege levels.
first number is the timing if: CPL <= IOPL
second number is the timing if: CPL > IOPL
third number is the timing if: virtual mode on 486 processor




INT - Interrupt

Clocks
operands 286 386 486 Size Bytes
3 (constant) 23+m 33 26 2
3 (prot. mode, same priv.) 40+m 59 44 2
3 (prot. mode, more priv.) 78+m 99 71 2
3 (from VM86 to PL 0) 119 82 2
3 (prot. mode via task gate) 167+m TS 37+TS 2
immed8 23+m 37 30 1
immed8 (prot. mode, same priv.) 40+m 59 44 1
immed8 (prot. mode, more priv.) 78+m 99 71 1
immed8 (from VM86 to PL 0) 119 86 1
immed8 (prot. mode, via task gate) 167+m TS 37+TS 1




INTO - Interrupt on Overflow

Clocks
operands 286 386 486 Size Bytes
none: jump 24+m 35 28 1
none: no jump 3 3 3 1
none: (prot. mode, same priv.) 59 46 1
none: (prot. mode, more priv.) 99 73 1
none: (from VM86 to PL 0) 84 119 1
none: (prot. mode, via task gate) TS 39+TS 1




INVD - Invalidate Cache (486+)

Clocks
operands 286 386 486 Size Bytes
none 4 2




INVLPG - Invalidate Translation Look-Aside Buffer Entry (486+)

Clocks
operands 286 386 486 Size Bytes
none 12 2
timing is for TLB entry hit only.




IRET/IRETD - Interrupt Return

Clocks
operands 286 386 486 Size Bytes
(iret)none 17+m 22 15 1
(prot. mode) 31+m 38 15 1
(to less privilege) 55+m 82 36 1
(different task, NT=1) 169+m TS TS+32 1
(iretd) 22/38 15 1
(to less privilege) 82 36 1
(to VM86 mode) 60 15 1
iretd (different task, NT=1) TS TS+32 1
386 timings are listed as real-mode/protected mode

[ TOC | Previous | NeXt | Winston's page ]