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
 }

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

相关推荐
一品人家3 天前
win32汇编环境,得到当前日期时间的例子
汇编
试试看1683 天前
自制操作系统第三天
汇编·系统架构
0xCC说逆向5 天前
Windows逆向工程入门之汇编位运算
c语言·汇编·windows·安全·逆向
矮油0_o5 天前
30天开发操作系统 第 20 天 -- API
c语言·汇编·操作系统
charlie1145141916 天前
从0开始的操作系统手搓教程 4:做好准备,跳到加载器(Loader)
汇编·学习·操作系统·调试·mbr·手搓教程·bochs
官子无敌刘小路9 天前
汇编简介&常用语法
汇编
二进制怪兽12 天前
[笔记] 汇编杂记(持续更新)
汇编
bae-唯一13 天前
关于32位和64位程序的传参方法及虚拟机调试工具总结
汇编·学习
E_han14 天前
7.list
开发语言·汇编·数据结构·c++·算法·list
二进制怪兽14 天前
[笔记] x86汇编语言:从实模式到保护模式之第一章 十六进制计数法
汇编