1. 程式人生 > >匯編語言基礎知識總結

匯編語言基礎知識總結

找到 掌握 大小 機器 進行 通知 代碼量 計算機 控制線

這學期選修了匯編語言課程,通過大一一年對於C語言以及C++的學習,已經認識到了計算機語言給人們生活帶來了許多便捷,之前對於匯編語言的印象是與計算機病毒有關。個人認為作為計科系的學生,不能只掌握高級程序設計語言,而忽略了計算機底層知識和低級語言。第一節課介紹了匯編語言的基礎知識,我對這一部分進行了梳理和總結。

·匯編語言的特點

匯編語言的主體是匯編指令。匯編指令是機器指令的助記符,從目標代碼的長度和程序運行時間的角度上看,匯編語言程序與機器語言程序是等效的。不同的CPU有不同的匯編指令,匯編語言不具有可移植性。匯編語言具有能夠直接有效控制硬件的能力,能夠編寫出運行速度快、(代碼量小?)的高效程序。例如加密解密軟件、分析和防治計算機病毒等。

·匯編語言的組成

匯編指令:機器碼的助記符,有對應的機器碼;偽指令;其他符號

匯編語言的核心是匯編指令,它決定了匯編語言的特性

·計算機硬件系統組成

主機 :

CPU:控制器 運算器

存儲器(內存)

外設:

輸入設備 輸出設備 外存

·存儲器

CPU是計算機的核心部件,控制整個計算機的運作並進行運算。指令和數據存儲在存儲器中,存儲器的作用僅次於CPU。

·指令vs 數據

數據和指令,在內存或磁盤上,沒有任何區別,都是二進制信息。

·存儲單元

存儲器被劃分成若幹個存儲單元,每個存儲單元從0開始順序編號。

·內存地址空間

概念:

內存地址空間表示CPU所能找到的最大地址空間範圍,與CPU地址總線寬有關。例如一個CPU的地址總線寬度為n

,那麽可以尋址2n個內存單元,這2n個可尋到的內存單元就構成這個CPU的內存地址空間。註:80386的地址總線寬度為32根,它的尋址空間(尋址能力)232字節(4GB)。

NOTE:

CPU在操控這些獨立的物理存儲器時,把它們統一當作一個邏輯存儲器看待。這個邏輯存儲器即內存地址空間。

每個物理存儲器在這個邏輯存儲器中占有一段地址空間;CPU在這段地址空間中讀寫數據,實際上就是在相對應的物理存儲器中讀寫數據。

不同的計算機系統的內存地址空間分配情況是不同的。

·地址總線數據總線控制總線:

CPU要從內存中讀數據,首先要指定存儲單元的地址。CPU在讀寫數據時還要指明對哪種器件的哪種操作。總線連接CPU和其他芯片,總線又分地址總線、控制總線、數據總線。

三者之間的關系是:內容的收發與內容的地址和其信息。

·數據總線決定每次傳輸數據的大小

·地址總線決定了CPU所能訪問的最大內存空間的大小

·控制總線反映了數據的狀態和傳輸方式。

·CPU通過總線對存儲器數據的讀寫過程

CPU 通過地址總線將需要讀/寫的地址信息發出。

通過控制線發出內存讀/寫命令,選中存儲芯片,並通知它,要向其中讀/寫數據。

通過數據線將數據送入存儲單元(讀)或內存單元(寫)

匯編語言基礎知識總結