il汇编整数相加

在这里尝试了IL汇编字符串连接;

IL汇编字符串连接_bcbobo21cn的博客-CSDN博客

下面来看一下IL汇编整数相加;

 大概的看一下一些资料,下面语句,

     ldc.i4 20
     ldc.i4 30
     add

看上去像是,装载整数20到一个类似于堆栈的区域,然后再装载30,然后执行add,这样实现了2个整数相加;

先用记事本编辑代码如下,

.assembly extern mscorlib {}.assembly Test{.ver 1:0:1:0}.module test.exe.method static void main() cil managed{.maxstack 1.entrypointldc.i4 20ldc.i4 30addcall void [mscorlib]System.Console::Write (int32)ret}

保存为testadd.il,然后ilasm构建;

        第一次写错了,ldc.i4 20,不是ldc.i4.20;

改好之后构建了exe,但是运行testadd.exe出错;

 

那会不会是头部这一段影响,

        .assembly extern mscorlib {}
 
         .assembly Test
         {
     .        ver 1:0:1:0
         }
         .module test.exe

把文件名改为test.il,再构建出test.exe,运行test.exe,也是出错;

 

那先单独看一下这2句,

     ldc.i4 30
     call void [mscorlib]System.Console::Write (int32)

前一句有没有装载一个整数,后一句有没有输出该整数;

编辑test2.il,

.assembly extern mscorlib {}.assembly Test{.ver 1:0:1:0}.module test.exe.method static void main() cil managed{.maxstack 1.entrypointldc.i4 307call void [mscorlib]System.Console::Write (int32)ret}

构建并运行如下;可以装载整数,输出整数;下回继续; 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/56581.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jvm-程序计数器

1、是什么 4 学习路线 类加载器 内存结构方法区 类堆 对象虚拟机栈程序计数器本地方法栈 执行引擎解释器编译器 热点代码 5 程序计数器–作用 java源代码编译蛏二进制字节码 jvm指令。 对所有平台保持一致性。记住下一条jvm指令的执行地址。寄存器,cpu中读取速度…

JavaWeb_LeadNews_Day5-文章定时发布

JavaWeb_LeadNews_Day5-文章定时发布 延时服务概述DelayQueueRabbitMQ(常用)Redis(常用) redis延迟服务实现思路总思路添加任务取消任务拉取任务未来数据定时刷新redis解决集群抢占 具体实现乐观锁docker运行redis项目集成redis添加任务取消任务拉取任务未来数据定时刷新redis解…

【Shell】基础语法(二)

文章目录 一、Shell基本语法文件名代换命令代换算术代换转义字符引号 二、Shell脚本语法条件测试分支结构循环 三、总结 一、Shell基本语法 文件名代换 用于匹配的字符称为通配符(Wildcard),如:* ? [ ] 具体如下: *…

【SpringBoot】86、SpringBoot中集成Quartz根据Cron表达式获取接下来5次执行时间

本篇文章根据集成 Quartz 根据 Cron 表达式获取接下来的 5 次执行时间,在配置定时任务时,可以清晰地知道自己的 Cron 表达式是否正确,对于 Quartz 不熟悉的同学可以先看看我之前的文章 【SpringBoot】82、SpringBoot集成Quartz实现动态管理定时任务 【SpringBoot】83、Spri…

[CKA]考试之查看pod的cpu

由于最新的CKA考试改版,不允许存储书签,本博客致力怎么一步步从官网把答案找到,如何修改把题做对,下面开始我们的 CKA之旅 题目为: Task 找出标签是namecpu-loader的Pod,并过滤出使用CPU最高的Pod&#…

20230802-下载并安装android-studio

下载 android-studio 安装包 https://developer.android.google.cn/studio/ 安装android-studio 双击安装包 D:\Android Studio

无涯教程-Perl - foreach 语句函数

foreach 循环遍历列表值,并将控制变量(var)依次设置为列表的每个元素- foreach - 语法 Perl编程语言中的 foreach 循环的语法是- foreach var (list) { ... } foreach - 流程图 foreach - 示例 #!/usr/local/bin/perllist(2, 20, 30, 40, 50);# foreach loop ex…

HTTP和HTTPS

目录 HTTP和HTTPS的基本概念(应用层协议) HTTP的版本 HTTP与HTTPS有什么区别? HTTP的工作原理 HTTPS的工作原理 HTTPS的优点 HTTPS的缺点: HTTPS的优缺点(总结) 对称加密 非对称加密 证书 HTTPS的加密 HTT…

Vue3 第二节 Vue3的响应式

1.Vue3的响应式原理 2.ref函数和reactive函数的对比 3.setup注意点 一.Vue3的响应式原理 1.Vue2.x中的响应式原理 ① 实现原理 对象类型:通过Object.defineProperty() 对属性的读取,修改进行拦截(数据劫持)数组类型&#xf…

通过cpolar内网穿透发布网页测试

通过内网穿透发布网页测试 文章目录 通过内网穿透发布网页测试 对于网站开发者来说,对完成的网页进行测试十分必要,同时还要在测试过程中充分采纳委托制作方的意见,及时根据甲方意见进行修改,但在传统的测试方式中,必须…

虹科分享 | 新时代“救命神器”:看AR眼镜如何应用于紧急救险场景

从工业时代到如今迎来的“体验时代”,体验即内容,5G、AI、空间计算技术的突破,为各行各业创建了丰富的内容体验模式,让人们能够听之、触之、与之交互。AR是体验时代最具潜力的新技术,在“应急”场景中更是成为了我们在…

Unity 编辑器资源导入处理函数 OnPreprocessAudio :深入解析与实用案例

Unity 编辑器资源导入处理函数 OnPreprocessAudio 用法 点击封面跳转下载页面 简介 在 Unity 中,资源导入是一个非常重要的环节,它决定了资源在项目中的使用方式和效果。Unity 提供了一系列的资源导入处理函数,其中之一就是 OnPreprocessAud…