TIP: Click on subject to list as thread! ANSI
echo: 80xxx
to: FERNANDO ARIEL GONT
from: BRIAN MCCLOUD
date: 1998-01-25 11:10:00
subject: micro-ops 1/2

FAG>I was reading an Intel tutorial about optimization, and they really used 

FAG>lot the number of micro-ops ecah instruction produces...
FAG>I'd need a table that contained the number of micro-ops each instruction
FAG>produce....
FAG>Has any of you something like this? (If so, post it here or e-mail me...)
I can do this, simplifying from my tasm qref:
I will not include the 186 and up instructions, or protected-mode timings.
============================================
Instruction     Clocks
Mnemonic        486     386     286     8086
--------------------------------------------
AAA              3       4       3       8
AAD             14      19      14      60
AAM             15      17      16      83
AAS              3       4       3       8
ADC mem, imm     3       7       7      17+EA
ADC mem, reg     3       7       7      16+EA
ADC reg, imm     1       2       3       4
ADC reg, mem     2       6       7       9+EA
ADC reg, reg     1       2       2       3
ADD mem, imm     3       7       7      17+EA
ADD mem, reg     3       7       7      16+EA
ADD reg, imm     1       2       3       4
ADD reg, mem     2       6       7       9+EA
ADD reg, reg     1       2       2       3
AND mem, imm     3       7       7      17+EA
AND mem, reg     3       7       7      16+EA
AND reg, imm     1       2       3       4
AND reg, mem     2       6       7       9+EA
AND reg, reg     1       2       2       3
CALL far_ptr    18      17+m    13      28
CALL mem16       5      10+m    11      21+EA
CALL mem_far    17      20+m    16      37+EA
CALL reg16       5       7+m     7      16
CALL rel16       3       7+m     7      19
CBW              3       3       2       2
CLC              2       2       2       2
CLD              2       2       2       2
CLI              5       3       3       2
CMC              2       2       2       2
CMP mem, imm     2       5       7      10+EA
CMP mem, reg     2       5       7       9+EA
CMP reg, imm     1       2       3       4
CMP reg, mem     2       6       6       9+EA
CMP reg, reg     1       2       2       3
CMPS             8      10       8      22
CWD              3       2       2       5
DAA              2       4       3       4
DAS              2       4       3       4
DEC mem          3       6       7      15+EA
DEC reg          1       2       2       3
DIV mem16       24      25      25  (150..168)+EA
DIV mem8        16      17      17   (86..96)+EA
DIV reg16       24      22      22  (144..162)
DIV reg8        16      14      14   (80..90)
HLT              4       5       2       2
IDIV mem16      28      27      28  (171..190)+EA
IDIV mem8       20      19      20  (107..118)+EA
IDIV reg16      27      27      25  (165..184)
IDIV reg8       19      19      17  (101..112)
IMUL mem16   (13..26)(12..25)   24  (134..160)+EA
IMUL mem8    (13..18)(12..17)   16   (86..104)+EA
IMUL reg16   (13..26) (9..22)   21  (128..154)
IMUL reg8    (13..18) (9..14)   13   (80..98)
IN acc, imm     14      12       5      10
IN acc, DX      14      13       5       8
INC mem          3       6       7      15+EA
INC reg          1       2       2       3
INT3            26      33      23      52
INT imm8        30      37      23      51
INTO - OF SET   28      35      24      53
  - OF CLEAR     3       3       3       4
IRET            15      22      17      32
J(cond) - TAKEN  3       7+m     7      16
    - not taken  1       3       3       4
JMP far_ptr     17      12+m    11      15
JMP mem_far     13      43+m    15      24+EA
JMP mem16        5      10+m    11      18+EA
JMP reg16        5       7+m     7      11
JMP rel          3       7+m     7      15
LAHF             3       2       2       4
LEA reg, mem     1       2       3       2+EA
LDS reg, mem     6       7       7      16+EA
LES reg, mem     6       7       7      16+EA
LOCK prefix      1       0       0       2
LODS             5       5       5      12
LOOP cx0       2      11+m     8      17
     cx=0        6      11+m     4       5
LOOPZ cx0      9      11+m     8      18
     cx=0        6      11+m     4       6
LOOPNZ cx0     9      11+m     8      19
     cx=0        6      11+m     4       5
MOV acc, mem     1       4       5      10
MOV mem, acc     1       4       3      10
MOV mem, imm     1       2       3      10+EA
MOV mem, reg     1       2       3       9+EA
MOV mem, sreg    3       2       3       9+EA
MOV reg, imm     1       2       2       4
MOV reg, mem     1       4       5       8+EA
MOV reg, reg     1       2       2       2
MOV reg, sreg    3       2       2       2
MOV sreg, mem    9       5       5       8+EA
MOV sreg, reg    3       2       2       2
MOVS             7       7       5      18
MUL mem16    (13..26)(12..25)   24  (124..139)+EA
MUL mem8     (13..18)(12..17)   16   (76..83)+EA
MUL reg16    (13..26) (9..22)   21  (118..123)
MUL reg8     (13..18) (9..14)   13   (70..77)
NEG mem          3       6       7      16+EA
NEG reg          1       2       2       3
NOP              1       3       3       3
NOT mem          3       6       7      16+EA
NOT reg          1       2       2       3
OR mem, imm      3       7       7      17+EA
OR mem, reg      3       7       7      16+EA
OR reg, imm      1       2       3       4
OR reg, mem      2       6       7       9+EA
OR reg, reg      1       2       2       3
OUT imm, acc    16      10       3      10
OUT DX, acc     16      11       3       8
POP mem          6       5       5      17+EA
POP reg          4       4       5       8
POP sreg         3       7       5       8
PUSH mem         4       5       5      16+EA
PUSH reg         1       2       3      11
PUSH sreg        3       2       3      10
RCL mem, 1       4      10       7      15+EA
RCL mem, CL   (9..31)   10       8      20+4(CL)+EA
RCL reg, 1       3       9       2       2
RCL reg, CL   (8..30)    9       5       8+4(CL)
RCR mem, 1       4      10       7      15+EA
RCR mem, CL   (9..31)   10       8      20+4(CL)+EA
RCR reg, 1       3       9       2       2
RCR reg, CL   (8..30)    9       5       8+4(CL)
REP MOVS        12+3(CX) 5+4(CX) 5+4(CX) 9+17(CX)
REP STOS         7+4(CX) 5+5(CX) 4+3(CX) 9+10(CX)
REP[N]E CMPS     7+7(CX) 5+9n    5+9n    9+22n
REP[N]E SCAS     7+5(CX) 5+8n    5+8n    9+15n
RETN             5      10+m    11      16
RETN imm         5      10+m    11      20
RETF            13      18+m    15      26
>>> Continued to next message
 * OLX 2.2 * BlueWave?  Wet behind the ears, eh?
---------------
* Origin: Next time, Dial The Wrong Number! (209) 943-1880 (1:208/205)

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.