第1 章Windows 汇编语言程序设计基础1第1 章Windows汇编语言程序设计基础Windows 汇编语言程序分为控制台编程和图形界面编程两种,控制台编程相对简单一些。为了由浅入深,本书从控制台编程开始讲解。读者总希望用最快的速度掌握书中的概貌,为此从一个最简单的程序开始。一些汇编语言语法也结合程序进行讲解,有些指令和语法用注解的方法说明。1.1第一个完整的 Windows 汇编语言程序Windows 汇编语言程序有自己的编程规范,它的编程规范比 VisualC要简单得多,调试也很方便。更重要的是系统把重要的东西都呈现给读者,使读者更能掌握其中的本质。用一条一条的汇编语言指令很难写出大程序,Windows 汇编语言程序也是调用系统提供的 API来写程序。因而,用 Windows 汇编语言同样可写出大程序。以下是一个最简单的Windows 程序。;程序功能:显示一个信息框。;ex1.asm(e:\masm\base);程序名;编译链接方法:;ml/c/coffex1.asm;link/subsystem:consoleex1.obj.386;指明指令集.modelflat,stdcall;程序工作模式,flat为Windows 程序使用的模式(代码和数据;使用同一个4GB段),stdcall为API调用时右边的参数先入栈option casemap:none;指明大小写敏感includewindows.incincludeuser32.incincludelibuser32.libincludekernel32.incincludelibkernel32.lib.data;数据段szCaptiondb'抬头串',0szTextdb'Hello!',0.code;代码段start:Windows汇编语言程序案例解析2invokeMessageBox,;显示信息框NULL,;父窗口句柄offsetszText, ;正文串的地址offsetszCaption,;抬头串的地址MB_OK;按钮invokeExitProcess,;终止一个进程NULL;退出代码endstart;指明程序入口点程序运行结果见图1-1。说明:程序调用了两个Windows提供的API。invoke是汇编语言中的伪指令,该指令的使用方法见1.4节。1.2编译、链接和运行1.2.1 创建编译链接环境(1)安装 MASM615调试工具。(2)建立一个VAR.BAT文件,内容如下。@echooffrem请根据 Masm32软件包的安装目录修改下面的Masm32Dir环境变量!setMasm32Dir=c:\Masm32setinclude=%Masm32Dir%\Include;c:\ProgramFiles\MicrosoftVisualStudio\VC98\Include;(本行应接在上行后)ProgramFiles\MicrosoftVisualStudio\VC98\MFC\Include;(本行应接在上行后)%include%(本行应接在上行后)setlib=%Masm32Dir%\lib;%lib%setw2k=%Masm32Dir%\Incluse\w2k;%Include\w2k%setpath=%Masm32Dir%\Bin;%Masm32Dir%\Include;%Masm32Dir%\Include\w...