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)
评论0