汇编语言与汇编器(目前有哪些汇编语言与汇编器)
以下內容源于網絡資源的學習與整理,如有其侵權請告知刪除。
一、匯編語言概述
機器指令集(由眾多機器碼指令構成的集合)是由CPU的設計者制定的,CPU的內部電路設計就是為了實現這些指令集的功能。可以這樣理解,機器指令集是一款CPU的硬件抽象,同時也是一款CPU的編程特征,就好像CPU的API接口。
因為機器碼指令的可讀性很差,于是設計者發明了助記符,這些助記符就形成了匯編語言。
不同的CPU會有不同的機器指令集,從而產生不同種類的匯編語言。匯編語言是一種基于具體CPU硬件的語言,幾乎沒有移植性。但是使用匯編語言執行效率最高,因為可以充分發揮CPU的設計特點,因此在內核中要求效率極高的地方,需要用匯編代碼進行處理。
二、匯編語言分類
由CPU架構的簡介可知,目前主要的CPU架構有x86架構和ARM架構,因此常見的匯編語言分為兩大類:X86匯編語言、ARM匯編語言。
X86匯編語言,根據處理器型號可以分為很多類,比如8086匯編(16位)、80X88匯編(也叫IBM PC匯編,16位)、80X86匯編(X大于3則指32位匯編)。X86匯編語言有兩種語法風格,即Intel匯編和AT&T匯編。
ARM匯編語言也有兩種語法風格,即ARM官方匯編和ARM GNU匯編。前者使用ARM官方提供的匯編器ARM ASM,適合在windows中使用,一般用大寫字母編寫代碼。后者使用GNU提供的匯編器as,適合在linux中使用,一般用小寫字母編寫代碼。兩者主要的區別在于偽操作不同,其他相關的指令基本上是一致的。
三、匯編器的種類
匯編器的作用,是把匯編語言轉換成機器碼。
常見的匯編器包括ARM ASM、MASM、TASM、GAS等。高級的匯編器如MASM、TASM等,提供了很多類似于高級語言的特征,比如結構化、抽象等,在這些環境中編寫的匯編程序,有很大的一部分是面向匯編器的偽指令。
(1)MASM。MASM是Microsoft Macro Assembler 的縮寫,是微軟公司為x86 微處理器家族開發的匯編開發環境,擁有可視化的開發界面,使開發人員不必再使用DOS環境進行匯編的開發,編譯速度快,支持80x86匯編以及Win32匯編,是Windows下開發匯編的利器。不過微軟現在不再發行MASM,此功能已經集成在visual studio 中。
(2)TASM。Borland公司開發的匯編器,被廣泛用于Turbo C,Quick Basic等編譯器,用作中間過渡編譯。它也能獨立的編譯純匯編或是Win32Asm的代碼。具有編譯快速,高效的特點,至今依然是匯編開發的首選利器。
(3)GAS。GAS是GNU Assembler的縮寫。它是自由軟件基金會的產品,可以支持不同的處理器,能夠自動探測出實際的處理器架構,以生成相應的代碼。另外也支持在某處理器平臺上產生另一處理器平臺的代碼。
總結
以上是生活随笔為你收集整理的汇编语言与汇编器(目前有哪些汇编语言与汇编器)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 判断手机rom,Andr
- 下一篇: 如何在电脑上pdf格式转换word格式