il汇编整数相加

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

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

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

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

ldc.i4 20

ldc.i4 30

add

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

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

cpp 复制代码
.assembly extern mscorlib {}
 
 .assembly Test
 {
     .ver 1:0:1:0
 }
 .module test.exe
  
 .method static void main() cil managed
 {
     .maxstack 1
     .entrypoint
     
     ldc.i4 20
     ldc.i4 30
     add
     call 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

cpp 复制代码
.assembly extern mscorlib {}
 
 .assembly Test
 {
     .ver 1:0:1:0
 }
 .module test.exe
  
 .method static void main() cil managed
 {
     .maxstack 1
     .entrypoint
     
     ldc.i4 307
     call void [mscorlib]System.Console::Write (int32)

     ret
 }

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

相关推荐
元亓亓亓1 小时前
考研408--组成原理--day8--汇编指令&不同语句的机器级表示
开发语言·汇编·c#
缘友一世20 小时前
计算系统安全速成之机器级编程(数组和指针)【3】
汇编·计算机组成原理·数组和指针
切糕师学AI21 小时前
ARM 汇编指令:LDR
汇编·arm开发
询问QQ688238862 天前
探索多虚拟电厂联合调度优化模型:集中式算法的实践
汇编
草莓熊Lotso2 天前
C++11 核心特性实战:列表初始化 + 右值引用与移动语义(附完整代码)
java·服务器·开发语言·汇编·c++·人工智能·经验分享
西西弗Sisyphus3 天前
读第三方程序的变量的原理
汇编
西西弗Sisyphus3 天前
一个程序点击事件的汇编指令与解析 - 目标变量的真实虚拟地址 = 逐级解引用并叠加偏移后的结果
汇编
2501_918126914 天前
nes游戏语言是6502,有没有一种方法可以实现,开发另一种更高效的汇编语言,替代6052,并本土化,弯道超过nes的底层语言?
汇编·硬件工程·个人开发
啊森要自信4 天前
【C语言】 C语言文件操作
c语言·开发语言·汇编·stm32·单片机
云qq4 天前
x86操作系统19——键盘驱动
linux·c语言·汇编