好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

新版WIN32汇编开发环境介绍及RadAsm简明教程.doc

13页
  • 卖家[上传人]:飞****9
  • 文档编号:138649902
  • 上传时间:2020-07-16
  • 文档格式:DOC
  • 文档大小:306.50KB
  • / 13 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 写在前面的话:在准备做教程的时候去查资料,关于WIN32下汇编方面的,本来想找些现成的拿到教程里用下,但发现貌似只有一篇,是2005年时jhkdiy写的,而且翻来翻去发现所有图片也都失效了所以准备自己写一个算了,一劳永逸,还是拿jhkdiy前辈的作品为基础,大量的内容都是抄用原文的,只是把已经丢失的部分都补上,毕竟大家看那个内容应该已经习惯了正文:现在很多朋友都在学习汇编语言,一方面汇编语言是大学计算机课程的必修课,另一方面则是为了从其它语言转到汇编语言来,无论什么原因,我认为学习汇编语言是件很有趣的事,学习它不但可以深入了解编程语言的内部表现,也是进一步了解操作系统的途径可是很多朋友不知道汇编语言也可以开发基于Windows的窗口程序,现在64位CPU都已经在应用了,而在学校学的汇编还是十年前的8086/8088汇编语言,不但是基于Dos环境的16位汇编语言,而且用于开发程序的MASM也是不支持32位的所以很多朋友的感受是在学校学了汇编等于没学,因为学到的知识在Windows平台上根本用不上或不知如何去用 有部分朋友原来学过其它语言,如VB、Delphi、C++等等,随着学习的深入而想学习汇编语言,因为学习加解密和逆向工程汇编是必学的语言。

      而且如果是追求程序的高效和灵活的话汇编更是不二之选 学习汇编语言的基础不难,难的是怎么用的问题,如何能在Windows环境下用汇编语言解决一些实际的应用问题正是很多朋友想了解的知识这里有必要提一下Win32汇编的编程方式,所谓的Win32Asm就是利用汇编语言来直接调用Windows系统提供的API函数,其中不加任何限制和封装而现在很多语言都或多或少地对API函数进行了封装,诸如我们熟悉的VC中的MFC就把很多API函数封装成类的成员函数,VB就封装得更厉害了如果你已经有使用API函数的经验,如果你已经有汇编语言的基础,那么你进入Win32Asm只是换个环境而已,没有其它的路障在你面前那么究竟如何在已有汇编基础的情况下学习Windows环境的编程呢?有这方面的文章或资料吗?可以说很少!但都是精品,Win32汇编界公认的入门经典是Iczelion的Win32汇编教程,网上同时有它的英文版和中文翻译版下载,如果找不到的话给个邮件给我另外一个就是国内的罗云彬编著的《Windows环境下32位汇编语言程序设计》网上也有该书的pdf文件下载可是两种教程都没有介绍在Windows环境下的汇编IDE使用,罗云彬的书依然建议用makefile方式来手工编译程序,而源代码的编辑则用editplus来做。

      老实说,当一个人已经熟悉了一种环境后在另一个环境下总会有所比较,而比较的结果是:用汇编开发程序还是这么麻烦,我已经习惯了VB、VC等Windows环境下的集成开发环境,一下子要自己整合编辑、编译、连接、运行、调试等的工具确实是一个不好的开端难道就没有一个类似于Vb、VC的汇编集成开发环境吗?还是那句:很少,但都是精品!最多人使用的莫过于RadAsm了,最新版本是RadASM 2.2.0.3d (09-14-2005),整个程序很像我们熟知的VB开发界面,一样可以像VC那样用向导方式建立一个工程关键字着色、自动完成API函数等,总之在常用开发环境下有的功能它都有,没有的它也有它支持多种汇编编译器,目前支持MASM、TASM、NASM、FASM、GoAsm、HLA(High Level Assembly);还支持多国语言,够多了吧另外一个受人瞩目的汇编IDE是WinAsm,最新的版本是WinAsm V5.0.4.142 ,它同样的是一个出色的汇编开发环境,老实说,我个人感觉它和Radasm并没有很大的区别,无论是开发界面和功能上都大同小异或许造成用户群的多少只是因为个人喜好不同而造成的遗憾的是它目前只有英文版,只支持MASM。

      还有一个小有名气的是Easy Code,最新的版本是Easy Code 1.00.0.0029(9-23-2005),这个开发环境好像是VB环境的近亲,因为第一次看到它的时候以为打开了Vb,实在太像了而且它对窗口和控件做过了一定的封装,如我们知道双击在VB窗口中建立的按钮可以直接跳到该按钮的代码编辑行,而这个Easy Code也有同样的功能 前面说的都是国外的IDE,国内有没有呢?有,我目前知道的只有AogoSoft的MASMPLUS,相信很多朋友都知道 值得一提的是,上面介绍的所有开发环境都是免费的,让我们真诚地对这些无私奉献的程序英雄们说声谢谢吧 好了,上面介绍了win32Asm的开发环境,到底怎么上手呢?我并无意将自己的嗜好强加于各位读者,但还是建议用RadAsm来入门Win32Asm的IDE,没有其它原因,只因为简单好用而且功能强大,等自己熟悉它之后再试试其它AsmIDE也不迟令我奇怪的是下载的RadAsm并没有自带帮助文件,而要自己单独下载,以至于我一开始的时候更本无法上手,只能慢慢地摸索才知道它的很多的功能下面我将会用RadAsm2.2.0.1来介绍RadAsm的简单使用,更多的功能就等待你去发掘了。

      1)代码编辑区,所有关键字着色,当然配色是可以改的,编辑区除了有普通文本编辑的功能外,它还有列选择和过程隐藏功能,例如过程名的最左边有一个“-”号的框,可以单击它来隐藏具体代码或显示所有文本Ctrl+B进行列选择、Crtl+E展开所有的模块、Shift+F8下书签2)API函数自动检索,例如键入了“SetWindow”后,自动列出所有以SetWindow开头的API函数上下键进行函数选择,按下“Tab”键自动键入所选的函数3)下图这一个小小框很有用,它完整地列出了API函数原型,当你的鼠标在一个函数上的时候它就显示改函数的原型菜单“视图”->“信息工具”可以显示或隐藏该窗口4)下图中这是一个输出窗口,在编译程序时它输出编译信息,如果有错的话会提示那里错了(显示行号),错了什么(错误信息),这里实质是各个编译器的输出信息,因编译器的不同而不同菜单“视图”->“输出窗口”或 工具栏的图标可以显示或隐藏该窗口(5)下图中从左到右3个按钮的功能为:1:显示或隐藏行号;2:展开所有模块;3:隐藏所有模块,大家都知道汇编程序通常都很长,动不动就有千行的代码,在这么长的代码中找到一个函数模块并不是一件很快的事,这时我们就可以利用2、3的功能来方便我们查看代码(6)下图这里标出了当前打开的窗口,可以利用F6浏览下一个窗口,Alt+1。

      9切换到从左数起的第N个窗口,例如图中只有2个窗口,则可以按下Alt+1切换到从左边数起的第一个窗口7)下图这是工程管理窗口,每建立一个程序都有一个工程文件,将代码文件和资源文件分开管理,类似于VB的工程管理窗口在这里可以为工程添加和删除文件或资源8)下图这是工程属性窗口,如果当前在编辑代码,则它列出代码中的所有函数名,双击列表中的函数名可以直接跳到该函数的首行如果要查看代码中有那些常数定义和结构定义可以其上的下拉列表框中选择9)这四个按钮就是:编译、构建、运行、构建并运行按钮编译按钮只编译代码文件,不编译资源文件;构建按钮则同时编译汇编文件、资源文件、和进行连接成Exe文件;运行按钮不用介绍了吧构建并运行按钮则一次搞定所有的工作:编译代码文件、连接obj文件和Res文件、如果其中没错的话则运行程序,如果任何一项有错都会停止而提示错误信息几个快捷键是:Shift+F5 编译资源文件(即编译Rc文件为Res文件)F5 编译ASM文件Alt+Ctrl+F5 连接文件Alt+Shift+F5 构建Alt+F5 编译、连接、运行Ctrl+Shift+F5 运行程序RadAsm安装和配置现在对RadAsm应该有一点认识了吧,下面介绍RadAsm的安装和环境的配置问题,本节的最后用一个简单的小程序来测试我们的IDE是否配置妥当。

      呵呵,其实RadAsm根本不用安装,下载到的是一个压缩包,直接把它解压缩到一个文件夹中就可以了,为了讲解的方便,我以自己的配置为例:系统是Win2000-Pro,RadAsm的版本是2.2.0.1,我把RadAsm解压缩到F:\Asm\ RadASM22en\ 文件夹中;汇编编译器为Masm32V8.2, 下载后也是一个自解压文件,我把它解压到F:\Asm\masm32\ 文件夹中如果你下载了RadAsm的语言包,则可以把它解压到RadAsm22en 文件夹中好了,安装RadAsm就是这样简单的了,基本上没什么注意的地方现在讲讲RadAsm的配置,进入RadAsm22en 文件夹,运行RadAsm.exe 如果打开后是英文界面而你又想使用中文,则可以通过菜单:选项——语言选项 选择“简体中文”,然后单击“Ok”按钮来切换到中文界面:下面的讲解都会以中文界面为准,虽然这样做有可能会因为各中文翻译有所不同而造成中文显示不同,但相信大家都能理解其中的意思 我们首要的任务是配置MASM32,单击菜单 选项路径设置,在弹出的对话框中即可设置汇编编译器的路径:最重要的是设置好masm32的路径,只要该路径设置好,整个开发环境就可以立即工作了。

      可见RadAsm的安装和配置都很简单,为了验证我们配置的环境能否正常工作,下面做一个只显示一个对话框的程序来进行测试单击菜单 文件新建文件 或按快捷键 Ctrl+N,在代码编辑窗口中键入如下的代码:(注意大小写敏感)完成后我把代码保存为F:\backupDoc\test.asm,然后再单击菜单 构建如果大家还记得的话,就知道这是编译、连接、运行一次搞定的选项,当编译器路径没有配置错误,程序即会进行编译、连接和运行至于汇编代码我就不解析了,也不是本教程的范围如果编译期间发生了错误,则可以在输出窗口中查看错误提示,一般第一次的错误都是没有设置好Masm32的路径如果没错的话RadAsm会显示整个编译和连接的过程,如上面的程序就输出如下信息:F:\Asm\masm32\Bin\ML.EXE /c /coff /Cp /nologo /I"F:\Asm\masm32\Include" "F:\backupDoc\test.asm" Assembling: F:\backupDoc\test.asmF:\Asm\masm32\Bin\LINK.EXE /SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0 /LIBPATH:"F:\Asm\masm32\Lib" "F:\backupDoc\test.obj" Microsoft (R) Incremental Linker Version 5.12.8078Copyright (C) Microsoft Corp 1992-1998. All rights reserved.Executing: "F:\backupDoc\test.exe"Make finished.Total compile time 1693 ms可以从上面的示例知道,用RadAsm集成开发环境一点也不比那些高级语言的ID。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.