1.機器語言
機器語言是機器指令的集合。
機器指令是機器可以正確執行的命令
彙編:push ax
對應機器語言:0101000
2.彙編原因的產生
組合語言的主體是彙編指令
彙編指令和機器指令的差別在於指令的表示方法。
彙編指令是機器指令便與記憶的書寫格式。
彙編指令是機器指令的助記符。
3.組合語言的組成
組合語言由以下3類組成:
1 彙編指令(機器碼的助記符)
2 偽指令(由編譯器執行)
3 其他符號 (由編譯器識別)
組合語言的核心是彙編指令,它決定了組合語言的特性。
4.儲存器
cpu是計算機的核心部件,它控制計算機運作並進行運算。
要想讓乙個cpu工作,就必須向它提供指令和資料。
指令和資料在儲存器中存放,也就是記憶體
5.指令和資料
指令和資料是應用上的概念。
在記憶體或磁碟上,指令和資料都是二進位制資訊。
6.儲存單元
儲存器被劃分為若干個儲存單元,每個儲存單元從0開始編號。
例如:乙個儲存器有128個儲存單元,編號從0~127
7.cpu對儲存器的讀寫
cpu想要進行資料的讀寫,必須和外部器件(標註的說法是晶元)進行三類資訊的互動:
控制資訊:器件的選擇,讀或寫命令(控制資訊)
資料資訊:讀或寫的資料
在計算機中專門有鏈結cpu和其他晶元的導線,通常稱為匯流排。
物理上:一根根導線的集合
邏輯上劃分為:
位址匯流排
資料匯流排
控制匯流排
8.位址匯流排
cpu是通過位址匯流排來指定儲存單元的。
位址匯流排上能傳送多少個不同的資訊,cpu就可以對多少個儲存單元進行定址。
乙個cpu有n根位址匯流排,則可以說這個cpu的位址匯流排的寬度是n。
這樣的cpu最多可以尋找2的n次方個記憶體單元。
9.資料匯流排
cpu與記憶體或其他器件之間的資料傳送是通過資料匯流排來進行的。
資料匯流排的寬度決定了cpu和外界的資料傳送速度。
10.控制匯流排
cpu對外部器件的控制是通過控制匯流排來進行的。在這裡控制匯流排是個總稱,控制匯流排是一些不同控制線的集合。
有多少根控制匯流排,就意味cpu提供了對外部器件的多少種控制。
所以,控制匯流排的寬度決定了cpu對外部器件的控制能力。
11.記憶體位址空間(概述)
什麼是記憶體位址空間?
乙個cpu的位址線寬度是10,那麼可以定址1024個記憶體單元,這1024個可以定址到的記憶體單元就構成這個cpu的記憶體空間。
12.主機板
13.介面卡
計算機系統中,所有可用程式控制其工作的裝置,必須受到cpu的控制。
cpu對外部裝置不能直接控制,如顯示器、音響等。直接控制這些裝置的進行工作的是插在擴充套件插槽的介面卡(顯示卡、網絡卡..)。
14.各類儲存器晶元
從讀寫屬性上分為兩類:
隨機儲存器ram
唯讀儲存器rom
從功能和連線上分類:
隨機儲存器ram
裝有bios的rom
介面卡上的ram
裝有bios的rom
bios:basic input/output system
bios是由主機板和各類介面卡廠商提供的軟體系統,可以通過它利用該硬體裝置進行最基本的輸入輸出。
在主機板和某些介面卡上有儲存相應bios的rom
15.記憶體位址空間
上述的儲存器在物理上是獨立的器件。
它們在一下兩點上相同:
1 都和cpu的匯流排相連
2 cpu對它們進行讀或寫的時候都通過控制匯流排發出記憶體讀寫命令。
不同的計算機系統的記憶體位址空間分配是不同的。本書(王爽的教材研究8086pc機記憶體位址空間分配的基本情況)
最終執行程式的是cpu,我們必須從cpu的角度考慮問題。對cpu來說,系統中的所有儲存器中的儲存單元都處於乙個統一的邏輯儲存器中,它的容量受cpu定址能力的限制。這個邏輯儲存器即是我們所說的記憶體位址空間。
組合語言第一章 基礎知識
組合語言是各種cpu提供的機器指令的助記符的集合 操作 暫存器bx的內容送到ax中 機器指令 1000100111011000 彙編指令 mov ax,bx 暫存器 簡單的講是cpu可以儲存資料的器件,乙個cpu有多個暫存器,ax是其中乙個暫存器的代號,bx是另乙個暫存器的代號 用匯編寫程式後,可通...
組合語言 第一章 基礎知識
1 機器語言是機器指令的集合。機器指令是一台機器可以正確執行的的命令。電子計算機的機器指令是一列二進位制數字。2 直接面向機器與機器的硬體操作一一對應。計算機可以直接識別執行,使用機器語言可以充分發揮計算機的硬體功能。3 缺點 依賴機器硬體,機器指令很難記憶,直接使用機器語言編制程式極易出錯,並且難...
組合語言筆記第一章基礎知識
第一章基礎知識 1.機器碼及彙編及含義 機器碼 101000010000001100000000 彙編 mov ax,3 含義 傳送3號單元內容入ax 2.資料匯流排 89d8 8088 cpu 資料寬度為8 資料線多寡 傳輸儲存過程 10010001 89 00011011 d8 8086 cpu...