組合語言程式設計(一)基礎知識
阿新 • • 發佈:2022-05-16
目錄
機器語言
- 機器語言就是一堆01組合,比如彙編裡邊的PUSH AX,機器語言就是01010000
- 彙編指令是機器指令的助記符
- 暫存器是CPU中可以儲存資料的器件,一個CPU中有多個暫存器,這些暫存器都是有名字的,比如AX,BX,不同暫存器有不同作用,有些存放資料有些存放指令
組合語言的組成
- 組合語言包括三部分,彙編指令、偽指令和其它符號。其中彙編指令是機器碼的助記符,偽指令和其它符號其實可以歸為一類,是嵌入原始碼中的命令,由彙編器識別和執行,不在執行時執行。
指令和資料
- 指令和資料是應用上的概念,在記憶體或磁碟上,指令和資料沒有任何區別,都是二進位制資訊。但是其通過不同的匯流排型別(資料,控制,地址)送到CPU,就有了不同的意義。
儲存器與儲存單元
- 儲存器包括很多,不僅是記憶體和硬碟,包括顯示卡等裝置中也有儲存器,即視訊記憶體。要在螢幕上顯示的資訊首先要載入視訊記憶體,然後對映到螢幕上。
- cpu對儲存器的讀寫通過地址匯流排、資料匯流排和控制匯流排完成。因此對於上一節中,資料89D8H和指令MOV AX,BX雖然二進位制表示相同,但是它們是通過不同的匯流排讀到CPU的,因此CPU能夠識別其到底是資料還是指令。
- 從讀寫屬性來看,儲存器有隨機儲存器RAM和只讀儲存器ROM。
- 從功能連線上分類,有隨機儲存器RAM、裝有BIOS的ROM,以及介面卡上的RAM,比如顯示卡的視訊記憶體。
- 注意不止是主機板有BIOS,各類介面卡中也有BIOS,進行一些簡單的控制。
記憶體地址空間
- CPU的記憶體地址空間即CPU能夠定址的地址空間。比如一個CPU的地址匯流排寬度為10,那麼可以定址1024個記憶體單元,這1024個可尋到的記憶體單元就構成該CPU的記憶體地址空間。
- 主機板與介面卡
** 主機板上有各種器件 ,這些器件通過三種匯流排相連,CPU對顯示器、音箱、印表機等外部裝置並不直接控制,而是通過介面卡來控制。介面分為兩類,其中IO裝置本身或主機板上的晶片組稱為控制器,比如USB控制器。需要插在主機板插槽上的卡稱為介面卡,比如網路介面卡網絡卡,圖形介面卡顯示卡等。
** 記憶體,硬碟,以及顯示卡網絡卡等裝置中的儲存器雖然在物理上是獨立的,但是他們都和CPU的匯流排相連,CPU對它們進行讀寫的時候都是通過控制線發出記憶體讀寫命令。因此CPU將各類儲存器看作是一個整體的邏輯儲存器,每個物理儲存器在這個邏輯儲存器中佔有一個地址段,CPU在記憶體地址空間中讀寫資料,實際上就是在對應的物體儲存器中讀寫資料。
- 比如8086PC的CPU記憶體地址分配情況如下