80x86汇编和win32汇编有什么区别?

来源:百度知道 编辑:UC知道 时间:2024/06/17 19:08:57

现代操作系统说的x86,没有特别说明都指:“80386以上的新cpu能运行”。但一般国内入门书上说的80x86汇编语言,却是dos下8086“实模式”的编程。当然这是基础,不能说落后就不学。

80x86与win32汇编语言最终都是生成80386以上可运行的代码(废话)。不过windows编程有它特殊的地方,有它的规矩。例如callback函数,不像dos程序那样顺序执行,程序让系统来决定何时执行;又例如资源,很多时候可以利用系统或其他库提供的东西……这些由windows系统的特殊性决定。因此“win32汇编”文本的格式与入门书上的有很多不同。

汇编语言与其他高级语言一样,都要经过编译程序编译,才能生成执行代码。如果你使用的编译器不同,文本格式又有些微细差别。

可以认为win32汇编是80x86汇编的一个子集
80x86汇编语言是一个庞大的集合,MASM,TASM,NASM,YASM,gas等等都是其中的一种
而win32汇编,严格的说不是一种语言,只能说包括了一些已经写好的宏,比如invoke。这样更加方便的调用Windows的系统函数。也可以方便的生成Windows系统要求的一些东西。
普通的80x86汇编在32位保护模式下的包含Windows必要的常量和宏定义就是win32汇编了。

80x86是指cpu的指令集,win32汇编也是基于80x86指令集的

信不信,随便逮住一个人问他知不知道CPU,我想他的答案一定会是肯定的,

汇编语言都是基于某个操作系统的,有什么样的操作系统就有什么样的汇编.