⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 汇编指令的字节.html

📁 Intel80x86汇编指令的字节大全!
💻 HTML
📖 第 1 页 / 共 4 页
字号:


<B>DAA</B>     Decimal adjust AL after addition

                bytes   8088    186     286     386     486     Pentium
                 1       4       4       3       4       2       3   NP

        Example:        daa


<B>DAS</B>     Decimal adjust AL after subtraction

                bytes   8088    186     286     386     486     Pentium
                 1       4       4       3       4       2       3   NP

        Example:        das


<B>DEC</B>     Decrement

    operand     bytes   8088    186     286     386     486     Pentium
    r8           2       3       3       2       2       1       1   UV
    r16          1       3       3       2       2       1       1   UV
    r32          1       3       3       2       2       1       1   UV
    mem       2+d(0,2)  23+EA   15       7       6       3       3   UV

        Example:        dec     eax


<B>DIV</B>     Unsigned divide

    operand     bytes   8088    186     286     386     486     Pentium
    r8           2     80-90     29     14      14      16      17   NP
    r16          2    144-162    38     22      22      24      25   NP
    r32          2       -       -       -      38      40      41   NP
    mem8    2+d(0-2)   86-96+EA  35     17      17      16      17   NP
    mem16   2+d(0-2)  150-168+EA 44     25      25      24      25   NP
    mem32   2+d(0-2)     -       -       -      41      40      41   NP

   implied    operand       quotient   remainder
   dividend
   AX      /  byte       =      AL     AH
   DX:AX   /  word       =      AX     DX
   EDX:EAX /  dword      =     EAX     EDX

        Example:        div     ebx


<B>ENTER</B>   Make stack frame for procedure parameters (186+)

      operands  bytes   8088    186     286     386     486     Pentium
      imm16, 0     3     -      15      11      10      14      11   NP
      imm16, 1     4     -      25      15      12      17      15   NP
      imm16, imm8  4     -   22+16n    12+4n   15+4n   17+3i  15+2i  NP
                        n = imm8-1;  i = imm8

        Example:        enter   1, 0


<B>ESC</B>     Escape

escape opcodes D8 - DF are used by <A HREF="opcode_f.html">floating point instructions



</A><B>HLT</B>     Halt

                bytes   8088    186     286     386     486     Pentium
                 1       2       2       2       5       4       4   NP

        Example:        hlt


<B>IDIV</B>    Signed divide

     operand    bytes    8088      186    286    386    486     Pentium
     r8          2     101-112    44-52   17     19     19      22   NP
     r16         2     165-184    53-61   25     27     27      30   NP
     r32         2       -          -      -     43     43      46   NP
     mem8   2+d(0-2)  107-118+EA  50-58   20     22     20      22   NP
     mem16  2+d(0-2)  171-190+EA  59-67   28     30     28      30   NP
     mem32  2+d(0-2)     -          -      -     46     44      46   NP

   implied    operand       quotient   remainder
   dividend
   AX      /  byte       =      AL     AH
   DX:AX   /  word       =      AX     DX
   EDX:EAX /  dword      =     EAX     EDX


        Example:        idiv    ebx


<B>IMUL</B>    Signed multiply

                         Accumulator Multiplies

     operand    bytes   8088     186    286     386     486     Pentium
     r8          2      80-98    25-28  13      9-14    13-18   11   NP
     r16         2     128-154   34-37  21      9-22    13-26   11   NP
     r32         2       -        -      -      9-38    13-42   10   NP
     mem8    2+d(0-2)  86-104+EA 32-34  16     12-17    13-18   11   NP
     mem16   2+d(0-2) 134-160+EA 40-43  24     12-25    13-26   11   NP
     mem32   2+d(0-2)    -        -      -     12-41    13-42   10   NP

     implied      operand      result
   multiplicand (multiplier)

        AL    *  byte       =  AX
        AX    *  word       =  DX:AX
        EAX   *  dword      =  EDX:EAX

        Example:        imul    ebx


                        2 and 3 operand Multiplies

     operands       bytes     186   286    386         486      Pentium
     r16, imm      2+i(1,2)    -    21  9-14/9-22  13-18/13-26  10   NP
     r32, imm      2+i(1,2)    -     -     9-38       13-42     10   NP
     r16,r16,imm   2+i(1,2)  22/29  21  9-14/9-22  13-18/13-26  10   NP
     r32,r32,imm   2+i(1,2)    -     -     9-38       13-42     10   NP
     r16,m16,imm   2+d(0-2)  25/32  24 12-17/12-25 13-18/13-26  10   NP
                    +i(1,2)
     r32,m32,imm   2+d(0-2)+i(1,2)   -    12-41       13-42     10   NP
     r16, r16      2+i(1,2)    -     -     9-22    13-18/13-26  10   NP
     r32, r32      2+i(1,2)    -     -     9-38       13-42     10   NP
     r16, m16      2+d(0-2)+i(1,2)   -    12-25    13-18/13-26  10   NP
     r32, m32      2+d(0-2)+i(1,2)   -    12-41       13-42     10   NP

all forms: dest, src                          cycles for:   byte/word
               or                                             dword
           dest, src1, src2


        Example:        imul    eax, ebx, 10


<B>IN </B>     Input from port

    operands    bytes   8088    186     286     386     486     Pentium
    al, imm8     2      14      10       5      12      14       7   NP
    ax, imm8     2      14      10       5      12      14       7   NP
    eax, imm8    2       -       -       -      12      14       7   NP
    al, dx       1      12       8       5      13      14       7   NP
    ax, dx       1      12       8       5      13      14       7   NP
    eax, dx      1       -       -       -      13      14       7   NP

                             Protected mode

   operands     bytes                           386     486     Pentium
   acc, imm      2                           6/26/26  9/29/27  4/21/19 NP
   acc, dx       1                           7/27/27  8/28/27  4/21/19 NP

                   cycles for: CPL &lt;= IOPL / CPL &gt; IOPL / V86


        Example:        in      al, dx


<B>INC</B>     Increment

    operand     bytes   8088    186     286     386     486     Pentium
    r8           2       3       3       2       2       1       1   UV
    r16          1       3       3       2       2       1       1   UV
    r32          1       3       3       2       2       1       1   UV
    mem       2+d(0,2)  23+EA   15       7       6       3       3   UV

        Example:        inc     ebx


<B>INS/INSB/INSW/INSD </B>    Input from port to string

    variations  bytes   8088    186     286     386     486     Pentium
    insb         1       -      14       5      15      17      9    NP
    insw         1       -      14       5      15      17      9    NP
    insd         1       -       -       -      15      17      9    NP

                             Protected Mode

                bytes                           386     486     Pentium
                 1                           9/29/29 10/32/30 6/24/22 NP

                   cycles for: CPL &lt;= IOPL / CPL &gt; IOPL / V86

        Example:        rep insb


<B>INT</B>     Call interrupt procedure

      operands  bytes   8088    186     286     386     486     Pentium
        3        1      72      45      23+m    33      26      13   NP
        imm8     2      71      47      23+m    37      30      16   NP

                             Protected mode

                bytes   8088    186     286     386     486     Pentium
                 1      -       -     (40-78)+m 59-99   44-71  27-82 NP

        Example:        int     21h



<B>INTO</B>    Call interrupt procedure if overflow

                bytes   8088    186     286     386     486     Pentium
                 1      4/73    4/48    3/24+m  3/35    3/28    4/13 NP

                             Protected mode

                bytes                   286     386     486     Pentium
                 1                    (40-78)+m 59-99   44-71  27-56 NP

                          Task switch clocks not shown


        Example:        into


<B>INVD</B>    Invalidate data cache (486+)

                bytes   8088    186     286     386     486     Pentium
                 2       -       -       -       -       4      15   NP

        Example:        invd


<B>INVLPG</B>  Invalidate TLB entry (486+)

      operands  bytes                                   486     Pentium
        mem32   5                                       12      25   NP

        Example:        invlpg  [eax]


<B>IRET</B>    Return from interrupt

                bytes   8088    186     286     386     486     Pentium
                1       44      28      17+m    22      15     8-27  NP

                      Task switch clocks not shown

        Example:        iret


<B>IRETD</B>   32-bit return from interrupt (386+)

                bytes                           386     486     Pentium
                1                               22      15    10-27  NP

                      Task switch clocks not shown

        Example:        iretd


<B>Jcc </B>    Jump on condition code

    operand     bytes   8088    186     286     386     486     Pentium
    near8        2      4/16    4/13    3/7+m   3/7+m   1/3     1    PV
    near16       3       -       -       -      3/7+m   1/3     1    PV

                       cycles for:  no jump/jump

                     conditional jump instructions:

  ja    jump if above                jnbe  jump if not below or equal
  jae   jump if above or equal       jnb   jump if not below
  jb    jump if below                jnae  jump if not above or equal
  jbe   jump if below or equal       jna   jump if not above
  jg    jump if greater              jnle  jump if not less or equal
  jge   jump if greater or equal     jnl   jump if not less
  jl    jump if less                 jnge  jump if not greater or equal
  jle   jump if less or equal        jng   jump if not greater

  je    jump if equal                jz    jump if zero
  jne   jump if not equal            jnz   jump if not zero

  jc    jump if carry                jnc   jump if not carry
  js    jump if sign                 jns   jump if not sign
  jnp   jump if no parity (odd)      jpo   jump if parity odd
  jo    jump if overflow             jno   jump if not overflow
  jp    jump if parity (even)        jpe   jump if parity even

        Example:        jne     not_equal


<B>JCXZ/JECXZ </B>   Jump if CX/ECX = 0

     operand    bytes   8088    186     286     386     486     Pentium
     dest        2      6/18    5/16    4/8+m   5/9+m   5/8     5/6  NP
     dest        2       -       -       -      5/9+m   5/8     5/6  NP

                       cycles for:  no jump/jump

        Example:        jcxz    cx_is_zero


<B>JMP</B>     Unconditional jump

    operand     bytes   8088    186     286     386     486     Pentium
    short        2      15      13      7+m     7+m      3       1   PV
    near         3      15      13      7+m     7+m      3       1   PV
    far          5      15      13     11+m    12+m     17       3   NP
    r16          2      11      11      7+m     7+m      5       2   NP
    mem16      2+d(0,2) 18+EA   17     11+m    10+m      5       2   NP
    mem32      2+d(4)   24+EA   26     15+m    12+m     13       4   NP

    r32          2       -       -       -      7+m      5       2   NP
    mem32      2+d(0,2)  -       -       -     10+m      5       2   NP
    mem48      2+d(6)    -       -       -     12+m     13       4   NP

             cycles for jumps through call gates not shown

        Example:        jmp     target_address


<B>LAHF</B>    Load flags into AH

                bytes   8088    186     286     386     486     Pentium
                 1       4       2       2       2       3       2   NP

        Example:        lahf


<B>LAR</B>     Load access rights byte (286+)

    operands    bytes                   286     386     486     Pentium
    r16, r16     3                      14      15      11       8   NP
    r32, r32     3                       -      15      11       8   NP
    r16, m16     3                      16      16      11       8   NP
    r32, m32     3                       -      16      11       8   NP

        Example:        lar     eax, ebx


<B>LDS</B>     Load far pointer

    operands    bytes   8088    186     286     386     486     Pentium
    reg, mem   2+d(2)   24+EA   18       7       7       6       4   NP

        Example:        lds     si, ptr_1


<B>LES </B>    Load far pointer

    operands    bytes   8088    186     286     386     486     Pentium
    reg, mem   2+d(2)   24+EA   18       7       7       6       4   NP

        Example:        les     di, ptr_2


<B>LFS</B>     Load far pointer (386+)

    operands    bytes                           386     486     Pentium
    reg, mem   3+d(2,4)                          7       6       4   NP

        Example:        lfs     si, ptr_3


<B>LGS</B>     Load far pointer (386+)

    operands    bytes                           386     486     Pentium
    reg, mem   3+d(2,4)                          7       6       4   NP

        Example:        lgs     si, ptr_4


<B>LSS</B>     Load stack segment and offset

    operands    bytes                           386     486     Pentium
    reg, mem   3+d(2,4)                          7       6       4   NP

        Example:        lss     bp, ptr_5


<B>LEA</B>     Load effective address

    operands    bytes   8088    186     286     386     486     Pentium
    r16, mem    2+d(2)  2+EA     6       3       2      1-2      1   UV
    r32, mem    2+d(2)   -       -       -       2      1-2      1   UV

        Example:        lea     eax, [eax+ebx*2+3]


<B>LEAVE</B>   High level procedure exit (186+)

                bytes           186     286     386     486     Pentium
                 1               8       5       4       5       3   NP

        Example:        leave


<B>LGDT</B>    Load global descriptor table register (286+)

    operand     bytes                   286     386     486     Pentium
     mem48       5                      11      11      11       6   NP

        Example:        lgdt    descriptor[ebx]


<B>LIDT</B>    Load interrupt descriptor table register (286+)

    operand     bytes                   286     386     486     Pentium
     mem48       5                      12      11      11       6   NP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -