IL汇编定义方法

cpp 复制代码
.assembly extern mscorlib {}
 
.assembly Methods
{
    .ver 1:0:1:0
}
.module Methods.exe
 
.method static void main() cil managed
{
    .maxstack 5
    .entrypoint
    
    ldc.i4 101
    ldc.i4 202
    call int32 DoSum(int32, int32)
    call void PrintSum(int32)
    ret
}
 
.method public static int32 DoSum (int32 , int32 ) cil managed
{
    .maxstack 2    
    
    ldarg.0
    ldarg.1
    add
    
    ret
}

.method public static void PrintSum(int32) cil managed
{
    .maxstack 2
    ldstr "The Result is : "
    call void [mscorlib]System.Console::Write(string)
    
    ldarg.0
    call void [mscorlib]System.Console::Write(int32)
    
    ret
}

构建运行如下;

代码定义了2个方法;

调用的时候指明返回类型和参数类型;

和C#语言相比,方法名前面加了.method,后面加了 cil managed;

这是网上的程序;我还不是太理解;目前还不能写一个方法,比如说是计算阶乘之类的;

相关推荐
小向是个Der1 天前
嵌入式进阶——编译与链接
汇编·单片机·学习·编译原理·交叉编译
二十七日秋1 天前
算法刷题笔记「Day 1|四道 OJ 入门题里的深坑」
c语言·汇编·数据结构·c++·笔记·python·算法
银河麒麟操作系统2 天前
两案例入选全球计算联盟年度产业应用案例汇编
大数据·汇编·人工智能
abc light2 天前
ARM 裸机开发(2)——ARM 汇编与启动代码
汇编·arm开发
soso19682 天前
Modbus协议开发实战指南
汇编
水饺编程3 天前
第2章:Linux 基础,解压缩【.tar.gz】压缩包
linux·c语言·汇编
水饺编程4 天前
第2章:Linux 基础,exit 命令
linux·c语言·汇编
水饺编程4 天前
第2章:Linux 基础,删除用户
linux·c语言·汇编
水饺编程6 天前
第2章:Linux 基础,切换用户
linux·c语言·汇编
水饺编程7 天前
第2章:Linux 基础,在 root 中创建用户账号
linux·c语言·汇编·1024程序员节