了解IL汇编循环

IL代码,

cpp 复制代码
.assembly extern mscorlib {}
 
 .assembly Test
 {
     .ver 1:0:1:0
 }
 .module test.exe
  
 .method static void main() cil managed
 {
     .maxstack 8
     .entrypoint
     .locals init (int32, int32)
   
     ldc.i4 4
     stloc.0        //Upper    limit of the Loop, total 5 
     ldc.i4 0 
     stloc.1        //Initialize the Starting of loop 

Start:     
     //Check if the Counter exceeds
     ldloc.1 
     ldloc.0 
     bgt Exit //If Second variable exceeds the first variable, then exit

     ldloc.1
     call void [mscorlib]System.Console::WriteLine(int32)

     //Increase the Counter
     ldc.i4 1
     ldloc.1
     add
     stloc.1
     br Start
Exit:    
     ret
}

构建运行如下;

我还不是太理解,循环的开始和结束值是不是装入栈;循环变量加1也是在栈上操作;循环中啥也没干,只是输出了循环变量值;bgt、br是跳转语句;有时间继续;

相关推荐
矶鹬笛手7 小时前
(2.1) 信息技术及其发展
sql·计算机网络·c#
u***27618 小时前
C#数据库操作系列---SqlSugar完结篇
网络·数据库·c#
笑非不退9 小时前
C# c++ 实现程序开机自启动
开发语言·c++·c#
ol木子李lo11 小时前
Visual studio 2022高亮汇编(ASM)语法方法
汇编·ide·windows·visual studio
周杰伦fans12 小时前
[特殊字符] 代理模式超详细讲解 ——.NET
数据库·c#·代理模式
用户83562907805113 小时前
C# 高效生成 Word 表格:复杂表格创建实战指南
后端·c#
屠夫13 小时前
C# LINQ
c#
光头闪亮亮15 小时前
电子发票解析工具-c#桌面应用开发-DataGridView表格控件使用详解
c#
周杰伦fans16 小时前
C# 中的 `Hashtable`
开发语言·c#
lingggggaaaa16 小时前
免杀对抗——C2远控篇&PowerShell&有无文件落地&C#参数调用&绕AMSI&ETW&去混淆特征
c语言·开发语言·笔记·学习·安全·microsoft·c#