mechinics 发表于 2014-5-30 22:19:57

(摘自罗云彬)论DOS16位下的汇编与WIN32位下汇编

      (本文的材料摘自罗云彬的《Windows环境下32位汇编语言程序设计》,希望对大家有所帮助)    DOS下汇编是现在Windows系统的虚拟8086模式(cmd)支持下才能进行的。在遥远的DOS时代,学习汇编就是学习系统底层编程的代名词,若要成为一名入门级的汇编程序员,就需要学习从CPU结构,CPU工作方式、各种硬件的编程方法到DOS工作方式等范围很广的知识。所以那个时代的汇编是直接对硬件、对没有操作系统的计算机系统进行编程的时代。对那个时代的人来说,汇编编程的平台就只是硬件而不是操作系统。
   随着Windows时代的到来,以及现如今纯粹的8086PC已经不复存在 ,Windows像一堵巨大的墙,把我们和计算机的硬件隔离开。对于DOS的汇编程序员来说,就像在一夜之间,发现自己曾经学过的几乎所有的东西都被Windows封装到内核去了,由于保护模式的存在,也无法像在DOS下那样闯入系统内核为所欲为。在windows下用任何语言编程都必须遵循Windows的规范,汇编也不例外,也就是说,汇编不再是一种“有特权”的语言。面对汹涌而来的Visual C++,Visual Basic,PowerBuilder和Java等各个领域的猛将,汇编语言似乎失去了生存的意义,有很多人在DOS转向Windows的时候放弃了汇编。但是,汇编在Windows中又扮演了重要的角色!Windows为汇编程序员们提供了比C语言函数库还庞大的多的函数库,以至于其他大部分语言可以做出来的功能,汇编都可以做,其他语言做不到的功能,汇编照样可以做!Win32汇编可以当做一种功能强大的开发语言使用,使用它完全可以开发出大型的软件来。
   Windows下汇编与DOS下汇编有联系,但是应用方式不同了。简单的说就是Windows下汇编比最初的DOS汇编更高级了。我们可以这样说:“Win32汇编是Windows环境下一种全新的编程语言。”同时Win32汇编具有最初汇编的一些特性,所以使用Win32汇编语言是了解操作系统运行细节的最佳方式。
   当然Win32汇编还有更大的功能:当我们在Windows环境下进行加密解密,逆向工程,还有病毒、木马等有害代码的分析和防治工作时,Win32汇编是唯一选择。在任何讨论这方面内容的书籍中,汇编代码的篇幅总是很大的。因此深入了解这些内容的前提就是深入汇编程序。


页: [1]
查看完整版本: (摘自罗云彬)论DOS16位下的汇编与WIN32位下汇编