Fasm---Win32汇编学习1
今天就由我来带领大家进入win32汇编学习的殿堂。我们以后采用的编译器是Fasm, 因为我比较偏向Fasm,其一它是开源的,我们可以自己通过学习Fasm的源代码来学习,且它的区段可以完全自己构建这使我们可以更加的深入对PE结构的掌握等。所以我比较推荐Fasm,当然你用其他的编译器也是可以的。。。 看个人爱好吧。。但是有必要说下,国内fasm使用甚少,大多人都喜欢使用masm,所以fasm的资料也是相当匮乏,所以大家可以选择任意的编译器。
首先介绍下FASM书写的格式
format PE 子系统 子系统版本号
entry 入口点
section '节名' 可用标志 节属性
section '节名' 可用标志 节属性
format伪指令是用来指定输出的文件格式。。后面跟PE指定输出PE文件格式,当然也可以输出Win16下的MZ文件格式。不过既然我们讲的Win32汇编,所以以后都采用的是PE文件格式。。 ∩∩ .. 好,后面子系统标示我们输出的文件的子系统值。子系统值标示我们程序被加载时候按照何种方式运行。因为我们映像文件(也就是磁盘文件)在被映射到内存的时候,PE Loader会读取我们PE结构上相应的子系统值来通知何种子系统(也就是我们的程序运行在何种子系统环境下)。 我们一般编写的程序用到3种子系统。“console”控制台,“GUI”可视

本文是关于Win32汇编语言的学习,主要介绍了使用Fasm作为编译器的原因,并简述了Fasm的格式和PE文件结构。内容包括Fasm的format伪指令、entry、section的用法,以及Win32保护模式下的平坦内存模式和对关键寄存器的使用注意事项。

2352

被折叠的 条评论
为什么被折叠?



