1.匯編語言的產(chǎn)生

我們都知道,計算機能夠處理的語言只有機器語言,也就是只用0和1兩個二進制數(shù)書寫的編程語言。也就是說,早期的程序員如果想要編程,就要將0,1數(shù)字編寫的程序代碼打在紙帶或者卡片上,1打孔,0不打孔,再將程序通過制袋機或者卡片機輸入計算機,進行運算。我們可想而知,當時的程序員是多么厲害。但是他們很快發(fā)現(xiàn)編寫的都是0,1很難辨別和記憶,因為程序員要面對的是01010100011...的數(shù)字,稍微錯一個數(shù)字也不太好發(fā)現(xiàn),因此,就產(chǎn)生了匯編語言。
著便是匯編語言的產(chǎn)生。

2.匯編語言的基礎知識

首先,我們先了解一些基本概念:

  1. 機器語言
    所謂機器語言,就是只用0和1兩個二進制數(shù)書寫的編程語言。它有的時候也叫作原生代碼(Native Code)。這里需要注意,只要CPU種類不同,對機器語言的解釋也就不同。

  2. 編譯器
    由于計算機只能讀懂機器指令,所以就需要一個能夠?qū)R編指令轉(zhuǎn)換成機器指令的翻譯程序,這樣的程序我們稱其為編譯器。程序員用匯編語言寫出源程序,再用匯編編譯器將其翻譯為機器碼。就像我們寫的Java,OC,等等,都是由編譯器最終轉(zhuǎn)換成01代碼,最后由計算機執(zhí)行。

  3. 時鐘信號的頻率
    由時鐘發(fā)生器發(fā)送給CPU的電信號的頻率。單位是MHZ(兆赫茲 = 100萬回/秒)。時鐘信號是0和1兩個數(shù)之間反復變換的電信號,類似于滴答滴答左右擺動的鐘擺一樣。通常我們把發(fā)出一次滴答的時間稱作一個時鐘周期。

簡單先了解這么幾個概念,接下來讓我們正式走進匯編語言。先來看看下面一段代碼:

LD A,207OUT(2),A
LD A,255OUT(2),A

這樣的一段代碼,初次見到我們肯定不太理解其意思。它就是匯編語言。我們現(xiàn)在在簡單分析一下這段代碼(不解釋功能):
類似于LD、OUT這種類英語或者英語單詞的東西,我們叫它:
助記符
它是根據(jù)指令功能的單詞起一個相似的昵稱,并將這個昵稱做一個1對1的映射,而與其對應的就是0和1的組合。
那什么叫匯編語言呢?顧名思義,就是使用助記符的編程語言叫做“匯編語言“。
匯編語言的語法
匯編語言的語法很簡單,相比我們學的OC、Java等語言,它的語法只有一個:把標簽、操作碼(指令)和操作數(shù)(指令的對象)并排寫在一行。
舉個簡單的例子:

標簽      操作碼     操作數(shù)
          LD       A,207
          OUT      (2),A
LOOP:     IN       A,(0)          OUT      (1),A
          JP       LOOP

這便

網(wǎng)友評論