1.機(jī)器語(yǔ)言
機(jī)器語(yǔ)言是機(jī)器指令的集合。機(jī)器指令展開來(lái)講就是一臺(tái)機(jī)器可以正確執(zhí)行的命令。電子計(jì)算機(jī)的機(jī)器指令是一列二進(jìn)制數(shù)字,計(jì)算機(jī)將之轉(zhuǎn)變?yōu)橐涣懈叩碗娖剑允褂?jì)算機(jī)的電子器件受到驅(qū)動(dòng),進(jìn)行運(yùn)算。
2.匯編語(yǔ)言的產(chǎn)生
匯編語(yǔ)言的主體是匯編指令。匯編指令和機(jī)器指令的差別在于指令的表示方法上。匯編指令是機(jī)器指令便于記憶的書寫格式。
機(jī)器指令:1000100111011000
操作:寄存器 BX的內(nèi)容送到AX中
匯編指令:MOV AX,BX
寄存器是CPU可以存儲(chǔ)數(shù)據(jù)的器件
3.匯編語(yǔ)言的組成
由3類指令組成
(1)匯編指令:機(jī)器碼的助記符,由對(duì)應(yīng)的機(jī)器碼
(2)偽指令:沒(méi)有對(duì)應(yīng)的機(jī)器碼,計(jì)算機(jī)并不執(zhí)行。
(3)其他符號(hào):如+,-,*,/ 等,由編譯器識(shí)別,沒(méi)有對(duì)應(yīng)的機(jī)器碼
匯編語(yǔ)言的核心是匯編指令,他決定了匯編語(yǔ)言的特性
4.存儲(chǔ)器
- CPU 是計(jì)算機(jī)的核心部件.它控制整個(gè)計(jì)算機(jī)的運(yùn)作并進(jìn)行運(yùn)算,要想讓一個(gè)CPU 工作,就必須向它提供指令和數(shù)據(jù)。
- 指令和數(shù)據(jù)在存儲(chǔ)器中存放,也就是平時(shí)所說(shuō)的內(nèi)存
- 在一臺(tái)PC機(jī)中內(nèi)存的作用僅次于CPU。
- 離開了內(nèi)存,性能再好的CPU也無(wú)法工作。
- 磁盤不同于內(nèi)存,磁盤上的數(shù)據(jù)或程序如果不讀到內(nèi)存中,就無(wú)法被CPU 使用。
5.指令和數(shù)據(jù)
指令和數(shù)據(jù)是應(yīng)用上的概念,在內(nèi)存或磁盤上,指令和數(shù)據(jù)沒(méi)有任何區(qū)別,都是二進(jìn)制信息。
6.存儲(chǔ)單元
存儲(chǔ)器被劃分為若干個(gè)存儲(chǔ)單元,每個(gè)存儲(chǔ)單元從0開始順序編號(hào);
電子計(jì)算機(jī)的最小信息單元是bit(比特),就是一個(gè)二進(jìn)制位,8bit組成一個(gè)Byte(字節(jié)),微型機(jī)存儲(chǔ)器的存儲(chǔ)單元可以存儲(chǔ)Byte,128個(gè)存儲(chǔ)單元,就可以存儲(chǔ)128個(gè)Byte
7.CPU對(duì)存儲(chǔ)器的讀寫
CPU想要進(jìn)行數(shù)據(jù)的讀寫,必須和外部器件(芯片)進(jìn)行3類信息的交互
- 存儲(chǔ)單元的地址(地址信息);
- 器件的選擇,讀或?qū)懙拿睿刂菩畔ⅲ?/li>
- 讀或?qū)懙臄?shù)據(jù)(數(shù)據(jù)信息);
那么CPU是通過(guò)什么將地址、數(shù)據(jù)和控制信息傳到存儲(chǔ)芯片中的呢?
電子計(jì)算機(jī)能處理、傳輸?shù)男畔⒍际请娦盘?hào),電信號(hào)當(dāng)然要用導(dǎo)線傳送。在計(jì)算機(jī)中專門有連接CPU和其他芯片的導(dǎo)線,通常稱為總線。
物理上:一根根導(dǎo)線的集合;
邏輯上劃分為 :
- 地址總線
- 數(shù)據(jù)總線
- 控制總線
CPU從內(nèi)存中讀取數(shù)據(jù)過(guò)程
(1)CPU通過(guò)地址總線將地址信息3發(fā)出。
(2)CPU通過(guò)控制線發(fā)出內(nèi)存讀命令,選中存儲(chǔ)器芯片,并通知他,將要從中讀取數(shù)據(jù)。
(3)存儲(chǔ)器將3號(hào)單元中的數(shù)據(jù) 08 通過(guò)數(shù)據(jù)線送入CPU
對(duì)于8086CPU,下面的機(jī)器碼能夠完成從3號(hào)單元讀數(shù)據(jù):
機(jī)器碼:101000000000001100000000
含義:從3號(hào)單元讀取數(shù)據(jù)送入寄存器AX
- CPU接收這條機(jī)器碼后將完成上面所述的讀寫工作。
- 匯編語(yǔ)言:MOV AX,[3]
8.地址總線
- CPU是通過(guò)地址總線來(lái)指定存儲(chǔ)單元的。
- 地址總線上能傳送多少個(gè)不同的信息,就可以對(duì)多少個(gè)存儲(chǔ)單元進(jìn)行尋址
- 一個(gè)CPU有N根地址總線,則可以說(shuō)這個(gè)CPU的地址總線的寬度為N。
- 這樣的CPU最多可以尋找2的N次方個(gè)內(nèi)存單元。
- 32位計(jì)算機(jī)尋址能力 2^32= 2^10 * 2^10 * 2^10 *4 = 4GB
9.數(shù)據(jù)總線
- CPU與內(nèi)存或其它器件之間的數(shù)據(jù)傳送是通過(guò)數(shù)據(jù)總線來(lái)進(jìn)行的。
- 數(shù)據(jù)總線的寬度決定了CPU和外界的數(shù)據(jù)傳送速度。
10.控制總線
- 前面所講的內(nèi)存讀或?qū)懨钍怯蓭赘刂凭€綜合發(fā)出的:
- 其中有一根名為讀信號(hào)輸出控制線負(fù)責(zé)由CPU 向外傳送讀信號(hào),CPU 向該控制線上輸出低電平表示將要讀取數(shù)據(jù);
- 有一根名為寫信號(hào)輸出控制線負(fù)責(zé)由CPU向外傳送寫信號(hào)。
11.內(nèi)存地址空間概述
什么是內(nèi)存地址空間呢?
一個(gè)CPU的地址線寬度為10,那么可以尋址1024個(gè)內(nèi)存單元,這1024個(gè)可尋到的內(nèi)存單元就構(gòu)成這個(gè)CPU的內(nèi)存地址空間。下面深入討論。
首先需要介紹兩部分基本知識(shí),主板和接口卡。
12.主板
在每一臺(tái)PC機(jī)中,都有一個(gè)主板,主板上有核心器件和一些主要器件。
這些器件通過(guò)總線(地址總線、數(shù)據(jù)總線、控制總線)相連。
13.接口卡
計(jì)算機(jī)系統(tǒng)中,所有可用程序控制其工作的設(shè)備,必須受到CPU的控制。
CPU對(duì)外部設(shè)備不能直接控制,如顯示器、音箱、打印機(jī)等。直接控制這些設(shè)備進(jìn)行工作的是插在擴(kuò)展插槽上的接口卡。
14.各類存儲(chǔ)器芯片
從讀寫屬性上看分為兩類:
隨機(jī)存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)
從功能和連接上分類:
隨機(jī)存儲(chǔ)器RAM
裝有BIOS的ROM
接口卡上的RAM
PC機(jī)中各類存儲(chǔ)器的邏輯連接情況
裝有BIOS的ROM
BIOS:Basic Input/Output System,基本輸入輸出系統(tǒng)。
BIOS是由主板和各類接口卡(如:顯卡、網(wǎng)卡等)廠商提供的軟件系統(tǒng),可以通過(guò)它利用該硬件設(shè)備進(jìn)行最基本的輸入輸出。在主板和某些接口卡上插有存儲(chǔ)相應(yīng)BIOS的ROM。
15.內(nèi)存地址空間
上述的那些存儲(chǔ)器在物理上是獨(dú)立的器件。
但是它們?cè)谝韵聝牲c(diǎn)上相同:
- 1、都和CPU的總線相連。
- 2、CPU對(duì)它們進(jìn)行讀或?qū)懙臅r(shí)候都通過(guò)控制線發(fā)出內(nèi)存讀寫命令。
將各類存儲(chǔ)器看作一個(gè)邏輯存儲(chǔ)器:
- 所有的物理存儲(chǔ)器被看作一個(gè)由若干存儲(chǔ)單元組成的邏輯存儲(chǔ)器;
- 每個(gè)物理存儲(chǔ)器在這個(gè)邏輯存儲(chǔ)器中占有一個(gè)地址段,即一段地址空間;
CPU在這段地址空間中讀寫數(shù)據(jù),實(shí)際上就是在相對(duì)應(yīng)的物理存儲(chǔ)器中讀寫數(shù)據(jù)。
- 假設(shè),上圖中的內(nèi)存空間地址段分配如下:
- 地址0~7FFFH的32KB空間為主隨機(jī)存儲(chǔ)器的地址空間;
- 地址8000H~9FFFH的8KB空間為顯存地址空間;
- 地址A000H~FFFFH的24KB空間為各個(gè)ROM的地址空間。
內(nèi)存地址空間 :
- 最終運(yùn)行程序的是CPU,我們用匯編編程的時(shí)候,必須要從CPU角度考慮問(wèn)題。(我們學(xué)習(xí)這門課程的核心思維)
- 對(duì)CPU來(lái)講,系統(tǒng)中的所有存儲(chǔ)器中的存儲(chǔ)單元都處于一個(gè)統(tǒng)一的邏輯存儲(chǔ)器中,它的容量受CPU尋址能力的限制。這個(gè)邏輯存儲(chǔ)器即是我們所說(shuō)的內(nèi)存地址空間。
小結(jié):
(1)匯編指令是機(jī)器指令的助記符,同機(jī)器指令一一對(duì)應(yīng)。
(2)每一種CPU都有自己的匯編指令集。
(3)CPU可以直接使用的信息在存儲(chǔ)器中存放。
(4)在存儲(chǔ)器中指令和數(shù)據(jù)沒(méi)有任何區(qū)別,都是二進(jìn)制信息。
(5)存儲(chǔ)單元從零開始順序編號(hào)。
(6)一個(gè)存儲(chǔ)單元可以存儲(chǔ) 8 個(gè) bit (用作單位寫成“b”),即 8 位二進(jìn)制數(shù)。
(7)1B = 8b 1KB = 1024B
1MB = 1024KB 1GB = 1024MB
(8)每一個(gè)CPU芯片都有許多管腳,這些管腳和總線相連。也可以說(shuō),這些管腳引出總線。一個(gè)CPU可以引出三種總線的寬度標(biāo)志了這個(gè)CPU的不同方面的性能:
- 地址總線的寬度決定了CPU的尋址能力;
- 數(shù)據(jù)總線的寬度決定了CPU與其它器件進(jìn)行數(shù)據(jù)傳送時(shí)的一次數(shù)據(jù)傳送量;
- 控制總線寬度決定了CPU對(duì)系統(tǒng)中其它器件的控制能力。
檢測(cè)點(diǎn)
**(1)**CPU的尋址能力為8KB,那么它的地址總線的寬度為 位。解:1KB=1024B,8KB=1024B*8=2^N,N=13。 則地址總線的寬度為13位
**(2)**1KB的存儲(chǔ)器有 *****個(gè)存儲(chǔ)單元,存儲(chǔ)單元的編號(hào)從 到 ***** 。解:回顧前面:一個(gè)存儲(chǔ)單元可以存儲(chǔ) 8 個(gè) bit (用作單位寫成“b”),即 8 位二進(jìn)制數(shù)。 即:1KB=1024B=1024*8bit 故有1024個(gè)存儲(chǔ)單元,存儲(chǔ)單元的編號(hào)從0開始到1023
**(3) 1KB的存儲(chǔ)器可以存儲(chǔ) __ 個(gè)bit, _**個(gè)Byte。解:1KB=1024Byte=1024*8bit=8192bit
**(4)1GB是個(gè)Byte、1MB是 **_個(gè)Byte、1KB是 __ ___個(gè)Byte。解:1GB=1024 * 1024 * 1024=1073741824Byte 1MB=1024*1024=1048576Byte 1KB=1024Byte
**(5)**8080、8088、80296、80386的地址總線寬度分別為16根、20根、24根、32根,則它們的尋址能力分別為: (KB)、 (MB)、 (MB)、___(GB)。解:由第一題得知:2^N=尋址能力(N為地址總線的寬度即現(xiàn)在題目中的16、20....) 則:2^16=65536byte=64kb 2^20=1048576byte=1mb 2^24=16777216byte=16mb 2^32=4294967296byte=4GB
(6) 8080、8088、8086、80286、80386的數(shù)據(jù)總線寬度分別為8根、8根、16根、16根、32根。則它們一次可以傳送的數(shù)據(jù)為: (B)、 _(B)、 __ (B)、 (B)、 __ (B)。解:由前面的知識(shí)可知: (一)8根數(shù)據(jù)總線一次可以傳送8位二進(jìn)制數(shù)據(jù)(即一個(gè)字節(jié))。 (二)一個(gè)存儲(chǔ)單元可以存儲(chǔ) 8 個(gè) bit (用作單位寫成“b”),即 8 位二進(jìn)制數(shù)。 (三)1Byte = 8bit 則:答案為:1 1 2 2 4
**(7) 從內(nèi)存中讀取1024字節(jié)的數(shù)據(jù),8086至少要讀 _ 次,80386至少要讀 __**次。解:由上題可知:8086為16根數(shù)據(jù)總線,一次可以傳送16位二進(jìn)制數(shù)據(jù)(即兩個(gè)字節(jié))。 1024/2=512(次) 80386為32根數(shù)據(jù)總線,一次可以傳送32位二進(jìn)制數(shù)據(jù)(即四個(gè)字節(jié))。 1024/4=256(次)
(8) 在存儲(chǔ)器中,數(shù)據(jù)和程序以 _ 形式存放。解:在存儲(chǔ)器中指令和數(shù)據(jù)沒(méi)有任何區(qū)別,都是二進(jìn)制信息,所以以二進(jìn)制形式存放。
-
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7636瀏覽量
166422 -
匯編語(yǔ)言
+關(guān)注
關(guān)注
14文章
410瀏覽量
36547 -
邏輯控制器
+關(guān)注
關(guān)注
0文章
43瀏覽量
9636 -
機(jī)器語(yǔ)言
+關(guān)注
關(guān)注
0文章
36瀏覽量
10878
發(fā)布評(píng)論請(qǐng)先 登錄
什么是匯編語(yǔ)言
匯編語(yǔ)言程序設(shè)計(jì)pdf

匯編語(yǔ)言程序設(shè)計(jì)下載

評(píng)論