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
 }

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

相关推荐
听情歌落俗6 小时前
ARM架构-硬件架构和汇编指令
汇编·arm开发·硬件架构
云qq8 小时前
x86操作系统23——进程相关系统调用
linux·c语言·汇编·ubuntu
新鲜感~3 天前
汇编点灯基于SC32440
linux·汇编
fengye2071617 天前
板凳----------(枯藤 )vs2026+win10(第六章-4)
汇编
-曾牛7 天前
【汇编语言入门】从第一个加法程序吃透汇编核心基础
汇编·单片机·嵌入式硬件·汇编语言·病毒分析·lcx·逆向开发
切糕师学AI7 天前
ARM 汇编指令:ROR(循环右移)
汇编·arm开发
切糕师学AI7 天前
ARM 汇编指令:LSL(逻辑左移) 和 LSR(逻辑右移)
汇编·arm开发
草莓熊Lotso8 天前
Python 库使用全攻略:从标准库到第三方库(附实战案例)
运维·服务器·汇编·人工智能·经验分享·git·python
山峰哥9 天前
SQL优化中的索引策略与Explain分析实战
大数据·汇编·数据库·sql·编辑器
山峰哥10 天前
SQL调优实战指南:从索引设计到高并发场景优化全链路解析
大数据·汇编·数据库·sql·编辑器·区块链