Win32asm 初学者常见问答集

Neo2D 2001-06-20 08:24:00
Win32asm 初学者常见问答集

作者:Iczelion 中文版翻译:Neo

1. 关于本问答集
2. win32asm 是什么?
3. 开始 win32asm 编程需要做些什么准备?
4. 哪里可以获得关于 win32asm 编程的帮助?



--------------------------------------------------------------------------------


关于本问答集

这是一个 win32asm 新手常见问答集. 这个问答集由我( Iczelion )维护. 我的email是: Iczelion@galaxycorp.com



--------------------------------------------------------------------------------


win32asm 是什么?

win32asm 是描述使用汇编语言进行 32位Windows 编程的一个术语, 它本身并不是一种语言. 在win32asm里你可以使用各种不同的汇编编译器.



--------------------------------------------------------------------------------


在开始 win32asm 编程前需要做哪些准备?

至少, 你需要32位Windows :) 可以是Windows 95/98/NT/2000. 就我的个人意见, 最好的编程平台是Windows NT/2000, 因为它更稳定, 此外, 一些有着在Windows 95/98中会被忽略的小错误的程序运行在Windows NT/2000下将立即得到错误通知.

你必须要有一些汇编语言的基本知识. 如果你是一个完全的汇编语言新手, 你可以在网上寻找一些教材和指南. 完整的汇编书籍站点是 Randal Hyde's The Art of Assembly Language Programming. 注意这本书是关于16位DOS汇编的. 当然, 无论在OS/Windows 还是 Linux中, 基本的汇编命令是相同的. 我已经网上找到一些教授32位汇编语言的地方. 下一步是学习更多的关于一般Windows 编程的知识. 关于这方面, 可以找到的最好的书是Charles Petzold 的 《Programming Windows 95》. 这本书不是在线读物,你可以从本地的书店里购买。你将发现这本书的价值远远高于他的价格。

现在需要结合你的汇编语言的Windows编程两方面的知识以使得工作更加容易。我写了一些关于这个主题的指南,你可以在下面的网站找到: http://win32asm.cjb.net.

需要的工具是:

编译/连接器(Assembler/Linker). 你可以使用好几个编译器. 我更喜欢微软宏汇编 (MASM). 你可以从以下站点免费下载 http://masm32.cjb.net. 它包含在叫做 MASM32 的包中. 你也可以使用 Borland/InPrise 的 Turbo Assembler (TASM) 和 NetWide Assembler (NASM). TASM 未作为一个单独的产品升级. 最后的版本是5.0r. 此外, 它不是免费的. NASM 是一个自由软件汇编器. 可是,就我所知,它的定位并不在 win32asm. 它更多的用在Linux中. 你可以从以下站点下载最新版本的 NASM : its main page. 还有一个新的自由软件汇编器叫 SpAsm ,也可以使用. 它包含一个IDE和内置的调试器(debugger).
文本编辑/综合编程环境(Text Editor/IDE). 你可以使用任何文本编辑器. 我一般用 UltraEdit. 有的人更喜欢 WinEdit. Justin Decker 编的 VisualASM 是一个MASM的IDE. 对 TASM 用户来说, 可能会发现 TASM IDE 更让你喜欢.
资源编辑器(Resource editor). 如果你需要设计对话框,菜单,图标,光标等,就需要一个好的资源编辑器。 有几个资源编辑器可以选择. 比如, Borland Resource Workshop (BRW), Symantec Resource Editor. 我更喜欢整合到 Visual C++ IDE 中的那个资源编辑器.
Win32 API 参考. 在你编程过程中需要频繁的查找这个参考. 你可以从这个站点下载免费版本:Borland/InPrise site. 然而, 这个版本比较过时. 在里面找不到最新技术的信息. 在 Microsoft Developer Network有很多关于这个参考的升级更新信息,如果你能买到MSDN的CD那是最好的了,它将使得你的知识库里拥有许多很棒的资源。
调试器(Debugger). 相信我, 你需要一个调试器来找出你程序中的bug. 可以买到的最好的软件调试器是 SoftICE. 还有一个 Netwalker 的免费调试器,可以从这里下载: my site
概略的讲, 如果你想使用 MASM, 下载 MASM32 package 然后阅读 my win32asm tutorials. 我高度建议你使用 MASM: 99% 的 win32asm 程序员使用 MASM 所以你可以更容易的获得许多支持.



--------------------------------------------------------------------------------


哪里可以获得关于 win32asm 编程的帮助?

你可以在 win32asm webboard 贴出你的问题,如果你喜欢更直接的方式,试试 IRC. 我可以连接到 EFNET, channel #win32asm. 或者如果 EFNET 上不去, 试试Undernet, channel #win32asm. 你也可以发email给我我的email地址是 Iczelion@galaxycorp.com. 我将尽量给你最好的回复但我不对我的回复做任何形式的担保.

译注: html版将在近期贴出
...全文
221 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
smallwaves 2001-06-24
  • 打赏
  • 举报
回复
国外现在开始有了HLA(High Level Assembly)的研究和使用了,听说这使学习汇编就像学习C一样EASY了,不知Noe2D兄可否将此一技术介绍到中国来,让更多的中国程序员了解和学习汇编这的一新技术(当然,这是在下的一片私心了:-)!
smallwaves 2001-06-24
  • 打赏
  • 举报
回复
  谢谢你,Noe2D,
非常感谢你翻译了这篇文章!!!(This would make more chinese programmers know win32asm and could learn and love her.)
在下也是一位WIN32ASM的爱好者,我是在本年的2月份才开始学习WIN32ASM,以前曾经学过一段时间的DOS ASSEMBLY。我始终认为WIN32ASM的作用不在于任何的商业意义而在于她给了我们在DOS时代可以拥有的一份可以任意挥洒的自信和豪情。
    在下英语水平虽不好却也时常的光临IczLion的网站,给我感叹最深的最是我们中国搞WIN32ASM的人好像太少了,而且水平也比外国佬们逊色一大块,在国外人们已经开始大搞WIN32ASM下的DIRECT,OPENGL,他们编的一些屏保程序有的还使用了OPENGL技术,而在国内我只找到了罗云彬大哥的‘月下情人’,未免给我一种孤掌难鸣的感觉!
   我 现在开始学习VC的编程的,有了WIN32ASM的基础,学起VC来我感到了无比的轻松。这也正是我最初学习WIN32ASM的目的和意图。
   

21,457

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧