1. 程式人生 > >彙編總結(1)——基礎知識

彙編總結(1)——基礎知識

CPU簡介

這部分主要介紹CPU的基本功能、組合語言的概念、資料的表示和儲存。

CPU的基本功能

目的碼

計算機系統中的cpu只能執行機器指令,而由機器指令組成的程式就叫目標程式(目的碼),事實上無論你用什麼語言程式設計,計算機系統最終執行的都是目標程式(目的碼)。

cpu的基本功能主要有三:執行機器指令、暫存少量資料、訪問儲存器

執行機器指令

機器器指令:CPU能夠直接識別並遵照執行的指令;

CPU的指令集:CPU能夠執行的全部機器指令;

CPU一條接一條地依次執行存放在儲存器中的機器指令,每一條機器指令的功能通常很有限。

按指令的功能來劃分,通常機器指令可分為以下幾大類: 資料傳送指令

算術邏輯運算指令轉移指令處理器控制指令其他指令

暫存少量資料

這個功能主要指的是cpu的暫存器中可以暫存少量資料,因為利用暫存器存放資料和運算結果,其效率是最高的,但是暫存器的數量是有限的。

訪問儲存器

既然最有效的暫存器存放資料法只能使用於少量資料的暫存,那麼cpu應該從哪裡讀取資料以進行運算,運算完成之後又應該把資料送到哪裡呢?自然是記憶體(儲存器):

CPU要執行目標程式,就要訪問儲存器。目標程式在儲存器中,待處理的資料也在儲存器中。這裡儲存器是指CPU能夠直接訪問的計算機系統的實體記憶體.

儲存器(記憶體)由一系列儲存單元線性地組成, 最基本的儲存單元為一個位元組。為了標識和存取每一個儲存單元,給每一個儲存單元規定一個編號,也就是儲存單元地 址.

CPU支援以多種形式表示儲存單元的地址。一些功能較強的CPU還支援以多種方式組織管理儲存器

組合語言概念

主要介紹三部分:機器指令、彙編格式指令、組合語言及其優缺點:

機器指令

CPU能夠直接識別並遵照執行的指令稱為機器指令

機器指令的構成:操作碼、運算元,其中:

操作碼:指出要進行的操作或運算,比如加、減、傳送

運算元:指出參與操作或運算的物件,也指出操作或運算結果存放的位置,例如,暫存器、儲存單元和資料等

彙編格式指令

由指令助記符、操作符號和常量等表示的指令被稱為彙編格式指令,其中:

指令助記符:人們為了表示指令的操作碼而採用的便於記憶、並能描述指令功能的符號 。

操作符號:表示運算元的符號,比如暫存器、儲存單元地址等。

組合語言的優缺點

明確幾個概念:

  • 把用匯編語言編寫的程式稱為彙編語⾔言源程式,或稱為 彙編源程式,或簡稱為源程式
  • 把彙編源程式翻譯成目標程式的過程稱為彙編
  • 把完成彙編工作的工具或程式叫做彙編程式(彙編器)

他們之間的關係如下:

優點:效率高、與機器關係密切

缺點:組合語言源程式繁瑣、組合語言程式除錯困難

綜上,組合語言適合的場景:

  • 執行時間/儲存容量有較高要求
  • 需要提高大型軟體效率
  • 軟體要直接和有效控制硬體
  • 沒有合適的高階語言

資料的表示和儲存

資料的表示

這部分主要為數的二進位制表示、有符號數的補碼錶示、符號拓展等。

資料的儲存

首先明確資料是以二進位制形式表示的資料和程式碼存放在儲存器(記憶體)之中。

記憶體由一系列基本儲存單元線性地組成,每一個基本儲存單元有一個唯一的地址。通常,基本儲存單元由 8 個連續的位構成,可用於儲存一個位元組的資料。所以,基本儲存單元也被稱為位元組儲存單元。

可以把記憶體看作為一個很大的一維字元陣列,把地址看作為標識陣列元素的下標。