
处理器厂商的的运算指令是遵从一定的标准的,所以才有其他公司提供相相应的汇编语言,该语言的编写及编译器的编写都是基本上来说通用的,对于不同的指令集合有不同的支持。而也有不少厂商提供一些汇编语言,但是当时的多数人都是知道厂商提供的汇编语言只是对于自己的处理器支持良好,但未必通用,且厂商并不比相应的软件公司有优热血,就如现在的 *** 作系统大都是由非处理器厂商提供一样,都知道window是由microsoft公司提供,而CPU的一个大制造商却是intel,AMD。他们并不提供 *** 作系统。
汇编语言也是一样的,也是一种应该而已,甚至还在站在 *** 作系统的基础之上,也就是说,当时的DOS *** 作系统都不是由处理器厂商提供,更别提 *** 作系统上的一个软件了。处理器厂商的指令集也并非是汇编指令,而是机器码,只不过后来的处理器厂商按照机器码的功能写出来让人更易理解的汇编形式写出来而已。而一个汇编语言却是支持不同的CPU与CPU构架集的,所以汇编语言本身与已经怀厂商无关了,一句汇编语言在不同的CPU支持集上会持成不同的机器码,完成相同的功能而已。
而所谓的厂商只提供相应的指令集而已,且指令集是公开的,并非加密,指令集会兼容上一个的指令集而已,并非汇编语言支持。处理器厂商的核心技术是处理器的制造工艺,比如CPU采用提65nm还是45nm肯定是不同的,硅集片的不同堆叠会影响CPU的散热,这些才是取决于CPU的竞争力的!
所以汇编并非由处理器厂商提供。处理器厂商跟汇编是没有关系的。
高级编程语言,如C++,java等,经过编译后,由汇编程序转为汇编语言;或者在一些情况下嵌入在高级语言中;
或者直接使用汇编语言编程。
汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的 *** 作码,用地址符号(Symbol)或标号(Label)代替指令或 *** 作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。
许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器。
汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件 *** 作和高要求的程序优化的场合。驱动程序、嵌入式 *** 作系统和实时运行程序都需要汇编语言。
1、MASM。
微软公司为x86 微处理器家族开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm,是Windows下开发汇编的利器。
2、NASM。
全称The Netwide Assembler,是一款基于80x86和x86-64平台的汇编语言编译程序,其设计初衷是为了实现编译器程序跨平台和模块化的特性。
3、TASM。
Borland公司开发的汇编编译器,被广泛用于Turbo C,Quick Basic等编译器,用作中间过渡编译。它也能独立的编译纯汇编或是Win32Asm的代码。具有编译快速,高效的特点,至今依然是汇编开发的首选利器。
4、GAS。
GNU汇编器(GNU Assembler),简称为GAS,是由GNU计划所使用的汇编器,GNU的核心精神是自由与分享,所以GAS亦是自由软件。
5、RadASM。
一款著名的WIN32汇编编辑器,支持MASM、TASM等多种汇编编译器,Windows界面,支持语法高亮,自带一个资源编辑器和一个调试器。拥有较强的工程管理功能,加之众多插件的支持,使得它用汇编语言编写Windows软件变得得心应手。
参考资料来源:百度百科-汇编语言
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)