星厨驾到第四季:汇编语言是否也有很多版本?

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 12:16:19
汇编语言是否也有很多版本?类似于高级语言里的c,c++,basic,pascal之类的
是否不同机器用不同的汇编语言?

汇编(asm)语言的版本是固定的,但指令的多少取决于你的CPU,过去我们研究8088汇编所面对的是x86处理器,指针操作均为DOS环境;如今高级语言的出现,如C++、pascal和CPU的更新换代,致使汇编语言这种直接面对内存指针的编程模式渐渐淡出了视眼。
但毕竟,在众多语言当中,汇编语言尤为接近机器语言,也最利于了解CPU的工作方式,这对欲晋升高级程序员的朋友来说是极具吸引力的。汇编语言分为两部分,一是在DOS环境下,操作系统的编程直接面向内存与指针,一切编程方式均是由CPU指令的集合组成,在这其中就熟练的必须掌握“指针”这一感念了,虽然编程相对透明,但是对于较大规模的程序而言,dos下的汇编则是根本无法完成的,这也是程序员们不愿选择asm的原因; 二是在Windows环境下的汇编,当然,也包括如今的LUNIX、UNIX、MAC系统,这时候的汇编必须重新下一定义了,因为CPU厂商与操作系统厂商之间是相互的伙伴关系,在windows之类的32位系统中,操作系统厂商应用CPU厂商未公开的指令对自身进行封装,对CPU的控制权进行了权限的划分,所以我们再无法熟练应用16位汇编中那可爱的CPU指针了;不过这样的改变也未终止汇编语言的发展,如今已经有了win32环境下的汇编程序,比如耳熟能详的MASM等等。呵呵,罗索了这么多,我个人认为,程序员的入门语言应该选择汇编(asm),从入门起开始接触汇编,逐渐理解计算机、数据结构、CPU指针等等,更适合初学者。

是的。汇编语言的版本有很多。。而且你说的对。。也是对着不同的机器有不同的汇编语言。。因为汇编语言直接机器硬件进行编码。。光主板就有很多种了。。所以存在不同版本的汇编语言是正常的。。

大致是一样的,因为我们平时的电脑都是x86架构的,常用的编译器是masm,但版本很多,新版本可以支持更新的处理器

汇编语言发展树

=================================================
1977 ASM86 ||1978 | ||1979 |-CP/M-86 asm86 ||1980 | ||1981 +-------------------------------------------------+ ||1982 |-MASM---------+----+ | ||1983 | | | | | ||1984 | |-NBASM | +-------------------+-Incra | ||1985 | | | | | | ||1986 | |-ARROWSOFT | | | +--A86 ||1987 | | | | +-WASM | || Terse1988 | | | +-OptASM | ||1989 TASM-----------)----)----------+ | ||1990 | | | | | ||1991 | | | | GAS | ||1992 | | | | | ||1993 | | | | | ||1994 | +------+ | | GEMA, CrossFire | ||1995 | | +----------)------------------+ +-A386 ||1996 |-------NASM \-Pass32 | | ||1997 |-TMA |-------------------+ | |-ML ||1998 | |-SpASM---+ | | | ||1999 | |-GASM | |-FASM | || HLA2000 +-LZASM | | | | ||2001 | +-GoASM | +---------------YASM | Osimplay ||2002 | | | ||2003 +-miASMa +-RosASM +-CodeX ||2004 Octasm ||===============================================

格式乱了,见参考资料吧

是的。汇编语言的版本针对不同cpu,如果是宏汇编,版本更多

是。1楼的是广告,楼主小心。