在 Win32 系统下的组合语言准备工作

本文介绍了在Win32环境下使用组合语言编程的历史和资源,包括Borland的TASM和微软的MASM32,以及相关的调试工具Soft-ICE和OllyDbg。文章强调了MASM32的便利性和丰富的网上资源,特别是罗云彬的编程乐园。还提到了Win32 API的重要性,并提供了设置MASM32编译环境的步骤。最后,概述了Win32程序设计的关键概念,如平坦模式、段和资料区段,以及事件驱动和讯息驱动的编程模式。
摘要由CSDN通过智能技术生成
导读:
   有关 Win32 平台上组合语言的资料
  虽然 DOS 已成过去,但小木偶仍然很怀念那段在 DOS 的时光,尤其是用组合语言去驾驭电脑,在 32 位元作业系统 ( 指 OS/2、Windows 9x/2K/XP、Linux 等作业系统 ) 当道的今天,似乎很少人提及『写程式』这档事,即使有,也只是 C/C++、Delphi 或是 Basic,难道仍然能使用组合语言吗?答案绝对是肯定的。早在 1999 年 7~8 月智冠科技所出版的『游戏设计大师』内有一篇傅新灯先生所写的文章,是我所见过最早在 Win32 作业系统 ( 指 Windows 9x/Me/2K/XP 等作业系统,以後简称为『Win32』) 使用组合语言写程式,此文章有一系列,最先介绍 Win16 写组合语言程式,之後再介绍 Win32,傅先生也有网页,可惜现在已经消失了。2002年初,出现了一个以 OS/2 作业系统为平台的程式设计网站『午後的程式设计』,里面也有提及组合语言程式设计,并且也有范例,可惜也已消失了。现在在繁体中文的网站里,有关在 Win32 组合语言程式设计的网页似乎只剩下零星的记录而已,如 Free Tech 等。
  但是在简体中文的网站里,有许多网站可供参考,小木偶最常去的是『罗云彬的编程乐园』,里面有许多高手发表程式范例,罗先生本身就是很高段的程式设计师,他也有许多精彩的文章发表,西元 2002 年,他写了一本名为『Windows 环境下 32 位元组合语言程式设计』的书,至今仍是中文世界里,有关 Win32 组合语言的唯一书籍。此书有正体中文与简体中文两种版本,正体版由全华公司代理贩售。
  在英文的网站里,那就多如牛毛了,最是有名的,应该属於『Iczelion's Win32 Assembly Homepage』这个网站,里面有从初学者到高手必经的教材,有志於此的人当然不可放过,可惜它是个英文网站,对我们来说总有一些隔阂,但也不用气馁,在罗云彬的编程乐园网站里已经有翻译好的文章可供参考,再加上一些正简体转换软体,轻而易举就可变成您熟悉的文字。
  其实,这里也是一块卧虎藏龙之地,程式高手不乏其人,但想来他们大概是太忙了,无暇为初学者写初级的入门文章。小木偶不自量力,想为 Win32组合语言撰写繁体中文的网页,这个网页将参考上述网页及 Win32 C++ 相关书籍,希望诸位前辈能不吝指教,为组合语言程式设计投注心力,方能使敝网页能更增可读性,或许未来能有人因敝网页受益,进而更上一层楼,写出中文的杀手级软体,则敝人亦与有荣焉。
   所需工具及软体
  在 Win32 平台撰写 32 位元的组合语言程式至少要有三种工具:组译器与连结器、除错器、参考资料。
   组译器与连结器:MASM32 v7.0 或 TASM v5.0
  在 Win32 平台上撰写组合语言,至少有两种组译器可以选择:一是 Borland 的 TASM 5.0,一是微软的 MASM 6.11 以後的版本。微软的 MASM 并没有附带定义程式库的包含档,也没有其他支援工具,必须到微软所发布的各个工具包去收集,因此早期要使用 MASM 是件很麻烦的事,幸好後来微软把 MASM 6.11d 开放下载 ( 参考 DOS 的组合语言准备工作:注一,但这里只能得到 ML.EXE 与 ML.ERR 两个档案而已,版本是 6.11d ),又有一位前辈,Steve Hutchesson (让我们对他致上崇高的敬意,因为没有他的努力,全世界所有的人要撰写 Win32 组合语言要跨过比现在还困难的门槛),为 MASM 定义程式库,并且包含了许多文件、工具等必要档案包装成 MASM32 v7.0,使得用组合语言写出 Win32 程式并不再是件难如登天的事,再加上网路上所能找到的资料较多以及小木偶的习惯,因此小木偶将以 MASM 为主介绍在 Win32 平台上撰写组合语言,对於使用 TASM 的人,只好说声抱歉了。
  MASM32 7.0 可以到 hutch's home page下载取得。下载後,将它解压缩并执行其中的 INSTALL.EXE 就可以了 ( 其实 MASM32V7.ZIP 只有一个档案,INSTALL.EXE ),INSTALL.EXE 会要您选择安装在那一台硬碟机,如下图:
   <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值