zoukankan      html  css  js  c++  java
  • [查阅]MSIL Instruction Set

    Base Instructions

     

    Instruction

    Description

    Stack Transition

    1

    add

    add two values, returning a new value

    …, value1, value2à…, result

    2

    add.ovf.<signed>

    add integer value with overflow check

    …, value1, value2à…, result

    3

    and

    bitwise AND

    …, value1, value2 à…, result

    4

    arglist

    get argument list

    … à …, argListHandle

    5

    beq.<length>

    branch on equal

    …, value1, value2 à …

    6

    bge.<length>

    branch on greater than or equal to

    …, value1, value2 à …

    7

    bge.un.<length>

    branch on greater/equal, unsigned or unordered

    …, value1, value2 à …

    8

    bgt.<length>

    branch on greater than

    …, value1, value2 à …

    9

    bgt.un<length>

    branch on greater than, unsigned or unordered

    …, value1, value2 à …

    10

    ble.<length>

    branch on less than or equal to

    …, value1, value2 à …

    11

    ble..un<length>

    branch on less/equal, unsigned or unordered

    …, value1, value2 à …

    12

    blt.<length>

    branch on less than

    …, value1, value2 à …

    13

    blt.un.<length>

    branch on less than, unsigned or unordered

    …, value1, value2 à …

    14

    bne.un<length>

    branch on not equal or unorded

    …, value1, value2 à …

    15

    br.<length>

    unconditional branch

    …, à …

    16

    break

    breakpoint instruction

    …, à …

    17

    brfalse.<length>

    branch on false, null, or zero

    …, value à …

    18

    brtrue.<length>

    branch on non-false or non-null

    …, value à …

    19

    call

    call a method

    …, arg1, arg2 … argn à …, retVal (not always returned)

    20

    calli

    indirect method call

    …, arg1, arg2 … argn, ftn à …, retVal (not always returned)

    21

    ceq

    compare equal

    …, value1, value2à…, result

    22

    cgt

    compare greater than

    …, value1, value2à…, result

    23

    cgt.un

    compare greater than, unsigned or unordered

    …, value1, value2à…, result

    24

    ckfinite

    check for a finite real number

    …, value à …, value

    25

    clt

    compare less than

    …, value1, value2à…, result

    26

    clt.un

    compare less than, unsigned or unordered

    …, value1, value2à…, result

    27

    conv.<to type>

    data conversion

    …, value à …, result

    28

    conv.ovf<to type>

    data conversion with overflow detection

    …, value à …, result

    29

    conv.ovf.<to type>.un

    unsigned data conversion with overflow detection

    …, value à …, result

    30

    cpblk

    copy data from memory to memory

    …, destaddr, srcaddr, size à …

    31

    div

    divide values

    …, value1, value2à…, result

    32

    div.un

    divide integer values, unsigned

    …, value1, value2à…, result

    33

    dup

    duplicate the top value of the stack

    …, value à …, value, value

    34

    endfilter

    end filter clause of SEH

    …, value à …

    35

    endfinally

    end the finally or fault clause of exception block

    … à …

    36

    initblk

    initialize a block of memory to a value

    …, addr, value, size à …

    37

    jmp

    jump to method

    … à …

    38

    ldarg.<length>

    load argument onto the stack

    … à …, value

    39

    ldarga.<length>

    load an argument address

    …, à …, address of argument number argNum

    40

    ldc.<type>

    load numeric constant

    … à …, num

    41

    ldftn

    load method pointer

    … à …, ftn

    42

    ldind.<type>

    load value indirect onto the stack

    …, addr à …, value

    43

    ldloc

    load local variable onto the stack

    … à …, value

    44

    ldloca.<length>

    load local variable address

    … à …, address

    45

    ldnull

    load a null pointer

    … à …, null value

    46

    leave.<length>

    exit a protected region of code

    …, à

    47

    localloc

    allocate space in the local dynamic memory pool

    size à address

    48

    mul

    multiply values

    …, value1, value2 à …, result

    49

    mul.ovf<type>

    multiply integer values with overflow check

    …, value1, value2 à …, result

    50

    neg

    negate

    …, value à …, result

    51

    nop

    no operation

    …, à …,

    52

    not

    bitwise complement

    …, value à …, result

    53

    or

    bitwise OR

    …, value1, value2 à …, result

    54

    pop

    remove the top element of the stack

    …, value à …

    55

    rem

    compute the remainder

    …, value1, value2 à …, result

    56

    rem.un

    compute integer remainder, unsigned

    …, value1, value2 à …, result

    57

    ret

    return from method

    retVal on callee evaluation stack (not always present) à

    …, retVal on caller evaluation stack (not always present)

    58

    shl

    shift integer left

    …, value, shiftAmount à …, result

    59

    shr

    shift integer right

    …, value, shiftAmount à …, result

    60

    shr.un

    shift integer right, unsigned

    …, value, shiftAmount à …, result

    61

    starg.<length>

    store a value in an argument slot

    …, value à …,

    62

    stind.<type>

    store value indirect from stack

    …, addr, val à …

    63

    stloc

    pop value from stack to local variable

    …, value à …

    64

    sub

    substract numeric values

    …, value1, value2 à …, result

    65

    sub.ovf.<type>

    substract integer values, checking for overflow

    …, value1, value2 à …, result

    66

    switch

    table switch on value

    …, value à …,

    67

    xor

    bitwise XOR

    ..., value1, value2 à ..., result

  • 相关阅读:
    通信收发单元
    WOSA协议(转)
    CcTalk (网络协议)(转)
    0x和H都表示十六进制有什么区别吗?
    select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET(转)
    &是什么运算符(转)
    NDK的Paths and Symbols设定
    android JNI调用(转)
    scrapy-redis基础和介绍
    scrapy-redis介绍(一)
  • 原文地址:https://www.cnblogs.com/croot/p/3492745.html
Copyright © 2011-2022 走看看