欢迎来到天天文库
浏览记录
ID:57011958
大小:458.50 KB
页数:29页
时间:2020-07-26
《Win32汇编语言-汇编语言程序设计基础-设计基础课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、12021/10/6主要内容汇编语言开发环境MASM32汇编语言程序结构汇编语言的语句格式汇编语言程序格式MASM伪指令22021/10/6汇编语言程序的开发过程32021/10/6Win32汇编程序设计流程Win32可执行文件叫做PE文件。程序员的工作分创建代码和创建资源两部分:用include语句包含数据定义和函数声明的头文件Windows.inc文件定义了Win32 API中很多参数和数据结构资源文件是一种类似“脚本”的文本文件,其中.rc用不同的语法定义了不同类型的资源资源脚本文件用到很多预
2、定义值,一般由资源头文件来导入。MASM32软件包中的资源头文件是Resource.hWin32中这种只包含位置信息的动态库文件称为导入库42021/10/6汇编语言程序的开发过程文本编辑器,如notepad.exe等源程序:文件名.asm汇编程序,如ml.exe目标模块:文件名.obj连接程序,如link.exe可执行文件:文件名.exe调试程序,如windbg.exe应用程序错误错误错误错误连接编辑汇编调试52021/10/6汇编语言开发环境编译器和链接器MASMMASM6.14ML.exeLi
3、nk.exeTASMNASMFASM62021/10/6MASM编译ML.exe编译成COFF格式的obj文件Ml[/选项]汇编源文件列表[/link链接选项]Ml/c/coff/CpTest.asm链接Link.exe链接成可执行PE文件Link[选项][文件列表]Link/subsystem:windows***.objMl/c/coff/Cp***.asm72021/10/6常用命令用MASM编译和链接一个Win32汇编源程序常用的命令:Ml/c/coffxx.asmLink/subsyste
4、m:windowsxx.objyy.libzz.res (普通PE文件)Link/subsystem:consolexx.objyy.libzz.res (控制台文件)/c选项表示只生成obj文件而不是直接产生exe文件/coff选项是必需的,因为链接器只支持COFF格式的obj文件;其他的,如/Cp和/Gz虽然也是必需的,但是由于可在asm源文件中用伪定义设置,一般不在命令行中指定。/subsystem选项必须被指定,一般指定为windows,当编写控制台程序的时候要改为console。8
5、2021/10/6Ml的常用选项92021/10/6MASM32开发包免费软件开发包MASM32是WINDOWS窗口应用程序,可以非常方便地开发32位应用程序。编辑器MASM6.14汇编程序32位增量式链接程序Win32的包含文件、库文件MASM32是配套开发环境的主体102021/10/6MASM32Editor112021/10/6汇编语言的程序格式完整的汇编语言源程序由段组成一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列需独立运行的程序必须包含一个代
6、码段,并指示程序执行的起始点,一个程序只有一个起始点所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内通常,程序还需要一个堆栈段122021/10/6汇编语言程序结构16位汇编程序32位汇编程序132021/10/6.386;386指令集.modelflat,stdcall;工作模式:内存模式、语言模式optioncasemap:none;变量和子程序名是否大小写敏感;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
7、>>>>>>>>>>>>>>;Include文件定义;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>includewindows.incincludeuser32.incincludelibuser32.libincludekernel32.incincludelibkernel32.lib;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
8、>>>>>>>>;数据段;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.dataszCaptiondb'AMessageBox!',0szTextdb'Hello,World!',0;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;代码段;>>>>>>>>>>>>>>>>>>>>>>>>>
此文档下载收益归作者所有