匯編語言基礎知識總結
這學期選修了匯編語言課程,通過大一一年對於C語言以及C++的學習,已經認識到了計算機語言給人們生活帶來了許多便捷,之前對於匯編語言的印象是與計算機病毒有關。個人認為作為計科系的學生,不能只掌握高級程序設計語言,而忽略了計算機底層知識和低級語言。第一節課介紹了匯編語言的基礎知識,我對這一部分進行了梳理和總結。
·匯編語言的特點
匯編語言的主體是匯編指令。匯編指令是機器指令的助記符,從目標代碼的長度和程序運行時間的角度上看,匯編語言程序與機器語言程序是等效的。不同的CPU有不同的匯編指令,匯編語言不具有可移植性。匯編語言具有能夠直接有效控制硬件的能力,能夠編寫出運行速度快、(代碼量小?)的高效程序。例如加密解密軟件、分析和防治計算機病毒等。
·匯編語言的組成
匯編指令:機器碼的助記符,有對應的機器碼;偽指令;其他符號
匯編語言的核心是匯編指令,它決定了匯編語言的特性
·計算機硬件系統組成
主機 :
CPU:控制器 運算器
存儲器(內存)
外設:
輸入設備 輸出設備 外存
·存儲器
CPU是計算機的核心部件,控制整個計算機的運作並進行運算。指令和數據存儲在存儲器中,存儲器的作用僅次於CPU。
·指令vs 數據
數據和指令,在內存或磁盤上,沒有任何區別,都是二進制信息。
·存儲單元
存儲器被劃分成若幹個存儲單元,每個存儲單元從0開始順序編號。
·內存地址空間
概念:
內存地址空間表示CPU所能找到的最大地址空間範圍,與CPU地址總線寬有關。例如一個CPU的地址總線寬度為n
NOTE:
CPU在操控這些獨立的物理存儲器時,把它們統一當作一個邏輯存儲器看待。這個邏輯存儲器即內存地址空間。
每個物理存儲器在這個邏輯存儲器中占有一段地址空間;CPU在這段地址空間中讀寫數據,實際上就是在相對應的物理存儲器中讀寫數據。
不同的計算機系統的內存地址空間分配情況是不同的。
·地址總線、數據總線、控制總線:
CPU要從內存中讀數據,首先要指定存儲單元的地址。CPU在讀寫數據時還要指明對哪種器件的哪種操作。總線連接CPU和其他芯片,總線又分地址總線、控制總線、數據總線。
三者之間的關系是:內容的收發與內容的地址和其信息。
·數據總線決定每次傳輸數據的大小
·地址總線決定了CPU所能訪問的最大內存空間的大小
·控制總線反映了數據的狀態和傳輸方式。
·CPU通過總線對存儲器數據的讀寫過程
CPU 通過地址總線將需要讀/寫的地址信息發出。
通過控制線發出內存讀/寫命令,選中存儲芯片,並通知它,要向其中讀/寫數據。
通過數據線將數據送入存儲單元(讀)或內存單元(寫)
匯編語言基礎知識總結