@Timing for i486 CPU
:mov
^MOV dest, src

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                            1
      reg, mem                            1
      mem, reg                            1          2
      reg, imm                            1
      mem, imm                            1
      acc, mem                            1          2
      mem, axx                            1
      sreg, reg                          3/9        0/3     ~#RV/P~, ~#9~
      sreg, mem                          3/9        2/5     ~#RV/P~, ~#9~
      reg, sreg                           3
      mem, sreg                           3
      cr0, reg                           17          2
      cr2/cr3, reg                        4
      reg, cr0/cr2/cr3                    4
      dr0-3, reg                         10
      dr6-7, reg                         10
      reg, dr0-3                          9
      reg, dr6-7                          9
      tr3-7, reg                          4
      reg, tr3                            3
      reg, tr4-7                          4
:movsx
^MOVSX dest, crc

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                            3
      reg, mem                            3          2
:movzx
^MOVZX dest, crc

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                            3
      reg, mem                            3          2
:push
^PUSH arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg  (11111111.11110reg)            4
      reg  (01010reg)                     1
      mem                                 4          1      ~#1~
      imm                                 1
      sreg es,cs,ss,ds (000sr110)         3
      sreg fs,gs (00001111.10srg000)      3
:pusha
^PUSHA

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                             11
:pop
^POP arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg  (10001111.11000reg)            4          1
      reg  (01011reg)                     1          2
      mem                                 5          2      ~#1~
      sreg es,ss,ds (000sr111)           3/9        2/5     ~#RV/P~, ~#9~
      sreg fs,gs (00001111.10srg001)     3/9        2/5     ~#RV/P~, ~#9~
:popa
^POPA

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              9         7/15    ~#16/32~
:xchg
^XCHG dest, src

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                            3                 ~#2~
      acc, reg                            3                 ~#2~
      mem, reg                            5                 ~#2~
:nop
^NOP

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              1
:lea
^LEA dest, crc

%     Arguments                       Cache Hit   Penalty   Notes
      *, * (no index register)            1
      *, * (with index register)          2
:add
^ADD dest, src

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                            1
      reg, mem                            2          2
      mem, reg                            3         6/2     ~#U/L~
      reg, imm                            1
      acc, imm                            1
      mem, imm                            3         6/2     ~#U/L~
:adc
^ADC dest, src

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                            1
      reg, mem                            2          2
      mem, reg                            3         6/2     ~#U/L~
      reg, imm                            1
      acc, imm                            1
      mem, imm                            3         6/2     ~#U/L~
:and
^AND dest, src

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                            1
      reg, mem                            2          2
      mem, reg                            3         6/2     ~#U/L~
      reg, imm                            1
      acc, imm                            1
      mem, imm                            3         6/2     ~#U/L~
:or
^OR dest, src

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                            1
      reg, mem                            2          2
      mem, reg                            3         6/2     ~#U/L~
      reg, imm                            1
      acc, imm                            1
      mem, imm                            3         6/2     ~#U/L~
:sub
^SUB dest, src

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                            1
      reg, mem                            2          2
      mem, reg                            3         6/2     ~#U/L~
      reg, imm                            1
      acc, imm                            1
      mem, imm                            3         6/2     ~#U/L~
:sbb
^SBB dest, src

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                            1
      reg, mem                            2          2
      mem, reg                            3         6/2     ~#U/L~
      reg, imm                            1
      acc, imm                            1
      mem, imm                            3         6/2     ~#U/L~
:xor
^XOR dest, src

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                            1
      reg, mem                            2          2
      mem, reg                            3         6/2     ~#U/L~
      reg, imm                            1
      acc, imm                            1
      mem, imm                            3         6/2     ~#U/L~
:inc
^INC arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg  (1111111W.11TTTreg)            1
      reg  (01TTTreg)                     1
      mem                                 3         6/2     ~#U/L~
:dec
^DEC arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg  (1111111W.11TTTreg)            1
      reg  (01TTTreg)                     1
      mem                                 3         6/2     ~#U/L~
:not
^NOT arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                 1
      mem                                 3         6/2     ~#U/L~
:neg
^NEG arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                 1
      mem                                 3         6/2     ~#U/L~
:cmp
^CMP dest, src

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                            1
      mem, reg                            2          2
      reg, mem                            2          2
      reg, imm                            1
      acc, imm                            1
      mem, imm                            2          2
:mul
^MUL arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg_b                             13/18               ~#MN/MX~, ~#3~
      reg_w                             13/26               ~#MN/MX~, ~#3~
      reg_d                             13/42               ~#MN/MX~, ~#3~
      mem_b                             13/18        1      ~#MN/MX~, ~#3~
      mem_w                             13/26        1      ~#MN/MX~, ~#3~
      mem_d                             13/42        1      ~#MN/MX~, ~#3~
:imul
^IMUL arg1[, arg2[, arg3]]

%     Arguments                       Cache Hit   Penalty   Notes
      reg_b                             13/18               ~#MN/MX~, ~#3~
      reg_w                             13/26               ~#MN/MX~, ~#3~
      reg_d                             13/42               ~#MN/MX~, ~#3~
      mem_b                             13/18               ~#MN/MX~, ~#3~
      mem_w                             13/26               ~#MN/MX~, ~#3~
      mem_d                             13/42               ~#MN/MX~, ~#3~
      reg_b, reg_b                      13/18               ~#MN/MX~, ~#3~
      reg_w, reg_w                      13/26               ~#MN/MX~, ~#3~
      reg_d, reg_d                      13/42               ~#MN/MX~, ~#3~
      reg_b, mem_b                      13/18        1      ~#MN/MX~, ~#3~
      reg_w, mem_w                      13/26        1      ~#MN/MX~, ~#3~
      reg_d, mem_d                      13/42        1      ~#MN/MX~, ~#3~
      reg_b, imm_b, reg_b               13/18               ~#MN/MX~, ~#3~
      reg_w, imm_w, reg_w               13/26               ~#MN/MX~, ~#3~
      reg_d, imm_d, reg_d               13/42               ~#MN/MX~, ~#3~
      mem_b, imm_b, reg_b               13/18        2      ~#MN/MX~, ~#3~
      mem_w, imm_w, reg_w               13/26        2      ~#MN/MX~, ~#3~
      mem_d, imm_d, reg_d               13/42        2      ~#MN/MX~, ~#3~
:div
^DIV arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg_b                              16
      reg_w                              24
      reg_d                              40
      mem_b                              16
      mem_w                              24
      mem_d                              40
:idiv
^IDIV arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg_b                              19
      reg_w                              27
      reg_d                              43
      mem_b                              20
      mem_w                              28
      mem_d                              44
:cbw
^CBW

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              3
:cwd
^CWD

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              3
:rol
^ROL arg, count

%     Arguments                       Cache Hit   Penalty   Notes
      reg, 1                              3
      mem, 1                              4          6
      reg, cl                             3
      mem, cl                             4          6
      reg, imm                            2
      mem, imm                            4          6
:ror
^ROR arg, count

%     Arguments                       Cache Hit   Penalty   Notes
      reg, 1                              3
      mem, 1                              4          6
      reg, cl                             3
      mem, cl                             4          6
      reg, imm                            2
      mem, imm                            4          6
:sar
^SAR arg, count

%     Arguments                       Cache Hit   Penalty   Notes
      reg, 1                              3
      mem, 1                              4          6
      reg, cl                             3
      mem, cl                             4          6
      reg, imm                            2
      mem, imm                            4          6
:shl
^SHL arg, count

%     Arguments                       Cache Hit   Penalty   Notes
      reg, 1                              3
      mem, 1                              4          6
      reg, cl                             3
      mem, cl                             4          6
      reg, imm                            2
      mem, imm                            4          6
:shr
^SHR arg, count

%     Arguments                       Cache Hit   Penalty   Notes
      reg, 1                              3
      mem, 1                              4          6
      reg, cl                             3
      mem, cl                             4          6
      reg, imm                            2
      mem, imm                            4          6
:rcl
^RCL arg, count

%     Arguments                       Cache Hit   Penalty   Notes
      reg, 1                              3
      mem, 1                              4          6
      reg, cl                            8/30               ~#MN/MX~, ~#4~
      mem, cl                            9/31               ~#MN/MX~, ~#5~
      reg, imm                           8/30               ~#MN/MX~, ~#4~
      mem, imm                           9/31               ~#MN/MX~, ~#5~
:rcr
^RCR arg, count

%     Arguments                       Cache Hit   Penalty   Notes
      reg, 1                              3
      mem, 1                              4          6
      reg, cl                            8/30               ~#MN/MX~, ~#4~
      mem, cl                            9/31               ~#MN/MX~, ~#5~
      reg, imm                           8/30               ~#MN/MX~, ~#4~
      mem, imm                           9/31               ~#MN/MX~, ~#5~
:shld
^SHLD arg, count

%     Arguments                       Cache Hit   Penalty   Notes
      reg, imm                            2
      mem, imm                            3          6
      reg, cl                             3
      mem, cl                             4          5
:shrd
^SHRD arg, count

%     Arguments                       Cache Hit   Penalty   Notes
      reg, imm                            2
      mem, imm                            3          6
      reg, cl                             3
      mem, cl                             4          5
:bswap
^BSWAP arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                 1
:xadd
^XADD dest, src

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                            3
      mem, reg                            4         6/2     ~#U/L~
:cmpxchg
^CMPXCHG dest, src

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                            6
      mem, reg                           7/10        2      ~#6~
:jo
^JO adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jno
^JNO adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jnae
^JNAE adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jb
^JB adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jnb
^JNB adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jae
^JAE adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:je
^JE adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jz
^JZ adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jne
^JNE adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jnz
^JNZ adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jbe
^JBE adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jna
^JNA adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jnc
^JNC adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jnbe
^JNBE adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:ja
^JA adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jc
^JC adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:js
^JS adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jns
^JNS adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jp
^JP adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jpe
^JPE adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jnp
^JNP adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jpo
^JPO adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jl
^JL adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jnge
^JNGE adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jnl
^JNL adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jge
^JGE adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jle
^JLE adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jng
^JNG adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jnle
^JNLE adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:jg
^JG adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              3/1                ~#T/NT~, ~#23~
      disp16&32                          3/1                ~#T/NT~, ~#23~
:seto
^SETO adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setno
^SETNO adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setnae
^SETNAE adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setb
^SETB adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setnb
^SETNB adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setae
^SETAE adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:sete
^SETE adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setz
^SETZ adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setne
^SETNE adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setnz
^SETNZ adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setbe
^SETBE adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setna
^SETNA adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setnc
^SETNC adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setnbe
^SETNBE adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:seta
^SETA adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setc
^SETC adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:sets
^SETS adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setns
^SETNS adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setp
^SETP adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setpe
^SETPE adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setnp
^SETNP adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setpo
^SETPO adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setl
^SETL adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setnge
^SETNGE adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setnl
^SETNL adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setge
^SETGE adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setle
^SETLE adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setng
^SETNG adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setnle
^SETNLE adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:setg
^SETG adr

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                4/3                ~#T/F~
      mem                                3/4                ~#T/F~
:loop
^LOOP adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              7/6                ~#L/NL~, ~#23~
:loopz
^LOOPZ adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              9/6                ~#L/NL~, ~#23~
:loope
^LOOPE adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              9/6                ~#L/NL~, ~#23~
:loopnz
^LOOPNZ adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              9/6                ~#L/NL~, ~#23~
:loopne
^LOOPNE adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              9/6                ~#L/NL~, ~#23~
:jcxz
^JCXZ adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              8/5                ~#T/NT~, ~#23~
:jecxz
^JECXZ adr

%     Arguments                       Cache Hit   Penalty   Notes
      disp8                              8/5                ~#T/NT~, ~#23~

  Note: Adress Size Predix Differentiates JCXZ for JECXZ
:jmp
^JMP adr

%     Arguments                       Cache Hit   Penalty   Notes
      short                               3                 ~#7~, ~#23~
      direct                              3                 ~#7~, ~#23~
      reg direct                          5                 ~#7~, ~#23~
      mem direct                          5          5      ~#7~
      direct intersegment                17          2      ~#R~, ~#7~, ~#22~
        to same level                    19          3      ~#P~, ~#9~
        thru Gate to same level          32          6      ~#P~, ~#9~
        thru TSS                        42+TS        3      ~#P~, ~#10~, ~#9~
        thru Task Gate                  43+TS        3      ~#P~, ~#10~, ~#9~
      indirect intersegment              13          9      ~#R~, ~#7~, ~#9~
        to same level                    18         10      ~#P~, ~#9~
        thru Gate to same level          31         13      ~#P~, ~#9~
        thru TSS                        41+TS       10      ~#P~, ~#10~, ~#9~
        thru Task Gate                  42+TS       10      ~#P~, ~#10~, ~#9~
:call
^CALL adr

%     Arguments                       Cache Hit   Penalty   Notes
      direct                              3                 ~#7~, ~#23~
      reg direct                          5                 ~#7~, ~#23~
      mem direct                          5          5      ~#7~
      direct intersegment                18          2      ~#R~, ~#7~, ~#22~
        to same level                    20          3      ~#P~, ~#9~
        thru Gate to same level          35          6      ~#P~, ~#9~
        to inner level, no params        69         17      ~#P~, ~#9~
        to inner level, x par (d)words  77+4X      17+n     ~#P~, ~#11~, ~#9~
        to TSS                          37+TS        3      ~#P~, ~#10~, ~#9~
        thru Task Gate                  38+TS        3      ~#P~, ~#10~, ~#9~
      indirect intersegment              17          8      ~#R~, ~#7~
        to same level                    20         10      ~#P~, ~#9~
        thru Gate to same level          35         13      ~#P~, ~#9~
        to inner level, no params        69         24      ~#P~, ~#9~
        to inner level, x par (d)words  77+4X      24+n     ~#P~, ~#11~, ~#9~
        to TSS                          37+TS       10      ~#P~, ~#10~, ~#9~
        thru Task Gate                  38+TS       10      ~#P~, ~#10~, ~#9~
:ret
^RET [SP_add]

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              5          5
      adding immediate to SP              5          5
      intersegment                       13          8      ~#R~, ~#7~
        to same level                    17          9      ~#P~, ~#9~
        to outer level                   35         12      ~#P~, ~#9~
      intersegment adding imm to SP      14          8      ~#R~, ~#7~
        to same level                    18          9      ~#P~, ~#9~
        to outer level                   36         12      ~#P~, ~#9~
:enter
^ENTER disp18,level8

%     Arguments                       Cache Hit   Penalty   Notes
      Level = 0                          14
      Level = 1                          17
      Level (L) > 1                     17+3L               ~#8~
:leave
^LEAVE

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              5          1
:lds
^LDS reg, mem

%     Arguments                       Cache Hit   Penalty   Notes
      reg, mem                           6/12       7/10    ~#RV/P~, ~#9~
:les
^LES reg, mem

%     Arguments                       Cache Hit   Penalty   Notes
      reg, mem                           6/12       7/10    ~#RV/P~, ~#9~
:lfs
^LFS reg, mem

%     Arguments                       Cache Hit   Penalty   Notes
      reg, mem                           6/12       7/10    ~#RV/P~, ~#9~
:lgs
^LGS reg, mem

%     Arguments                       Cache Hit   Penalty   Notes
      reg, mem                           6/12       7/10    ~#RV/P~, ~#9~
:lss
^LSS reg, mem

%     Arguments                       Cache Hit   Penalty   Notes
      reg, mem                           6/12       7/10    ~#RV/P~, ~#9~
:bt
^BT dest, value

%     Arguments                       Cache Hit   Penalty   Notes
      reg, imm                            3
      mem, imm                            3          1
      reg, reg                            3
      mem, reg                            8          2
:bts
^BTS dest, value

%     Arguments                       Cache Hit   Penalty   Notes
      reg, imm                            6
      mem, imm                            8         2/0     ~#U/L~
      reg, reg                            6
      mem, reg                           12         3/1     ~#U/L~
:btr
^BTR dest, value

%     Arguments                       Cache Hit   Penalty   Notes
      reg, imm                            6
      mem, imm                            8         2/0     ~#U/L~
      reg, reg                            6
      mem, reg                           12         3/1     ~#U/L~
:btc
^BTC dest, value

%     Arguments                       Cache Hit   Penalty   Notes
      reg, imm                            6
      mem, imm                            8         2/0     ~#U/L~
      reg, reg                            6
      mem, reg                           12         3/1     ~#U/L~
:bsf
^BSF dest, value

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                           6/42               ~#MN/MX~, ~#12~
      mem, reg                           7/43        2      ~#MN/MX~, ~#13~
:bsr
^BSR dest, value

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                          6/103               ~#MN/MX~, ~#14~
      mem, reg                          7/104        1      ~#MN/MX~, ~#15~
:cmps:cmpsb:cmpsw:cmpsd
^CMPSB/CMPSW/CMPSD

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              8          6      ~#16~
      repe prefix, cx/ecx = 0             5
      repe prefix, cx/ecx > 0            7+7c               ~#16~, ~#17~
      repne prefix, cx/ecx = 0            5
      repne prefix, cx/ecx > 0           7+7c               ~#16~, ~#17~
:lods:lodsb:lodsw:lodsd
^LODSB/LODSW/LODSD

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              5          2
      rep prefix, cx/ecx = 0              5
      rep prefix, cx/ecx > 0             7+4c               ~#16~, ~#18~
:movs:movsb:movsw:movsd
^MOVSB/MOVSW/MOVSD

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              7          2      ~#16~
      rep prefix, cx/ecx = 0              5
      rep prefix, cx/ecx = 1             13          1      ~#16~
      rep prefix, cx/ecx > 1            12+3c               ~#16~, ~#19~
:scas:scasb:scasw:scasd
^SCASB/SCASW/SCASD

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              6          2
      repe prefix, cx/ecx = 0             5
      repe prefix, cx/ecx > 0            7+5c               ~#20~
      repne prefix, cx/ecx = 0            5
      repne prefix, cx/ecx > 0           7+5c               ~#20~
:stos:stosb:stosw:stosd
^STOSB/STOSW/STOSD

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              5
      rep prefix, cx/ecx = 0              5
      rep prefix, cx/ecx > 0             7+4c
:xlat
^XLAT

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              4          2
:clc
^CLC

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              2
:stc
^STC

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              2
:cmc
^CMC

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              2
:cld
^CLD

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              2
:std
^STD

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              2
:cli
^CLI

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              5
:sti
^STI

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              5
:lahf
^LAHF

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              3
:sahf
^SAHF

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              2
:pushf
^PUSHF

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                             4/3                ~#RV/P~
:popf
^POPF

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                             9/6                ~#RV/P~
:aaa
^AAA

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              3
:aas
^AAS

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              3
:aam
^AAM

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                             15
:aad
^AAD

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                             14
:daa
^DAA

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              2
:das
^DAS

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              2
:hlt
^HLT

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              4
:clts
^CLTS

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              7          2
:invd
^INVD

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              4
:wbinvd
^WBINVD

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              5
:invlpg
^INVLPG mem

%     Arguments                       Cache Hit   Penalty   Notes
      mem                               12/11               ~#H/NH~
:
:prefix_adrsize
^Adress size prefix

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              1
:prefix_lock
^Bus lock prefix

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              1
:prefix_opsize
^Operand size prefix

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              1
:prefix_cs:prefix_ds:prefix_es:prefix_fs:prefix_gs:prefix_ss
^Segment override prefixes CS: DS: ES: FS: GS: SS:

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                              1
:arpl
^ARPL arg1, arg2

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                            9
      mem, reg                            9
:lar
^LAR arg1, arg2

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                           11          3
      mem, reg                           11          5
:lgdt
^LGDT arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                12          5
      mem                                12          5
:lidt
^LIDT arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                12          5
      mem                                12          5
:lldt
^LLDT arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                11          3
      mem                                11          6
:lmsw
^LMSW arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                13
      mem                                13          1
:lsl
^LSL arg1, arg2

%     Arguments                       Cache Hit   Penalty   Notes
      reg, reg                           10          3
      reg, mem                           10          6
:ltr
^LTR arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                20
      mem                                20
:sgdt
^SGDT arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                10
      mem                                10
:sidt
^SIDT arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                10
      mem                                10
:sldt
^SLDT arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                 2
      mem                                 3
:smsw
^SMSW arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                 2
      mem                                 3
:str
^STR arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                 2
      mem                                 3
:verr
^VERR arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                11          3
      mem                                11          7
:verw
^VERW arg

%     Arguments                       Cache Hit   Penalty   Notes
      reg                                11          3
      mem                                11          7
:int n
^INT number

%     Arguments                       Cache Hit   Penalty   Notes
      imm8                             ~INT~+4/0              ~#RV/P~,~#21~
:int 3
^INT 3

%     Arguments                       Cache Hit   Penalty   Notes
      <none>                            ~INT~+0               ~#21~
:into
^INTO

%     Arguments                       Cache Hit   Penalty   Notes
      <none> (taken)                    ~INT~+2               ~#21~
      <none> (not taken)                  3                 ~#21~
:bound
^BOUND arg1, arg2

%     Arguments                       Cache Hit   Penalty   Notes
      arg1, arg2 (in range)               7          7      ~#21~
      arg1, arg2 (out of range)        ~INT~+24        7      ~#21~
:iret
^IRET

%     Arguments                       Cache Hit   Penalty   Notes
      <none> (Real/Virtual)              15          8
      <none> (Pmode, to same level)      20         11      ~#9~
      <none> (Pmode, to outer level)     36         19      ~#9~
      <none> (Pmode, to nested task)    ~TS~+32        4      ~#9~, ~#10~
:in
^IN port

%     Arguments                 Real   Pmode     Pmode    V86    Notes
%                               Mode  CPLIOPL  CPL>IOPL  Mode
      fixed port                 14      9         29      27
      variable port              14      8         28      27
:out
^OUT port

%     Arguments                 Real   Pmode     Pmode    V86    Notes
%                               Mode  CPLIOPL  CPL>IOPL  Mode
      fixed port                 16      11        31      29
      variable port              16      10        30      29
:ins
^INS B/W

%     Arguments                 Real   Pmode     Pmode    V86    Notes
%                               Mode  CPLIOPL  CPL>IOPL  Mode
      variable port              17      10        32      30
:outs
^OUTS B/W

%     Arguments                 Real   Pmode     Pmode    V86    Notes
%                               Mode  CPLIOPL  CPL>IOPL  Mode
      variable port              17      10        32      30    ~#24~
:rep ins
^REP INS B/W

%     Arguments                 Real   Pmode     Pmode    V86    Notes
%                               Mode  CPLIOPL  CPL>IOPL  Mode
      variable port            16+8c   10+8c     30+8c   29+8c   ~#25~
:rep outs
^REP OUTS B/W

%     Arguments                 Real   Pmode     Pmode    V86    Notes
%                               Mode  CPLIOPL  CPL>IOPL  Mode
      variable port            17+5c   11+5c     31+5c   30+5c   ~#26~

