.NET中常见的 IL 指令集
2016-06-11 00:00
686 查看
一、IL中常见的符号
二、.NET中常见的 IL 指令集
参考资料:.NET中常见的 IL 指令集 http://www.studyofnet.com/news/1242.html
二、.NET中常见的 IL 指令集
名称 | 说明 |
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、空引用(Visual Basic 中的 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 ) 推送到计算堆栈上。 |
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- 星外ASP.Net的安全设置相关说明
- C#、ASP.NET通用扩展工具类之TypeParse
- 实现ASP.NET无刷新下载并提示下载完成的开发思路
- C#、ASP.NET通用扩展工具类之LogicSugar
- C#、ASP.NET通用工具类IsWhat?(可以判断数字、身份证、数据类型等等)
- 程序中常用的种代码
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- 在ASP.NET 2.0中操作数据之六十六:在TableAdapters中使用现有的存储过程
- ASP.NET页面间的传值的几种方法
- 在ASP.NET 2.0中操作数据之二十四:分页和排序报表数据
- 入侵ASP.net网站的经验附利用代码
- 盘点PHP和ASP.NET的10大对比!
- 在ASP.NET 2.0中操作数据之四十八:对SqlDataSource控件使用开放式并发
- ASP.NET MVC4入门教程(四):添加一个模型
- 在ASP.NET 2.0中操作数据之二十三:基于用户对修改数据进行限制
- 在ASP.NET 2.0中操作数据之七十三:用Managed Code创建存储过程和用户自定义函数(上部分)
- ASP.NET MVC4入门教程(五):从控制器访问数据模型
- 在ASP.NET 2.0中操作数据之六十七:在TableAdapters中使用JOINs
- ASP.NET中 CheckBox复选框控件的使用