組合語言基礎知識

2021-08-16 17:28:19 字數 3048 閱讀 2935

1.1機器語言

1.機器語言機器語言是機器指令的集合。

2.cpu(central processing unit,**處理單元),cpu是一種微處理器,由於硬體設計和內部結構的不同,就需要不同的電平脈衝來控制使它工作,所以每一種微處理器都有自己的機器指令集,也就是機器語言。

1.2組合語言的產生

1.例如,機器指令1000 1001 1101 1000表示把暫存器bx的內容送到ax中,彙編指令則寫成mov ax,bx

2.暫存器:cpu中可以儲存資料的器件,乙個cpu中有多個暫存器。

3.編譯器:將彙編指令轉換成機器指令的翻譯程式。

4.工作過程:程式設計師->彙編指令mov ax,bx ->編譯器-機器碼 ->計算機

1.3組合語言的組成

1.由三種指令組成

a.彙編指令:機器碼的助記符,有對應的機器碼

b.偽指令:沒有對應的機器碼,由編譯器執行,計算機並不執行

c.其他符號:如+,-,*,/等,由編譯器識別,沒有對應的機器碼

2.組合語言的核心是彙編指令,它決定了組合語言的特性

1.4儲存器

1.要讓乙個cpu工作,必須提供指令和資料,指令和資料在儲存器中存放(記憶體)。

2.磁碟上的資料或程式不讀到記憶體中,就無法被cpu使用

1.5指令和資料

兩者是應用上的概念,在記憶體或者磁碟上,資料和指令沒有任何區別,都是二進位制資訊。cpu工作,把有的資訊當作指令,有的資訊當作資料,如棋局。

1.6儲存單元

1.儲存器被劃分為若干個儲存單元,每個儲存單元從0開始順序編號。

2.計算器最小資訊單位為bit,也就是乙個二進位制位,8個bit組成乙個byte,即乙個位元組。微型機儲存器的儲存單元可以儲存乙個byte,即8個二進位制位。容量以位元組為最小單位來計算,擁有128個儲存單元,容量為128位元組。

3.1kb = 1024b

1mb = 1024kb

1gb = 1024mb

1tb = 1024gb

1.7cpu對儲存器的讀寫

1.之前說過,儲存器被劃分為多個儲存單元,儲存器從0開始順序編號。這些編號可以看作儲存單元在儲存器中的位址,就像一條街,每個房子都有門牌號。cpu要從記憶體中讀資料,首先要指定儲存單元的位址。也就是說它要先確定它讀取的哪乙個儲存單元中的資料。就像是在一條街上找人,先要確定他在哪個房間內。

2.在一台微機中,不只是由儲存器乙個器件,cpu在讀寫資料時還要指明,它對哪乙個器件進行操作,進行什麼操作,是讀取資料還是像裡面寫入資料。

3.cpu要想進行資料的讀寫,必須和外部器件(標準的說法是晶元)進行下面3類資訊的互動。

a.儲存單元的位址(位址資訊)

b.器件的選擇,讀或寫的命令(控制資訊)

c.讀或寫的資料(資料資訊)

4.在計算機中專門有連線cpu和其他晶元的導線,通常稱為匯流排。匯流排從物理上來說,就是一根根導線的集合,根據傳送資訊的不同,匯流排從邏輯上又分為3類,位址匯流排、控制匯流排和資料匯流排。

5.cpu從3號單元(記憶體中)中讀取資料的過程如下:

注釋:a.cpu通過位址線將位址資訊3發出

b.cpu通過控制線發出記憶體讀取命令,選中儲存器晶元,並通知它,將要從中讀取資料

c.儲存器將3號單元中的資料8通過資料線送人cpu

6.寫操作與讀操作類似。如向3號單元寫入資料26

a.cpu通過位址線將位址資訊3發出

b.cpu通過控制線發出記憶體讀取命令,選中儲存器晶元,並通知它,要向其中寫入資料

c.cpu通過資料線將資料26送入記憶體的3號單元中。

7.上面已知cpu是如何進行資料讀寫的,如何命令呢?

要讓乙個計算器或微處理器工作,應向它輸入能夠驅動它進行工作的電平資訊(機器碼)

機器碼:10100001 00000011 00000000

對應的彙編指令:mov,ax,[3];

含義:傳送3號單元的內容入ax

1.8位址匯流排

1.位址匯流排上能傳送多少個不同的資訊,cpu就可以對都是好歌儲存單元進行定址。

2.乙個cpu有n根位址線,則可以說這個cpu的位址匯流排的寬度為n。這樣的cpu最多可以尋找2的n次方個記憶體單元。

3.位址匯流排上傳送的位址資訊

1.9資料匯流排

1.cpu與記憶體或其他器件之間的資料傳送是通過資料匯流排來進行的。資料匯流排的寬度決定了cpu和外界的資料傳送速度,8根資料匯流排一次可傳送乙個8位二進位制資料(即乙個位元組)。16根資料匯流排一次可傳送兩個位元組。

2.8位資料匯流排上傳送的資訊:

1.10控制匯流排

1.cpu對外部器件的控制是通過控制匯流排來進行的。在這裡控制匯流排是個總稱,控制匯流排是一些不同的控制線的集合。有多少根控制匯流排,就意味著cpu提供了對外部器件的多少種控制。所以,控制匯流排的寬度決定了cpu對外部器件的控制能力。

2.前面所說的記憶體讀或寫命令是由幾根控制線綜合發出的,其中有一根稱為「讀訊號輸出」的控制線負責由cpu向外傳送讀訊號,cpu向該控制線輸出低電平表示將要讀取資料;有一根稱為「寫訊號輸出」的控制線則負責傳送寫訊號。

小結: 1.彙編指令是機器指令的助記符,同機器指令一一對應。 2.每一種cpu都有自己的彙編指令集。 3.cpu可以直接使用的資訊在儲存器中存放。 4.在儲存器中的指令和資料沒有任何區別,都是二進位制資訊。 5.儲存單元從0開始順序編號。 6.乙個儲存單元可以儲存8個bit,即8位二進位制數。 7.1byte = 8bit 1kb = 1024b 1mb = 1024kb 1gb = 1024mb

組合語言 a 基礎知識

本專題是學習王爽的 組合語言 第三版 的學習筆記。這本書按照作者的意思是要教會讀者怎樣去循序漸進地學習組合語言。首先,什麼是組合語言呢?組合語言是人和計算機溝通的最直接方式,它描述了機器最終所要執行的指令序列。作為一門底層的語言,其可以直接與計算機進行互動。注意此書中如果沒有能夠完成檢測點的內容,則...

組合語言 基礎知識

組合語言是直接在硬體之上工作的程式語言,首先要了解硬體系統的結構,才能有效的應用組合語言對程式設計。機器語言就是機器指令的集合 機器指令展開來講就是一台機器可以正確執行的指令 主體是彙編的指令,機器指令便於記憶的書寫格式。彙編指令是機器指令的助記符 暫存器簡單的說是cpu中可以儲存資料的器件,乙個c...

組合語言基礎知識

最近我們學習了組合語言的基礎知識我將對這些進行乙個簡單的梳理和總結 我將分為以下幾個方面具體論述 1.從機器語言到組合語言 2.組合語言組成 3.資料匯流排 位址匯流排 控制匯流排 4.記憶體空間 從機器語言到組合語言 早期的程式設計均使用機器語言。程式設計師們將用0,1程式設計,1打孔,0不打孔,...