在准备做教程的时候去查资料,关于WIN32下汇编方面的,本来想些现成的拿到教程里用下,但发现貌似只有一篇,是2005年时jhkdiy写的,而且翻来翻去发现所有图片也都失效了。所以准备自己写一个算了,一劳永逸,还是拿jhkdiy前辈的作品为基础,大量的内容都是抄用原文的,只是把已经丢失的部分都补上,毕竟大家看那个内容应该已经习惯了。
正文:
现在很多朋友都在学习汇编语言,一方面汇编语言是大学计算机课程的必修课,另一方面则是为了从其它语言转到汇编语言来,无论什么原因,我认为学习汇编语言是件很有趣的事,学习它不但可以深入了解编程语言的内部表现,也是进一步了解操作系统的途径。可是很多朋友不知道汇编语言也可以开发基于Windows的窗口程序,现在64CPU都已经在应用了,而在学校学的汇编还是十年前的8086/8088汇编语言,不但是基于Dos环境的16位汇编语言,而且用于开发程序的MASM也是不支持32位的。所以很多朋友的感受是在学校学了汇编等于没学,因为学到的知识在Windows平台上根本用不上或不知如何去用。
      有部分朋友原来学过其它语言,如VBDelphiC++等等,随着学习的深入而想学习汇编语言,因为学习加解密和逆向工程汇编是必学的语言。而且如果是追求程序的高效和灵活的话汇编更是不二之选。
      学习汇编语言的基础不难,难的是怎么用的问题,如何能在Windows环境下用汇编语言解决一些实际的应用问题正是很多朋友想了解的知识。这里有必要提一下Win32汇编的编程方式,所谓的Win32Asm就是利用汇编语言来直接调用Windows系统提供的API函数,其中不加任何限制和封装。而现在很多语言都或多或少地对API函数进行了封装,诸如我们熟悉的VC中的MFC就把很多API函数封装成类的成员函数,VB就封装得更厉害了。如
果你已经有使用API函数的经验,如果你已经有汇编语言的基础,那么你进入Win32Asm只是换个环境而已,没有其它的路障在你面前。那么究竟如何在已有汇编基础的情况下学习Windows环境的编程呢?有这方面的文章或资料吗?可以说很少!但都是精品,Win32汇编界公认的入门经典是IczelionWin32汇编教程,网上同时有它的英文版和中文翻译版下载,如果不到的话给个邮件给我。另外一个就是国内的罗云彬编著的《Windows环境下32位汇编语言程序设计》网上也有该书的pdf文件下载。可是两种教程都没有介绍在Windows环境下的汇编IDE使用,罗云彬的书依然建议用makefile方式来手工编译程序,而源代码的编辑则用editplus来做。老实说,当一个人已经熟悉了一种环境后在另一个环境下总会有所比较,而比较的结果是:用汇编开发程序还是这么麻烦,我已经习惯了VBVCWindows环境下的集成开发环境,一下子要自己整合编辑、编译、连接、运行、调试等的工具确实是一个不好的开端。难道就没有一个类似于VbVC的汇编集成开发环境吗?还是那句:很少,但都是精品!最多人使用的莫过于RadAsm了,最新版本是RadASM 2.2.0.3d (09-14-2005),整个程序很像我们熟知的VB开发界面,一样可以像VC那样用向导方式建立一个工程。关键字着、自动完成API函数等,总之在常用开发环境下有的功能它都有,没有的它也有。它支持多种汇编编译器,目前支持MASMTASMNA
SMFASMGoAsmHLA(High Level Assembly);还支持多国语言,够多了吧。另外一个受人瞩目的汇编IDEWinAsm,最新的版本是WinAsm V5.0.4.142 ,它同样的是一个出的汇编开发环境,老实说,我个人感觉它和Radasm并没有很大的区别,无论是开发界面和功能上都大同小异。或许造成用户的多少只是因为个人喜好不同而造成的。遗憾的是它目前只有英文版,只支持MASM。还有一个小有名气的是Easy Code,最新的版本是Easy Code 1.00.0.00299-23-2005),这个开发环境好像是VB环境的近亲,因为第一次看到它的时候以为打开了Vb,实在太像了。而且它对窗口和控件做过了一定的封装,如我们知道双击在VB窗口中建立的按钮可以直接跳到该按钮的代码编辑行,而这个Easy Code也有同样的功能。
      前面说的都是国外的IDE,国内有没有呢?有,我目前知道的只有AogoSoftMASMPLUS,相信很多朋友都知道www.aogosoft/,这个国内以纯汇编讨论的编程站点汇集了很多的汇编高手,这个MasmPlus正是站长Aogo大哥写的。这个小型的masmplus颇为简洁,但确有很强大的编辑功能,由于还处于开发中,目前只有测试版,有兴趣的朋友可以到上面的主页里下载试试。
      值得一提的是,上面介绍的所有开发环境都是免费的,让我们真诚地对这些无私奉献的
程序英雄们说声谢谢吧。
      好了,上面介绍了win32Asm的开发环境,到底怎么上手呢?我并无意将自己的嗜好强加于各位读者,但还是建议用RadAsm来入门Win32AsmIDE,没有其它原因,只因为简单好用而且功能强大,等自己熟悉它之后再试试其它AsmIDE也不迟。令我奇怪的是下载的RadAsm并没有自带帮助文件,而要自己单独下载,以至于我一开始的时候更本无法上手,只能慢慢地摸索才知道它的很多的功能。下面我将会用RadAsm2.2.0.1来介绍RadAsm的简单使用,更多的功能就等待你去发掘了。
1)代码编辑区,所有关键字着,当然配是可以改的,编辑区除了有普通文本编辑的功能外,它还有列选择和过程隐藏功能,例如过程名的最左边有一个号的框,可以单击它来隐藏具体代码或显示所有文本。CtrlB进行列选择、CrtlE展开所有的模块、ShiftF8下书签。
2API函数自动检索,例如键入了“SetWindow”后,自动列出所有以SetWindow开头的API函数。上下键进行函数选择,按下“Tab”键自动键入所选的函数。
3)下图这一个小小框很有用,它完整地列出了API函数原型,当你的鼠标在一个函数上的时候它就显示改函数的原型。菜单视图>“信息工具可以显示或隐藏该窗口。
4)下图中这是一个输出窗口,在编译程序时它输出编译信息,如果有错的话会提示那里错了(显示行号),错了什么(错误信息),这里实质是各个编译器的输出信息,因编译器的不同而不同。菜单视图>“输出窗口 工具栏的图标可以显示或隐藏该窗口
5)下图中从左到右3个按钮的功能为:1:显示或隐藏行号;2:展开所有模块;3:隐藏所有模块,大家都知道汇编程序通常都很长,动不动就有千行的代码,在这么长的代码中到一个函数模块并不是一件很快的事,这时我们就可以利用23的功能来方便我们查看代码

6)下图这里标出了当前打开的窗口,可以利用F6浏览下一个窗口,Alt1。。9切换到从左数起的第N个窗口,例如图中只有2个窗口,则可以按下Alt1切换到从左边数起的第一个窗口。
java编译器ide最新版下载
7)下图这是工程管理窗口,每建立一个程序都有一个工程文件,将代码文件和资源文件分开管理,类似于VB的工程管理窗口。在这里可以为工程添加和删除文件或资源。
8)下图这是工程属性窗口,如果当前在编辑代码,则它列出代码中的所有函数名,双击列表中的函数名可以直接跳到该函数的首行。如果要查看代码中有那些常数定义和结构定义可以其上的下拉列表框中选择。
9)这四个按钮就是:编译、构建、运行、构建并运行按钮。编译按钮只编译代码文件,不编译资源文件;构建按钮则同时编译汇编文件、资源文件、和进行连接成Exe文件;运行按钮不用介绍了吧。构建并运行按钮则一次搞定所有的工作:编译代码文件、连接obj文件和Res文件、如果其中没错的话则运行程序,如果任何一项有错都会停止而提示错误信息。几个快捷键是:
ShiftF5                编译资源文件(即编译Rc文件为Res文件)
F5                        编译ASM文件
AltCtrlF5          连接文件
AltShiftF5        构建
AltF5                    编译、连接、运行
CtrlShiftF5        运行程序

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。