博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MSIL条件跳转(简单注释)
阅读量:6623 次
发布时间:2019-06-25

本文共 1667 字,大约阅读时间需要 5 分钟。

c# code:

using System; public class aidd2008 {
public static void Main(String[] argv) {
int x = 10; int y = 6; if (x > y) {
Console.WriteLine(x); } else {
Console.WriteLine(y); } Console.Read(); } }

MSIL code:

// =============== CLASS MEMBERS DECLARATION =================== .class public auto ansi beforefieldinit aidd2008 extends [mscorlib]System.Object {
.method public hidebysig static void Main(string[] argv) cil managed {
.entrypoint // 代码大小 44 (0x2c) .maxstack 2 .locals init (int32 V_0, int32 V_1, bool V_2)//定义三个变量 IL_0000: nop IL_0001: ldc.i4.s 10//把整型值10载入堆栈 IL_0003: stloc.0//把刚才载入堆栈的10赋值给第一个local变量,int x=10 IL_0004: ldc.i4.6//把整型值6载入堆栈 IL_0005: stloc.1//把刚才载入堆栈的6赋值给第二个local变量,int y=6 IL_0006: ldloc.0 IL_0007: ldloc.1//这两句,把x,y两个local变量载入堆栈 IL_0008: cgt//比较x,y的大小,结果会保存在堆栈最上方(结果以0或1表示true ,false) IL_000a: ldc.i4.0//把0载入堆栈 IL_000b: ceq//比较0和cgt的运算结果是否相等,结果会保存在堆栈最上方(结果以0或1表示true ,false) IL_000d: stloc.2//ceq的运算结果保存入bool变量中 IL_000e: ldloc.2//再把ceq运算结果载入 IL_000f: brtrue.s IL_001c//判断跳转,若跳转显式Y,不跳转显式X IL_0011: nop IL_0012: ldloc.0 IL_0013: call void [mscorlib]System.Console::WriteLine(int32) IL_0018: nop IL_0019: nop IL_001a: br.s IL_0025 IL_001c: nop IL_001d: ldloc.1 IL_001e: call void [mscorlib]System.Console::WriteLine(int32) IL_0023: nop IL_0024: nop IL_0025: call int32 [mscorlib]System.Console::Read() IL_002a: pop IL_002b: ret } // end of method aidd2008::Main

转载于:https://www.cnblogs.com/zhangchenliang/archive/2012/08/25/2656780.html

你可能感兴趣的文章
ExtJs之Ext.core.Element
查看>>
六套 App:构建我的产品设计工作流
查看>>
eoLinker-API_Shop_通讯服务类API调用的代码示例合集:短信服务、手机号归属地查询、电信基站查询等...
查看>>
因为小程序的scroll-view组件不能下拉刷新我做了个开源项目
查看>>
JavaScript 垃圾回收机制
查看>>
前端面试回忆录 - 滴滴篇 - 凉面
查看>>
jxl导入Excel 切割List 并使用MyBatis批量插入数据库
查看>>
BMIP002协议介绍
查看>>
前端的一些基础知识
查看>>
小程序开发总结
查看>>
win10系统设置webp文件默认用照片查看器打开的两种方法
查看>>
使用阿里云发送邮件
查看>>
Tomcat监听器设计思路
查看>>
react native 入门之javascript
查看>>
管理ORACLE实例
查看>>
Confluence 6 MySQL 数据库设置准备
查看>>
Ruby 中 0/0.0 = NaN
查看>>
JEESNS数据库表设计结构
查看>>
JavaScript学习笔记:判断变量是否为undefined,判断变量和函数是否声明
查看>>
局域网访问Apache服务器
查看>>