IL是.NET框架中中间语言(IntermediateLanguage)的缩写。使用.NET框架提供的编译器可以直接将源程序编译为.exe或.dll文件,但此时编译出来的程序代码并不是CPU能直接执行的机器代码,而是一种中间语言IL(IntermediateLanguage)的代码。
名称
说明
Add
将两个值相加并将结果推送到计算堆栈上。
Add.Ovf
将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上。
Add.Ovf.Un
将两个无符号整数值相加,执行溢出检查,并且将结果推送到计算堆栈上。
And
计算两个值的按位“与”并将结果推送到计算堆栈上。
Arglist
返回指向当前方法的参数列表的非托管指针。
Beq
如果两个值相等,则将控制转移到目标指令。
Beq.S
如果两个值相等,则将控制转移到目标指令(短格式)。
Bge
如果第一个值大于或等于第二个值,则将控制转移到目标指令。
Bge.S
如果第一个值大于或等于第二个值,则将控制转移到目标指令(短格式)。
Bge.Un
当比较无符号整数值或不可排序的浮点型值时,如果第一个值大于第二个值,则将控制转移到目标指令。
Bge.Un.S
当比较无符号整数值或不可排序的浮点型值时,如果第一个值大于第二个值,则将控制转移到目标指令(短格式)。
Bgt
如果第一个值大于第二个值,则将控制转移到目标指令。
Bgt.S
如果第一个值大于第二个值,则将控制转移到目标指令(短格式)。
Bgt.Un
当比较无符号整数值或不可排序的浮点型值时,如果第一个值大于第二个值,则将控制转移到目标指令。
Bgt.Un.S
当比较无符号整数值或不可排序的浮点型值时,如果第一个值大于第二个值,则将控制转移到目标指令(短格式)。
Ble
如果第一个值小于或等于第二个值,则将控制转移到目标指令。
Ble.S
如果第一个值小于或等于第二个值,则将控制转移到目标指令(短格式)。
Ble.Un
当比较无符号整数值或不可排序的浮点型值时,如果第一个值小于或等于第二个值,则将控制转移到目标指令。
Ble.Un.S
当比较无符号整数值或不可排序的浮点值时,如果第一个值小于或等于第二个值,则将控制权转移到目标指令(短格式)。
Blt
如果第一个值小于第二个值,则将控制转移到目标指令。
Blt.S
如果第一个值小于第二个值,则将控制转移到目标指令(短格式)。
Blt.Un
当比较无符号整数值或不可排序的浮点型值时,如果第一个值小于第二个值,则将控制转移到目标指令。
Blt.Un.S
当比较无符号整数值或不可排序的浮点型值时,如果第一个值小于第二个值,则将控制转移到目标指令(短格式)。
Bne.Un
当两个无符号整数值或不可排序的浮点型值不相等时,将控制转移到目标指令。
Bne.Un.S
当两个无符号整数值或不可排序的浮点型值不相等时,将控制转移到目标指令(短格式)。
Box
将值类转换为对象引用(O类型)。
Br
无条件地将控制转移到目标指令。
Br.S
无条件地将控制转移到目标指令(短格式)。
Break
向公共语言结构(CLI)发出信号以通知调试器已撞上了一个断点。
Brfalse
如果value为false、空引用(VisualBasic中的Nothing)或零,则将控制转移到目标指令。
Brfalse.S
如果value为false、空引用或零,则将控制转移到目标指令。
Brtrue
如果value为true、非空或非零,则将控制转移到目标指令。
Brtrue.S
如果value为true、非空或非零,则将控制转移到目标指令(短格式)。
Call
调用由传递的方法说明符指示的方法。
Calli
通过调用约定描述的参数调用在计算堆栈上指示的方法(作为指向入口点的指针)。
Callvirt
对对象调用后期绑定方法,并且将返回值推送到计算堆栈上。
Castclass
尝试将引用传递的对象转换为指定的类。
Ceq
比较两个值。如果这两个值相等,则将整数值1(int32)推送到计算堆栈上;否则,将0(int32)推送到计算堆栈上。
Cgt
比较两个值。如果第一个值大于第二个值,则将整数值1(int32)推送到计算堆栈上;反之,将0(int32)推送到计算堆栈上。
Cgt.Un
比较两个无符号的或不可排序的值。如果第一个值大于第二个值,则将整数值1(int32)推送到计算堆栈上;反之,将0(int32)推送到计算堆栈上。
Ckfinite
如果值不是有限数,则引发ArithmeticException。
Clt
比较两个值。如果第一个值小于第二个值,则将整数值1(int32)推送到计算堆栈上;反之,将0(int32)推送到计算堆栈上。
Clt.Un
比较无符号的或不可排序的值value1和value2。如果value1小于value2,则将整数值1(int32)推送到计算堆栈上;反之,将0(int32)推送到计算堆栈上。
Constrained
约束要对其进行虚方法调用的类型。
Conv.I
将位于计算堆栈顶部的值转换为nativeint。
Conv.I1
将位于计算堆栈顶部的值转换为int8,然后将其扩展(填充)为int32。
Conv.I2
将位于计算堆栈顶部的值转换为int16,然后将其扩展(填充)为int32。
Conv.I4
将位于计算堆栈顶部的值转换为int32。
Conv.I8
将位于计算堆栈顶部的值转换为int64。
Conv.Ovf.I
将位于计算堆栈顶部的有符号值转换为有符号nativeint,并在溢出时引发OverflowException。
Conv.Ovf.I.Un
将位于计算堆栈顶部的无符号值转换为有符号nativeint,并在溢出时引发OverflowException。
Conv.Ovf.I1
将位于计算堆栈顶部的有符号值转换为有符号int8并将其扩展为int32,并在溢出时引发OverflowException。
Conv.Ovf.I1.Un
将位于计算堆栈顶部的无符号值转换为有符号int8并将其扩展为int32,并在溢出时引发OverflowException。
Conv.Ovf.I2
将位于计算堆栈顶部的有符号值转换为有符号int16并将其扩展为int32,并在溢出时引发OverflowException。
Conv.Ovf.I2.Un
将位于计算堆栈顶部的无符号值转换为有符号int16并将其扩展为int32,并在溢出时引发OverflowException。
Conv.Ovf.I4
将位于计算堆栈顶部的有符号值转换为有符号int32,并在溢出时引发OverflowException。
Conv.Ovf.I4.Un
将位于计算堆栈顶部的无符号值转换为有符号int32,并在溢出时引发OverflowException。
Conv.Ovf.I8
将位于计算堆栈顶部的有符号值转换为有符号int64,并在溢出时引发OverflowException。
Conv.Ovf.I8.Un
将位于计算堆栈顶部的无符号值转换为有符号int64,并在溢出时引发OverflowException。
Conv.Ovf.U
将位于计算堆栈顶部的有符号值转换为unsignednativeint,并在溢出时引发OverflowException。
Conv.Ovf.U.Un
将位于计算堆栈顶部的无符号值转换为unsignednativeint,并在溢出时引发OverflowException。
Conv.Ovf.U1
将位于计算堆栈顶部的有符号值转换为unsignedint8并将其扩展为int32,并在溢出时引发OverflowException。
Conv.Ovf.U1.Un
将位于计算堆栈顶部的无符号值转换为unsignedint8并将其扩展为int32,并在溢出时引发OverflowException。
Conv.Ovf.U2
将位于计算堆栈顶部的有符号值转换为unsignedint16并将其扩展为int32,并在溢出时引发OverflowException。
Conv.Ovf.U2.Un
将位于计算堆栈顶部的无符号值转换为unsignedint16并将其扩展为int32,并在溢出时引发OverflowException。
Conv.Ovf.U4
将位于计算堆栈顶部的有符号值转换为unsignedint32,并在溢出时引发OverflowException。
Conv.Ovf.U4.Un
将位于计算堆栈顶部的无符号值转换为unsignedint32,并在溢出时引发OverflowException。
Conv.Ovf.U8
将位于计算堆栈顶部的有符号值转换为unsignedint64,并在溢出时引发OverflowException。
Conv.Ovf.U8.Un
将位于计算堆栈顶部的无符号值转换为unsignedint64,并在溢出时引发OverflowException。
Conv.R.Un
将位于计算堆栈顶部的无符号整数值转换为float32。
Conv.R4
将位于计算堆栈顶部的值转换为float32。
Conv.R8
将位于计算堆栈顶部的值转换为float64。
Conv.U
将位于计算堆栈顶部的值转换为unsignednativeint,然后将其扩展为nativeint。
Conv.U1
将位于计算堆栈顶部的值转换为unsignedint8,然后将其扩展为int32。
Conv.U2
将位于计算堆栈顶部的值转换为unsignedint16,然后将其扩展为int32。
Conv.U4
将位于计算堆栈顶部的值转换为unsignedint32,然后将其扩展为int32。
Conv.U8
将位于计算堆栈顶部的值转换为unsignedint64,然后将其扩展为int64。
Cpblk
将指定数目的字节从源地址复制到目标地址。
Cpobj
将位于对象(&、*或nativeint类型)地址的值类型复制到目标对象(&、*或nativeint类型)的地址。
Div
将两个值相除并将结果作为浮点(F类型)或商(int32类型)推送到计算堆栈上。
Div.Un
两个无符号整数值相除并将结果(int32)推送到计算堆栈上。