IL汇编语言介绍
2013-01-13 18:49
218 查看
在IL汇编语言中,任何语句都是以一个点号(.)开始的,以此告诉编译器这是一种特殊的指令。
.assembly指令告诉编译器,我们准备去用一个外部的类库(不是我们自己写的,而是提前编译好的)
.entrypoint指令告诉编译器去把这个函数标记为整个应用程序的入口点(EntryPoint),也就是执行这个应用程序时最先执行的函数。
.locals定义了局部变量
.method标记告诉编译器我们准备定义一个方法
.maxstacknumber它告诉编译器我们要加载到内存(实际是评估堆栈)中去的项的最大数目
ldstr指令是用来把一个字符串加载到内存或评估堆栈中
cilmanaged指令告诉编译器,把这段代码当作托管代码进行编译。
ret表示从方法中返回。
使用它
1:.assemblyexternmscorlib{}
2:.assemblyexternMathLib{.ver1:0:1:0}
3://
4://restcodehere
5://
6:.methodstaticvoidMain()cilmanaged
7:{
8:.maxstack2
9:.entrypoint
10:.localsinit(valuetype[MathLib]HangamaHouse.MathClassmclass)
11:
12:ldlocamclass
13:ldc.i45
14:callinstanceint32[MathLib]HangamaHouse.MathClass::GetSquare(int32)
15:ldstr"TheSquareof5Returned:"
16:callvoid[mscorlib]System.Console::Write(string)
17:callvoid[mscorlib]System.Console::WriteLine(int32)
18:
19:ret
20:}[/code]
.assembly指令告诉编译器,我们准备去用一个外部的类库(不是我们自己写的,而是提前编译好的)
.entrypoint指令告诉编译器去把这个函数标记为整个应用程序的入口点(EntryPoint),也就是执行这个应用程序时最先执行的函数。
.locals定义了局部变量
.method标记告诉编译器我们准备定义一个方法
.maxstacknumber它告诉编译器我们要加载到内存(实际是评估堆栈)中去的项的最大数目
ld==loadst==setret==returnarg==argument
beq(==),
bne(!=),
bge(>=),
bgt(>),
ble(<=),
blt(<),还有
brfalse(如果栈顶的元素是0),
brtrue(如果栈顶的元素非0).
stloc.index把栈顶元素赋值给locals[index]可以通过索引也可以通过变量名字来访问
ldstr指令是用来把一个字符串加载到内存或评估堆栈中
cilmanaged指令告诉编译器,把这段代码当作托管代码进行编译。
ret表示从方法中返回。
使用它
1:.assemblyexternmscorlib{}
2:.assemblyexternMathLib{.ver1:0:1:0}
3://
4://restcodehere
5://
6:.methodstaticvoidMain()cilmanaged
7:{
8:.maxstack2
9:.entrypoint
10:.localsinit(valuetype[MathLib]HangamaHouse.MathClassmclass)
11:
12:ldlocamclass
13:ldc.i45
14:callinstanceint32[MathLib]HangamaHouse.MathClass::GetSquare(int32)
15:ldstr"TheSquareof5Returned:"
16:callvoid[mscorlib]System.Console::Write(string)
17:callvoid[mscorlib]System.Console::WriteLine(int32)
18:
19:ret
20:}[/code]
相关文章推荐
- IL汇编语言介绍(译)
- IL汇编语言介绍(译)
- IL汇编语言介绍(译)
- 汇编语言_标志位介绍
- (转)ARM GNU常用汇编语言介绍
- ARM GNU常用汇编语言介绍
- 麻烦大家给我介绍点汇编语言的视频。
- DirectX 9高层着色语言介绍1——引言、简单例子、汇编语言和编译对象
- IL 到底算不算汇编语言?
- 汇编语言简单介绍
- 汇编语言入门介绍
- 汇编语言之寄存器(详细介绍)
- IL 到底算不算汇编语言?
- 汇编语言相关寄存器的介绍
- 汇编语言入门介绍
- DirectX 9高层着色语言介绍1 —— 引言、简单例子、汇编语言和编译对象
- DirectX 9高层着色语言介绍1——引言、简单例子、汇编语言和编译对象
- IL汇编语言教程
- 大家给介绍下学习汇编语言的经典教材啊,要注明作者和版本哦!谢啦
- 关于汇编语言和IL的异同点