汇编语言程序设计教程PPT-第7章.pptx
汇编语言程序设计——第七章
第七章Win32汇编语言程序设计API函数的调用方法3本章要点Win32编程环境2Win32汇编语言的高级语法4Win32汇编语言程序设计基础1消息传递机制与Win32窗口程序设计5汇编语言与VC++的混合编程方法6
第七章Win32汇编语言程序设计Windows系统具有风格一致的华丽图形用户界面、丰富的API函数、设备无关性、多任务等特点而广泛流行。Win32汇编语言的功能:支持汇编语言程序调用32位WindowsAPI函数的功能1支持类似C语言的高级语法和运算符232位处理器寄存器结构:
在Win32汇编环境下编写Windows应用程序,可以充分利用Windows的高级特性,开发性能更高的应用软件和动态链接库,而且可以从深层次理解Windows运行机制和Windows应用程序的设计思路及方法。源程序结构、源程序的模式定义与段定义在Win32环境下,应用程序可以寻址4GB空间。API函数的使用(包含声明文件、调用API函数)Win32汇编的编程环境(命令行编程环境、集成开发环境)第七章Win32汇编语言程序设计7.1Win32汇编语言程序设计基础
第七章Win32汇编语言程序设计.386 ;指定可使用处理器指令集.modelflat,stdcall ;模式定义optioncasemap:none ;指定汇编选项若干条include语句;包含API函数和动态链接库头文件.stack [堆栈段大小] ;定义堆栈段.data ;数据段(定义初始化变量)初始化变量定义.data? ;数据段(定义未初始化变量)未初始化的变量定义.const ;定义常量段常量定义.code;定义代码段开始标号若干语句end 开始标号;源程序结束一个完整的Win32汇编语言源程序结构如下所示:
第七章Win32汇编语言程序设计例7-1写一个经典的Win32Hello程序。一个最简单的Win32汇编语言源程序例子,说明Win32汇编语言源程序的框架结构。.386;指定处理器指令集.modelflat,stdcall;模式定义optioncasemap:none;指定汇编选项,区分大小写includewindows.inc;包含头文件和动态连接库includeuser32.incincludelibuser32.libincludekernel32.incincludelibkernel32.lib.stack100 .datasztitle db’exampleofhello’,0szgreet db’你好!Win32世界!’,0 .codestart:invokeMessageBox,NULL,addrszgreet,addrsztitle,MB_OKinvoke ExitProcess,NULLend startnext
.modelflat,StdCall?flat:平展模式。MASM将自动产生下面的语句,指定各段寄存器与段的关系:?源程序结构中的分段不再是DOS汇编中的段定义概念,而是逐段连续分配各段地址空间,上一段结束就是下一段的开始。A