組合語言零基礎入門學習筆記(一)

進擊禿發表於2020-10-27

基礎知識

組合語言是直接在硬體之上工作的程式語言,我們首先要了解硬體系統的結構,才能有效地應用匯編語言對其程式設計。
我們的原則是,以後用到的知識,以後再說。

1.1機器語言

機器語言是機器指令的集合。
機器指令展開來講就是一臺機器可以正確執行的命令。

1.2彙編的產生

組合語言的主體是彙編指令。
彙編指令和機器指令的差別在於指令的表示方法上。
彙編指令是機器指令便於記憶的書寫格式。

操作:暫存器BX的內容送到AX中
機器指令:1000 1001 1101 1000
彙編指令:mov ax,bx

(暫存器,簡單地講是CPU中可以儲存資料的器件,一個CPU中有多個暫存器。AX是其中一個暫存器的代號,BX同理)

1.3彙編的組成

指令組成:
1.彙編指令:機器碼的助記符,有對應的機器碼。
2.偽指令:沒有對應的機器碼,由編譯器執行,計算機並不執行。
3.其他符號:如+ - * /等,由編譯器識別,沒有對應的機器碼。

組合語言的核心是彙編指令,它決定了組合語言的特性。

1.4儲存器

CPU是計算機的核心部件,它控制整個計算機的運作並進行運算。
要想讓一個CPU工作,就必須向它提供指令和資料。
指令和資料在儲存器中存放,也就是我們平時所說的記憶體。

1.5指令和資料

指令和資料是應用上的概念。
在記憶體和磁碟上,指令和資料沒有任何區別,都是二進位制資訊。

1.6儲存單元

儲存器別劃分成若干個儲存單元,每個儲存單元從0開始順序編號,如0~127。
電子計算機的最小資訊單位是bit(位元),一個二進位制位。
8bit = 1byte(位元組)
1KB = 1024B 1MB = 1024KB 1GB = 1024MB 1TB = 1024GB

1.7CPU對儲存器的讀寫

CPU進行資料的讀寫,必須和外部器件進行3類資訊的互動:

  • 儲存單元的地址(地址資訊);
  • 器件的選擇,讀或寫的命令(控制資訊);
  • 讀或寫的資料(資料資訊)。

在計算機中專門有連線CPU和其他晶片的導線,通常稱為匯流排。
匯流排從邏輯上分為3類:

  • 地址匯流排
  • 控制匯流排
  • 資料匯流排

1.8地址匯流排

CPU是通過地址匯流排來指定儲存單元的。
一個CPU有N根地址線,則可以說這個CPU的地址匯流排寬度為N。
這樣的CPU最多可以尋找2的N次方個記憶體單元。

1.9資料匯流排

CPU與記憶體或其他器件之間的資料傳送是通過資料匯流排來進行的。
資料匯流排的寬度決定了CPU和外界的資料傳送速度。

1.10控制匯流排

CPU對外部器件的控制是通過控制匯流排來進行的。
控制匯流排的寬度決定了CPU對外部器件的控制能力。

1.11主機板

主機板,又叫主機板(mainboard)、系統板(systemboard)、或母板(motherboard)。它安裝在機箱內,是微機最基本的也是最重要的部件之一。主機板一般為矩形電路板,上面安裝了組成計算機的主要電路系統,一般有BIOS晶片、I/O控制晶片、鍵盤和皮膚控制開關介面、指示燈插接件、擴充插槽、主機板及插卡的直流電源供電接外掛等元件。

1.12介面卡

能插入計算機、伺服器或大型主機的板卡,通過光纖通道或SCSI把計算機連線到儲存器或儲存器網。主機匯流排介面卡(Host Bus Adapter,HBA)是一個在伺服器和儲存裝置間提供輸入/輸出(I/O)處理和物理連線的電路板或積體電路介面卡。因為HBA減輕了主處理器在資料儲存和檢索任務的負擔,它能夠提高伺服器的效能。一個HBA和與之相連的磁碟子系統有時一起被稱作一個磁碟通道。

1.13各類儲存器晶片

  • 隨機儲存器
  • 裝有BIOS(Basic Input/Onput System,基本輸入/輸出系統)的ROM
  • 介面卡上的RAM

1.14記憶體地址空間

記憶體地址空間的大小受CPU地址匯流排寬度的限制。

相關文章