彙編總結(1)——基礎知識
CPU簡介
這部分主要介紹CPU的基本功能、組合語言的概念、資料的表示和儲存。
CPU的基本功能
目的碼:
計算機系統中的cpu只能執行機器指令,而由機器指令組成的程式就叫目標程式(目的碼),事實上無論你用什麼語言程式設計,計算機系統最終執行的都是目標程式(目的碼)。
cpu的基本功能主要有三:執行機器指令、暫存少量資料、訪問儲存器
執行機器指令
機器器指令:CPU能夠直接識別並遵照執行的指令;
CPU的指令集:CPU能夠執行的全部機器指令;
CPU一條接一條地依次執行存放在儲存器中的機器指令,每一條機器指令的功能通常很有限。
按指令的功能來劃分,通常機器指令可分為以下幾大類: 資料傳送指令
暫存少量資料
這個功能主要指的是cpu的暫存器中可以暫存少量資料,因為利用暫存器存放資料和運算結果,其效率是最高的,但是暫存器的數量是有限的。
訪問儲存器
既然最有效的暫存器存放資料法只能使用於少量資料的暫存,那麼cpu應該從哪裡讀取資料以進行運算,運算完成之後又應該把資料送到哪裡呢?自然是記憶體(儲存器):
CPU要執行目標程式,就要訪問儲存器。目標程式在儲存器中,待處理的資料也在儲存器中。這裡儲存器是指CPU能夠直接訪問的計算機系統的實體記憶體.
儲存器(記憶體)由一系列儲存單元線性地組成, 最基本的儲存單元為一個位元組。為了標識和存取每一個儲存單元,給每一個儲存單元規定一個編號,也就是儲存單元地 址.
CPU支援以多種形式表示儲存單元的地址。一些功能較強的CPU還支援以多種方式組織管理儲存器
組合語言概念
主要介紹三部分:機器指令、彙編格式指令、組合語言及其優缺點:
機器指令
CPU能夠直接識別並遵照執行的指令稱為機器指令。
機器指令的構成:操作碼、運算元,其中:
操作碼:指出要進行的操作或運算,比如加、減、傳送
運算元:指出參與操作或運算的物件,也指出操作或運算結果存放的位置,例如,暫存器、儲存單元和資料等
彙編格式指令
由指令助記符、操作符號和常量等表示的指令被稱為彙編格式指令,其中:
指令助記符:人們為了表示指令的操作碼而採用的便於記憶、並能描述指令功能的符號 。
操作符號:表示運算元的符號,比如暫存器、儲存單元地址等。
組合語言的優缺點
明確幾個概念:
- 把用匯編語言編寫的程式稱為彙編語⾔言源程式,或稱為 彙編源程式,或簡稱為源程式。
- 把彙編源程式翻譯成目標程式的過程稱為彙編。
- 把完成彙編工作的工具或程式叫做彙編程式(彙編器)。
他們之間的關係如下:
優點:效率高、與機器關係密切
缺點:組合語言源程式繁瑣、組合語言程式除錯困難
綜上,組合語言適合的場景:
- 執行時間/儲存容量有較高要求
- 需要提高大型軟體效率
- 軟體要直接和有效控制硬體
- 沒有合適的高階語言
資料的表示和儲存
資料的表示
這部分主要為數的二進位制表示、有符號數的補碼錶示、符號拓展等。
資料的儲存
首先明確資料是以二進位制形式表示的資料和程式碼存放在儲存器(記憶體)之中。
記憶體由一系列基本儲存單元線性地組成,每一個基本儲存單元有一個唯一的地址。通常,基本儲存單元由 8 個連續的位構成,可用於儲存一個位元組的資料。所以,基本儲存單元也被稱為位元組儲存單元。
可以把記憶體看作為一個很大的一維字元陣列,把地址看作為標識陣列元素的下標。