也许是一种兴趣,也许是一种执着,也许是一种追求,所以选择学习汇编。在这之前看过部分汇编的视频,讲到CPU结构、寄存器之类头蒙了,有种当初连Windows API都没掌握一点的前提下去看MFC的那种感觉,当初确实很傻,现在终于能深刻体会候俊杰的话了:“勿在浮沙筑高台”,严重“受挫碰壁”后当时便把汇编撂那儿了。如今重拾,便下定决心了!
因为朋友、爱人、亲人他们的笑脸永远是你最大的动力!
网上有很多汇编入门的教程与实例,但很多都不健全,自己在众友的帮助下,很顺利的搭建好了环境,将我的第一个hello World写出来了!下面是我学习过程中一些心得,希望能给与我一样初学WIN32汇编的朋友一些帮助!
1、罗云彬的《Win32汇编教程》
说实话,前段第一章背景知识确实很枯燥,周末反复看了两天,还是没得什么头绪,主要也是概念性的东西太强了点。于是跳过,直接看第二章“准备编程环境 ”,这一章讲解还算容易理解,主要是介绍汇编程序的开发流程、Link.exe、rc.exe等工具用法。终于明白了汇编为什么没有像VC++那样比较好的IDE开发环境(因为确实比较麻烦)。
2、第一个汇编程序
3、环境设置
自行下载与安装MASM32 V10应该没什么问题,默认就行。当初自己还“庆幸”以为MASM32 V10有什么IDE环境让我写好的代码直接链接,结果发现没有,让我很是失望。使用ml.exe、link.exe时遇到几个错误,就是“inc、lib等文件无法找到”,估计我的环境没有设置好。(最笨的办法:包含绝对路径咯)
下面是正确的设置方法,后面写代码时就不用包含绝对路径了:
A、打开“系统环境变量”:
B、添加如下记录:
4、使用ml.exe编译程序
将hello.asm复制到bin目录,打开命令行,输入ml /c /coff hello.asm,此时将在bin目录生成hello.obj,如下图:
5、使用link.exe链接程序
这些都只能自己完成了,并不能像VC++这样的IDE环境里帮我们处理。继续输入link /subsystem:windows hello.obj
如下图:
6、运行程序,第一个汇编程序总算完成!
7、 感谢寂寞的狼、习惯成自然、neptune与徐艺波等友友支持与鼓励!