欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    汇编语言程序设计教程PPT-第7章.ppt

    • 资源ID:5993773       资源大小:533.50KB        全文页数:22页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    汇编语言程序设计教程PPT-第7章.ppt

    汇编语言程序设计,第七章,第七章 Win32汇编语言程序设计,第七章 Win32汇编语言程序设计,Windows系统具有风格一致的华丽图形用户界面、丰富的API函数、设备无关性、多任务等特点而广泛流行。,Win32汇编语言的功能:,32位处理器寄存器结构:,第七章 Win32汇编语言程序设计,在Win32汇编环境下编写Windows应用程序,可以充分利用Windows的高级特性,开发性能更高的应用软件和动态链接库,而且可以从深层次理解Windows运行机制和Windows应用程序的设计思路及方法。,7.1 Win32汇编语言程序设计基础,(1)源程序结构、源程序的模式定义与段定义,在Win32环境下,应用程序可以寻址4GB空间。,(2)API函数的使用(包含声明文件、调用API函数),(3)Win32汇编的编程环境(命令行编程环境、集成开发 环境),.386;指定可使用处理器指令集.model flat,stdcall;模式定义 option casemap:none;指定汇编选项;包含API函数和动态链接库头文件.stack堆栈段大小;定义堆栈段.data;数据段(定义初始化变量).data?;数据段(定义未初始化变量).const;定义常量段.code;定义代码段 end 开始标号;源程序结束,第七章 Win32汇编语言程序设计,一个完整的Win32汇编语言源程序结构如下所示:,例7-1 写一个经典的Win32 Hello程序。一个最简单的Win32汇编语言源程序例子,说明Win32汇编语言源程序的框架结构。,.386;指定处理器指令集.model flat,stdcall;模式定义 option casemap:none;指定汇编选项,区分大小写 include windows.inc;包含头文件和动态连接库 include user32.inc includelib user32.lib include kernel32.inc includelib kernel32.lib.stack 100.data sztitle db example of hello,0 szgreet db 你好!Win32世界!,0.code start:invoke MessageBox,NULL,addr szgreet,addr sztitle,MB_OK invoke ExitProcess,NULL end start,next,第七章 Win32汇编语言程序设计,.model flat,StdCall,flat:平展模式。MASM将自动产生下面的语句,指定各段寄存器与段的关系:,源程序结构中的分段不再是DOS汇编中的段定义概念,而是逐段连续分配各段地址空间,上一段结束就是下一段的开始。,ASSUME cs:flat,ds:flat,ss:flat,es:falt,fs:error,gs:error,第七章 Win32汇编语言程序设计,语言类型:指定命名规则、参数传递顺序、堆栈平衡者等。,返回,Win32环境汇编语言编程接口就建立在Win32 API基础上。,返回,第七章 Win32汇编语言程序设计,Win32 API的核心是3个动态链接库(dll):,invoke 函数名,参数1,参数2,invoke MessageBox,NULL,addr szgreet,addr sztilte,MB_OK,上述调用在汇编语言程序中汇编为如下指令:,MessageBox()的原形声明如下:,返回,第七章 Win32汇编语言程序设计,push MB_OK push sztitle push szgreet push NULL call MessageBox,int MessageBox(HWND hwnd,/父窗口句柄LPCTSTRlpText,/将显示在消息框中的字符串LPCTSTRlpCaption/消息对话框的标题UINTuType/消息对话框的风格);,invoke ExitProcess,NULL,voidExitProcess(UINTuExitCode/exit code for all threads);,返回,第七章 Win32汇编语言程序设计,第七章 Win32汇编语言程序设计,7.2 Win32汇编语言的语法,(1)标号和变量,(2)高级语法,(3)运算符与条件表达式,(4)分支语句,(5)循环语句,(6)子程序设计(子程序的定义和声明、参数传递和堆栈平衡),.data szmess db 1!+2!+3!=0,0 sztitle db WHILE examples,0 n dd 3 result dd 0.code start:mov ecx,1 mov eax,1.while ecx=n;WHILE循环 mul ecx inc ecx add result,eax.endw mov eax,result mov dl,al add szmess+9,dl invoke MessageBox,NULL,addr szmess,addr sztitle,MB_ICONINFORMATION or B_OK invoke ExitProcess,0 end start,例7-2:用高级语法语句WHILE循环完成计算:1!+2!+3!=9,第七章 Win32汇编语言程序设计,第七章 Win32汇编语言程序设计,汇编、连接Win32 汇编语言程序的方法:(1)命令行方式,汇编:ml/c/coff hello.asm 连接:link/SUBSYSTEM:WINDOWS hello.obj 运行:hello,7.3 Win32窗口程序设计简介,(1)窗口程序设计的基本步骤,本节介绍如下要点:,(2)集成开发环境方式 MASM32软件包中的编辑器:geditor.exe,NEXT,返回,第七章 Win32汇编语言程序设计,1,获取应用程序模块的句柄(调用GetModuleHandle函数);,第七章 Win32汇编语言程序设计,Win32窗口程序实例:消息传递机制 代码分析,(2)窗口程序的运行过程,(3)窗口程序的主要代码分析(模块和句柄、注册窗口类、建立窗口、窗口过程),第七章 Win32汇编语言程序设计,7.4 汇编语言与VC+的混合编程,嵌入式汇编语言指令及编程方法,(1)嵌入式汇编指令,(2)VC+调用汇编子程序,NEXT,第七章 Win32汇编语言程序设计,汇编语言与VC+的混合编程实例,返回,第七章 Win32汇编语言程序设计,(3)VC+调用汇编语言子程序的方法,嵌入式汇编也可以用于编写函数,其参数传递方法很简单,并且不用单独汇编,因此使用方便。此外嵌入式汇编还支持调用C函数,包括C库函数以及用extern C说明的函数。,嵌入式汇编对于参数传递的约定如下:,第七章 Win32汇编语言程序设计,其中关于出口参数:32位返回值由eax寄存器返回,如果返回值小于32位,则扩展为32位由eax寄存器返回,如果返回值大于32位,则由edx:eax寄存器返回,其中高32位存放在edx寄存器中,返回值大于64位时,将返回值的地址存放在eax寄存器中返回。,小 结,利用win32汇编语言可以方便、高效地编写窗口程序,要求:(1)基本掌握win32汇编语言程序结构和编程模式,熟悉 win32汇编语言编程环境;(2)熟练掌握API函数的使用方法;(3)理解窗口程序设计的基本步骤和消息处理机制。理解和基本掌握:(1)嵌入式汇编语言指令及编程方法;(2)在 VC+程序中调用汇编语言子程序的方法。,谢谢,

    注意事项

    本文(汇编语言程序设计教程PPT-第7章.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开