匯編語言課堂總結1——第一章 基礎知識
什麽是匯編語言:
匯編語言是比機器語言高級,但依舊偏向於硬件的一種編程語言。比起C、C++、Java這些偏向於人的語言,在編寫匯編程序時需要考慮更全面,要寫的代碼也要更多,但匯編程序的運行速度卻是這些語言所不能比的。不同的CPU也有不同的匯編語言。
匯編語言的組成 and 指令vs.數據:
匯編語言由3類指令組成:匯編指令、偽指令和其他符號(註釋、變量、標號、段等)。其中,匯編指令有對應的機器碼,而偽指令和其他符號則沒有對應的機器碼。
在內存中,不管是指令還是數據,都是以二進制的形式存儲,兩者的區別只在應用上。那麽,區別指令和數據的方式是什麽呢?也許程序員會規定將二進制的第一位作為區別的標誌位,如果為
CPU的組成 and CPU通過總線對存儲器數據的讀寫過程:
CPU主要由五大部分組成,分別是控制器、運算器、存儲器、輸入設備和輸出設備。而在CPU對存儲器進行讀寫的時候還要通過地址總線、控制總線和數據總線(不過這三種總線也依舊只是在傳輸不同的信息時有所不同,在外觀看來並無區別,也沒有誰比誰更重要之分)。
讀數據:先由CPU通過地址總線將要讀取的地址信息傳輸到內存中找到這個地址單元,再由CPU通過控制總線發出“讀”的信息,最後內存通過數據總線將所尋找到的數據信息傳輸到
寫數據:先由CPU通過地址總線將要寫入的地址信息傳輸到內存中找到這個地址單元,再由CPU通過控制總線發出“寫”的信息,最後CPU通過數據總線將要寫入的數據信息傳輸到內存中。
內存地址空間:
內存地址空間又稱尋址空間,與CPU地址總線寬度有關,表示CPU所能尋找到的最大地址空間範圍。若設一個CPU的地址總線寬度為n,那麽可以尋址2n個內存單元,這2n個可尋到的內存單元就構成這個CPU的內存地址空間。簡單來講,所有的物理存儲器被看作一個由若幹存儲單元組成的邏輯存儲器,而內存地址空間是計算機的各個物理存儲器在這個邏輯存儲器中所占的地址空間之和。
ps:計算機中的物理存儲器有隨機存儲器、裝有
由於匯編語言是基於硬件的語言,所以了解系統中的內存地址分配情況是很重要的,但不同的計算機系統的內存地址空間分配情況是不同的,並且內存地址空間的容量與平時所講的內存條的容量也不是一回事。
匯編語言課堂總結1——第一章 基礎知識