學習的**
1.1機器語言
機器語言是機器指令的集合
機器指令:就是一台機器可以正確執行的命令
指令:010100011110001(push ax)
電平脈衝:
1.2組合語言的產生
組合語言的主體是彙編指令
彙編指令和機器指令的差別在於指令的表示方法上。彙編指令是機器指令便於記憶的書寫格式。
彙編指令是機器指令的助記符。
由於機器指令的太不友好,所以組合語言應運而生。
與人類語言接近,便於閱讀和記憶。
*demo
彙編指令:mov ax,bx
解析:是將暫存器bx中內容移到暫存器ax中,即將後面位置的內容放到前面位置中去。
1.3組合語言的組成
組合語言由一下3類組成
1、彙編指令(機器碼的助記符)
2、偽指令(由編譯器執行)
*3、其它符號(由編譯器識別)
其實上面的2、3是可以歸為一類的。
《編碼的奧秘》?
組合語言的核心是彙編指令,它決定了組合語言的特性。
1.4儲存器
cpu是計算機的核心部件,它控制整個計算機的運作並進行運算,要想讓乙個cpu工作,就必須向它提供指令和資料
指令和資料在儲存器中存放,也就是平時所說的記憶體。
pc中記憶體的作用僅次於cpu
離開了記憶體,效能再好的cpu也無法工作
*磁碟不同於記憶體,磁碟上的資料或程式如果不讀到記憶體中,就無法被cpu使用。
(比如,乙個遊戲,就需要想將遊戲需要的程式載入到記憶體中進行讓人家play)
1.5指令和資料
指令和資料是應用上的概念
在記憶體或磁碟上,指令和資料沒有任何區別,都是二進位制資訊。
比如-二進位制資訊:1000 1001 1101 1000
資料→89d8h(0x89d8)
指令→mov ax,bx
要二進位制資訊表示資料還是指令,人來確定,而不是電腦確定。
1.6儲存單元
*儲存器被劃分為若干個儲存單元,每個儲存單元從0開始順序編號
demo、乙個儲存器有128個儲存單元;編號從0~127.
對於大容量的儲存器一般還用以下單位來計量容量(以下用b來代表byte)
1kb = 1024b
1mb = 1024kb
1gb = 1024mb
磁碟上的容量單位同記憶體的一樣,實際上以上的單位是微機中常用的計量單位。
1.7cpu對儲存器的讀寫
*cpu要想進行資料的讀寫,必須和外部的器件(標準的說法是晶元)進行三類資訊的互動:
→儲存單元的位址(位址資訊)
→器件的選擇,讀或寫命令(控制資訊)
→讀或寫的資料(資料資訊)
*cpu通過什麼將位址、資料和控制資訊傳到儲存晶元中的呢?
→計算機能處理、傳輸的資訊都是電訊號,電訊號當然要用導線傳送。
*匯流排在邏輯上的劃分的圖示↓
flash檔案:讀寫flash…
*對於8086cpu,下面的機器碼能夠完成從3號單元讀資料:
(為什麼都喜歡分析8060cpu,因為經典啊,並且和最新的也差別不大)
→機器碼:101000000000001100000000
→含義:從3號單元讀取資料送入暫存器ax
→cpu接收這條機器碼後將完成上面所述的讀寫工作
1.8位址匯流排
cpu是通過位址匯流排來指定儲存單元的。
位址匯流排上能傳送多少個不同的資訊,cpu就可以對多少個儲存單元進行定址。(可以簡單理解為64位就是有64條線。)
64位的系統速度就是64位的?答:不是。首先cpu要是64位,2.系統64位,3.軟體是64位的。
位址匯流排如何傳送位址資訊的?
一根cpu有n根位址匯流排,則可以說這個cpu得位址匯流排的寬度為n
這樣的cpu最多可以尋找2的n次方個記憶體單元。
1.9資料匯流排
cpu與記憶體或者其它器件之間的資料傳送是通過資料匯流排來進行的。
資料匯流排的寬度決定了cpu和外界的資料傳送速度。
**不同cpu向記憶體中寫入資料89d8h(其實還是習慣這麼寫0x89d8)的情況(區別不過是資料匯流排的寬度8位和16位)
→8088cpu資料匯流排上的資料傳送情況
→8086cpu資料匯流排上的資料傳送情況(16位的資料寬度)
1.10控制匯流排
cpu對外部器件的控制是通過控制匯流排來進行的。在這裡控制匯流排是個總稱,控制匯流排是一些不同控制線的集合。
有多少根控制匯流排,就意外著cpu提供了對外部器件的多少控制。所以,控制匯流排的寬度決定了cpu對外部器件的控制能力。
*控制匯流排傳送控制資訊
前面所講的記憶體讀或寫命令是由幾根控制線綜合發出的:
→其中有一根名為讀訊號輸出控制線負責由cpu向外傳送讀訊號,cpu向該控制線上輸出低電平表示將要讀取資料;
→有一根名為寫訊號輸出控制線負責由cpu向外傳送寫訊號。
****小結
→1.彙編指令是機器指令的助記符,同機器指令一一對應;
→2.每一種cpu都有自己的彙編指令集;
→3.cpu可以直接使用的資訊在儲存器中存放;
→4.在儲存器中指令和資料沒有任何區別,都是二進位制資訊。
→儲存單元從〇開始順序編號;
→乙個儲存單元可以儲存8個bit(用作單位寫成』b』),即8位二進位制數
→1b = 8b
→每個cpu都由許多管腳,這些管腳 和匯流排相連。也可以說,這些管腳引出匯流排。乙個cpu可以引出三種匯流排的寬度標誌了這個cpu的不同方面的效能:1、位址匯流排的寬度決定了cpu的定址能力;2、資料匯流排的寬度決定了cpu與其它器件進行資料傳送時的一次資料傳送量;3、控制匯流排寬度決定了cpu對系統中其它器件的控制能力。
1.11記憶體位址空間(概述)
*乙個cpu的位址線寬度為10,那麼可以定址1024個記憶體單元,這1024個可尋到的記憶體單元就構成這個cpu的記憶體位址空間。
1.12主機板
每一台pc機中都由乙個主機板,主機板上有核心器件和一些主要器件。
這些器件通過匯流排(位址、資料、控制匯流排)相連。
1.13介面卡
計算機系統中,所有可用程式控制其工作的裝置,必須受到cpu的 控制。
cpu對外部裝置不能直接控制,如顯示器、音響、印表機等。直接控制這些裝置進行工作的是插在擴充套件插槽上的介面卡。
1.14各類儲存器晶元
從讀寫屬性上看分為兩類:隨機儲存器ram、唯讀儲存器rom
唯讀儲存器rom:裝有bios
bios(basic input/output system),即基本輸入輸出系統。bios是由主機板和各類介面卡(如:顯示卡、網絡卡等)廠商提供的軟體系統,可以通過它利用該硬體裝置進行最基本的輸入輸出。在主機板和某些介面卡上插有儲存相應bios的rom。
從功能和連線上分類:隨機儲存器ram、裝有bios的rom、介面卡上的ram;
*pc機中各類儲存器的邏輯連線情況
1.15記憶體位址空間
*將各類儲存器看作乙個邏輯儲存器
→所有的物理儲存器被看作乙個由若干儲存單元組成的邏輯儲存器;
→每個物理儲存器在這個邏輯中占有乙個位址段,即一段位址空間;
→cpu在這段位址空間中讀寫資料,實際上就是在相對應的物理儲存器中讀寫資料。
不同的計算機系統的記憶體位址空間分配情況是不同的。
8086pc記憶體位址空間分配的基本情況↓
*最終執行程式的是cpu,我們用彙編程式設計的時候,必須要從cpu角度考慮問題。
第一章 基礎知識
組合語言 第一章 基礎知識 1.3組合語言的組成 組合語言有以下3 類組成 1.彙編指令 機器碼助記符 2.偽指令 由編譯器執行 3.其他符號 右邊一起識別 組合語言的核心是彙編指令,他決定了組合語言的特性 1.4 儲存器 指令和資料在儲存器中存放,也就是平時說的記憶體 磁碟不同於記憶體,磁碟的資料...
第一章 基礎知識
開放式體系結構 iso七層網路協議 應用層表示層 會話層傳輸層 網路層資料鏈路層 物理層fit 查詢本機mac和ip位址 ipconfig all 命令 windows環境下 兩台物理裝置間的通訊方式為點到點 1 3層 使用者程序間的通訊方式為端到端 4 7 層 五層參考模型 模型名稱 協議 埠號 ...
第一章 基礎知識
王爽 組合語言 第二版習題答案 第1章 基礎知識 檢測點1.1 1 1個cpu的定址能力為8kb,那麼它的位址匯流排的寬度為13位。2 1kb的儲存器有1024 個儲存單元,儲存單元的編號從0 到1023 3 1kb的儲存器可以儲存8192 2 13 個bit,1024個byte。4 1gb是107...