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
 }

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

相关推荐
我在人间贩卖青春11 天前
汇编之伪指令
汇编·伪指令
我在人间贩卖青春11 天前
汇编之伪操作
汇编·伪操作
济61711 天前
FreeRTOS基础--堆栈概念与汇编指令实战解析
汇编·嵌入式·freertos
myloveasuka11 天前
汇编TEST指令
汇编
我在人间贩卖青春11 天前
汇编编程驱动LED
汇编·点亮led
我在人间贩卖青春11 天前
汇编和C编程相互调用
汇编·混合编程
myloveasuka12 天前
寻址方式笔记
汇编·笔记·计算机组成原理
请输入蚊子12 天前
《操作系统真象还原》 第六章 完善内核
linux·汇编·操作系统·bochs·操作系统真像还原
myloveasuka12 天前
指令格式举例
汇编·笔记·计算机组成原理
我在人间贩卖青春13 天前
汇编之分支跳转指令
汇编·arm·分支跳转