組合語言 第一章總結
組合語言是一種用於電子計算機、微處理器、微控制器或其他可程式設計器件的低階語言,也成為符號語言。在組合語言中,用助記符代替機器指令的操作碼,用地址符號或標號代替指令或運算元的地址。在不同的裝置中,組合語言對應著不同的機器語言指令集,通過程式設計過程轉換成機器指令。普通的說,特定的組合語言和特定的機器語言指令集是一一對應的、不同平臺之間不可直接移植。
組合語言的主體是彙編指令。彙編指令和機器指令的差別在於指令的表達方法上。彙編指令是機器指令便於記憶的書寫格式。
組合語言發展至今,有以下3類指令組成:
1.彙編指令:機器碼的助記符,有對應的機器碼。
2.偽指令:沒有對應的機器碼,由編譯器執行,計算機並不執行。
3.其他符號。
程式語言的核心是彙編指令,它決定了組合語言的特性。
指令和資料在儲存器中存放,也就是我們常說的記憶體。離開了記憶體效能再好的CPU也不能工作。
指令和資料是應用上的概念。在記憶體或磁碟上,指令和資料沒有任何區別,都是二進位制資訊。
儲存器被分成若干個儲存單元,每個儲存單元從0開始順序編號,例如一個儲存器有128個儲存單元,編號為0到127。bit為最小單位,8個bit為一個位元組(Byte),即8個二進位制位,一個儲存器有128個儲存單元,就能儲存128個Byte。
CPU要想進行資料的讀寫,必須和外部器件進行下面3類資訊的互動,
1.儲存單元的地址
2.器件的選擇,讀或寫的命令
3.讀或寫的資料
CPU是通過地址匯流排來指定儲存單元的,可見地址總線上能傳送多少個不同的資訊,CPU就可以對多少個儲存單元進行選址。CPU和記憶體或其他器件之間的資料傳送是通過資料匯流排來進行的。資料匯流排的寬度決定了CPU和外界的資料傳輸速度。8根資料匯流排一次可以傳送一個8位二進位制資料。16根傳2個。CPU對外部器件的控制是通過控制匯流排 來進行的,有多少根控制匯流排,就意味著CPU提供了對外部器件的多少種控制。
什麼是記憶體地址空間呢?舉例來講,一個CPU的地址匯流排寬度為10,可以定址1024個記憶體單元,這就構成這個CPU的記憶體地址空間。在每一臺PC上,都有一個主機板,主機板上有核心部件和其他主要器件,這些器件通過匯流排相連。計算機系統中,所有可用的程式控制其工作的裝置,必須受到CPU的控制。CPU對外部裝置不能直接控制,如顯示器、音箱、印表機之類。直接控制這些裝置工作的是插在擴充套件插槽上的介面卡。一臺PC上裝有多個儲存器晶片,這些儲存器晶片從物理連線上看是獨立的、不同的器件。
1.隨機儲存器
2.裝有BIOS的ROM
3.介面卡上的RAM
上述的儲存器,在物理上是獨立的器件,但是在以下兩點上相同。
1.都和CPU的匯流排相連
2.CPU對它們進行讀寫的時候通過控制匯流排發出記憶體讀寫命令。