教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

什么是匯編語(yǔ)言?Python、C++ 和 Java 與匯編語(yǔ)言有什么關(guān)系?

更新時(shí)間:2021年05月13日11時(shí)20分 來(lái)源:傳智教育 瀏覽次數(shù):

匯編語(yǔ)言(assembly language)是一種用于電子計(jì)算機(jī)、微處理器、微控制器或其他可編程器件的低級(jí)語(yǔ)言,亦稱為符號(hào)語(yǔ)言。

在匯編語(yǔ)言中,用助記符(Mnemonics)代替機(jī)器指令的操作碼,用地址符號(hào)(Symbol)或標(biāo)號(hào)(Label)代替指令或操作數(shù)的地址。在不同的設(shè)備中,匯編語(yǔ)言對(duì)應(yīng)著不同的機(jī)器語(yǔ)言指令集,通過(guò)匯編過(guò)程轉(zhuǎn)換成機(jī)器指令。普遍地說(shuō),特定的匯編語(yǔ)言和特定的機(jī)器語(yǔ)言指令集是一一對(duì)應(yīng)的,不同平臺(tái)之間不可直接移植。

匯編語(yǔ)言是面向機(jī)器的語(yǔ)言,而不是機(jī)器語(yǔ)言。機(jī)器語(yǔ)言和匯編語(yǔ)言都是最低級(jí)的編程語(yǔ)言,面向機(jī)器,但最最低級(jí)的還是費(fèi)解的機(jī)器語(yǔ)言:0和1。匯編語(yǔ)言的創(chuàng)造是因?yàn)樵谠缙谌藗冮L(zhǎng)期與計(jì)算機(jī)痛苦地交流之后隨著對(duì)機(jī)器語(yǔ)言和自然語(yǔ)言、數(shù)學(xué)語(yǔ)言結(jié)合的強(qiáng)烈渴望,開(kāi)始用一些例如ADD、MOV這樣的單詞表示一些操作,匯編語(yǔ)言可以直接操控硬件,是面向機(jī)器的低級(jí)語(yǔ)言,效率相當(dāng)高,功能相當(dāng)強(qiáng),想學(xué)精通比較不易。

許多匯編程序?yàn)槌绦蜷_(kāi)發(fā)、匯編控制、輔助調(diào)試提供了額外的支持機(jī)制。有的匯編語(yǔ)言編程工具經(jīng)常會(huì)提供宏,它們也被稱為宏匯編器。

匯編語(yǔ)言不像其他大多數(shù)的程序設(shè)計(jì)語(yǔ)言一樣被廣泛用于程序設(shè)計(jì)。在今天的實(shí)際應(yīng)用中,它通常被應(yīng)用在底層,硬件操作和高要求的程序優(yōu)化的場(chǎng)合。驅(qū)動(dòng)程序、嵌入式操作系統(tǒng)和實(shí)時(shí)運(yùn)行程序都需要匯編語(yǔ)言。

匯編語(yǔ)言

匯編語(yǔ)言與機(jī)器語(yǔ)言有什么關(guān)系?

機(jī)器語(yǔ)言(machine language)是一種數(shù)字語(yǔ)言, 專門(mén)設(shè)計(jì)成能被計(jì)算機(jī)處理器(CPU)理解。所有 x86 處理器都理解共同的機(jī)器語(yǔ)言。

匯編語(yǔ)言(assembly language)包含用短助記符如 ADD、MOV、SUB 和 CALL 書(shū)寫(xiě)的語(yǔ)句。匯編語(yǔ)言與機(jī)器語(yǔ)言是一對(duì)一(one-to-one)的關(guān)系:每一條匯編語(yǔ)言指令對(duì)應(yīng)一條機(jī)器語(yǔ)言指令。寄存器(register)是 CPU 中被命名的存儲(chǔ)位置,用于保存操作的中間結(jié)果。


Python、C++ 和 Java 與匯編語(yǔ)言有什么關(guān)系?

高級(jí)語(yǔ)言如Python、C++ 和 Java 與匯編語(yǔ)言和機(jī)器語(yǔ)言的關(guān)系是一對(duì)多(one-to-many)。比如,C++ 的一條語(yǔ)句就會(huì)擴(kuò)展為多條匯編指令或機(jī)器指令。


匯編語(yǔ)言可移植嗎?

一種語(yǔ)言,如果它的源程序能夠在各種各樣的計(jì)算機(jī)系統(tǒng)中進(jìn)行編譯和運(yùn)行,那么這種語(yǔ)言被稱為是可移植的(portable)。

例如,一個(gè) C++ 程序,除非需要特別引用某種操作系統(tǒng)的庫(kù)函數(shù),否則它就幾乎可以在任何一臺(tái)計(jì)算機(jī)上編譯和運(yùn)行。Java 語(yǔ)言的一大特點(diǎn)就是,其編譯好的程序幾乎能在所有計(jì)算機(jī)系統(tǒng)中運(yùn)行。

匯編語(yǔ)言不是可移植的,因?yàn)樗菫樘囟ㄌ幚砥飨盗性O(shè)計(jì)的。目前廣泛使用的有多種不同的匯編語(yǔ)言,每一種都基于一個(gè)處理器系列。

對(duì)于一些廣為人知的處理器系列如 Motorola 68x00、x86、SUN Sparc、Vax 和 IBM-370,匯編語(yǔ)言指令會(huì)直接與該計(jì)算機(jī)體系結(jié)構(gòu)相匹配,或者在執(zhí)行時(shí)用一種被稱為微代碼解釋器(microcode interpreter)的處理器內(nèi)置程序來(lái)進(jìn)行轉(zhuǎn)換。

好口碑IT培訓(xùn)



猜你喜歡:

什么是JavaSE和JavaEE?

什么是Java,Java有幾個(gè)技術(shù)平臺(tái)

什么是Python?最全的python百科

C語(yǔ)言發(fā)展史概述

什么是PHP?PHP可以做什么?

傳智教育高級(jí)Java工程師培訓(xùn)課程

0 分享到:
和我們?cè)诰€交談!