Win32汇编语言-汇编语言程序设计基础-设计基础课件.ppt

Win32汇编语言-汇编语言程序设计基础-设计基础课件.ppt

ID:57011958

大小:458.50 KB

页数:29页

时间:2020-07-26

Win32汇编语言-汇编语言程序设计基础-设计基础课件.ppt_第1页
Win32汇编语言-汇编语言程序设计基础-设计基础课件.ppt_第2页
Win32汇编语言-汇编语言程序设计基础-设计基础课件.ppt_第3页
Win32汇编语言-汇编语言程序设计基础-设计基础课件.ppt_第4页
Win32汇编语言-汇编语言程序设计基础-设计基础课件.ppt_第5页
资源描述:

《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;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;代码段;>>>>>>>>>>>>>>>>>>>>>>>>>

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。