《匯編語言》講稿_第1頁
《匯編語言》講稿_第2頁
《匯編語言》講稿_第3頁
《匯編語言》講稿_第4頁
《匯編語言》講稿_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

《匯編語言》課件

第1章基礎知識

■L1機器語言1.9數(shù)據(jù)總線

■L2匯編語言的產(chǎn)生1.10控制總線

■L3匯編語言的組成1.11內(nèi)存地址空間(概述)

■L4存儲器L12主板

■L5指令和數(shù)據(jù)1.13接口卡

■L6存儲單元1.14各類存儲器芯片

■L7CPU對存儲器的讀寫1.15內(nèi)存地址空間

■L8地址總線

■匯編語言是直接在硬件之上工作的編程

語言,首先要了解硬件系統(tǒng)的結構,才

能有效的應用匯編語言對其編程。

■在本章中,對硬件系統(tǒng)結構的問題進行

一部分的探討,以使后續(xù)的課程可在一

個好的基礎上進行。

■當課程進行到需要補充新的基礎知識

(關于編程結構或其他的)時候,再

對相關的基礎知識進行介紹和探討。

■本書的原則是,以后用到的知識,以

后再說。

■匯編課程的研究重點放在如何利用硬件

系統(tǒng)的編程結構和指令集有效靈活的控

制系統(tǒng)進行工作。

1.1機器語言

-機器語言是機器指令的集合。

-機器指令展開來講就是一臺機器可

以正確執(zhí)行的命令。

1.1機器語言

■指令:01010000(PUSHAX)

■電平脈沖:

_n_n___

01010000

L1機器語言

■以后我們提到的計算機是指由CPU和

其他受CPU直接或間接控制的芯片、

器件、設備組成的計算機系統(tǒng);

■比如我們最常見的PC機。

L1機器語言

■程序員們將0、1數(shù)字編程的程序代

碼打在紙帶或卡片上,1打孔,。不

打孔,再將程序通過紙帶機或卡片機

輸入計算機,進行運算。

■示例

應用8086CPU完成運算:

S=768+12288-1280

L1機器語言

■S=768+12288-1280

■機器碼:

101100000000000000000011

000001010000000000110000

001011010000000000000101

-假如將程序錯寫成以下這樣,請找處錯誤:

101100000000000000000011

000001010000000000110000

000101101000000000000101

L1機器語言

■在顯示器上輸出“welcometomasm”。

機器碼

-看到這樣的程序,你會有什么感想?

-如果程序里有一個“1”被誤寫為

“0”,又如何去查找呢?

尸2匯編語言的產(chǎn)生

-匯編語言的主體是匯編指令。

-匯編指令和機器指令的差別在于指令

的表示方法上。匯編指令是機器指令

便于記憶的書寫格式。

-匯編指令是機器指令的助記符。

1.2匯編語言的產(chǎn)生

■機器指令:1000100111011000

■操作:寄存器BX的內(nèi)容送到AX中

■匯編指令:MOVAX,BX

■這樣的寫法與人類語言接近,便于閱讀

和記憶。

寄存器

■寄存器:簡單的講是CPU中可以存儲

數(shù)據(jù)的器件,一個CPU中有多個寄存

O

■AX是其中一個寄存器的代號,

■BX是另一個寄存器的代號。

■更詳細的內(nèi)容我們在以后的課程中將

會講到。

U

L2匯編語言的產(chǎn)生

-計算機能讀懂的只有機器指令,那么如

何讓計算機執(zhí)行程序員用匯編指令編寫

的程序呢?

4用匯編語言編寫程序的工作過程

匯編指令機器碼

movax,bx口一1000100111011000

程序員

編譯器

計算機

1.3匯編語言的組成

■匯編語言由以下3類組成:

■1、匯編指令(機器碼的助記符)

■2、偽指令(由編譯器執(zhí)行)

■3、其它符號(由編譯器識別)

-匯編語言的核心是匯編指令,它決

定了匯編語言的特性。

1.4存儲器

■CPU是計算機的核心部件.它控制整

個計算機的運作并進行運算,要想讓

一個CPU工作,就必須向它提供指令

和數(shù)據(jù)。

■指令和數(shù)據(jù)在存儲器中存放,也就是

平時所說的內(nèi)存。

1.4存儲器

■在一臺PC機中內(nèi)存的作用僅次于CPU。

■離開了內(nèi)存,性能再好的CPU也無法工

作。

1.4存儲器

■磁盤不同于內(nèi)存,磁盤上的數(shù)據(jù)或程

序如果不讀到內(nèi)存中,就無法被CPU

使用。

1.5指令和數(shù)據(jù)

■指令和數(shù)據(jù)是應用上的概念。

■在內(nèi)存或磁盤上,指令和數(shù)據(jù)沒有

任何區(qū)別,都是二進制信息。

1.5指令和數(shù)據(jù)

■二進制信息:

1000100111011000

—>89D8H(數(shù)據(jù))

1000100111011000

—>MOVAX,BX(程序)

1.6存儲單元

-存儲器被劃分為若干個存儲單元,每個

存儲單元從。開始順序編號;°二

■例如:+日

一個存儲器有128個存儲單元,*L

編號從0~127。;;

如右圖示:出目

1.6存儲單元

■對于大容量的存儲器一般還用以下單位

來計量容量(以下用B來代表Byte):

■1KB=1O24B

■1MB=1O24KB

■1GB=1O24MB

■1TB=1024GB

■磁盤的容量單位同內(nèi)存的一樣,實際上

以上單位是微機中常用的計量單位。

1.7CPU對存儲器的讀寫

■CPU要想進行數(shù)據(jù)的讀寫,必須和外部器

件(標準的說法是芯片)進行三類信息

的交互:

■存儲單元的地址(地址信息)

■器件的選擇,讀或?qū)懨睿刂菩畔ⅲ?/p>

■讀或?qū)懙臄?shù)據(jù)(數(shù)據(jù)信息)

1.7CPU對存儲器的讀寫

■那么CPU是通過什么將地址、數(shù)據(jù)

和控制信息傳到存儲芯片中的呢?

■電子計算機能處理、傳輸?shù)男畔⒍?/p>

是電信號,電信號當然要用導線傳

送。

1.7CPU對存儲器的讀寫

在計算機中專門有連接CPU和其他芯片的

導線,通常稱為總線。

■物理上:一根根導線的集合;

■邏輯上劃分為:

-地址總線

■數(shù)據(jù)總線

-控制總線

■SzK

L7CPU對存儲器的讀寫

■總線在邏輯上劃分的圖示:

1.7CPU對存儲器的讀寫

■CPU在內(nèi)存中讀或?qū)懙臄?shù)據(jù)演示:

■讀演示

■寫演示

■從上面我們知道CPU是如何進行數(shù)據(jù)讀寫

的??墒俏覀?nèi)绾蚊钣嬎銠C進行數(shù)據(jù)

的讀寫呢?

L7CPU對存儲器的讀寫

~V^

CPU從內(nèi)存中3號單元處讀取數(shù)據(jù)的過程

oo

.

1.7CPU對存儲器的讀寫

CPU向內(nèi)存中3號單元寫入數(shù)據(jù)26的過程

CO.OOt

U

1.7CPU對存儲器的讀寫

■對于8086CPU,下面的機器碼能夠完成

從3號單元讀數(shù)據(jù):

■機器碼:101000000000001100000000

■含義:從3號單元讀取數(shù)據(jù)送入寄存器AX

■CPU接收這條機器碼后將完成上面所述的讀

寫工作。

1.7CPU對存儲器的讀寫

■機器碼難于記憶,用匯編指令來表示,

情況如下:

■機器碼:101000000000001100000000

■對應的匯編指令:MOVAX,[3]

■含義:傳送3號單元的內(nèi)容到AX

1.8地址總線

■CPU是通過地址總線來指定存儲單元

的。

■地址總線上能傳送多少個不同的信息,

CPU就可以對多少個存儲單元進行尋

址。

1.8地址總線

■地址總線發(fā)送地址信息演示

1.8地址總線

1.8地址總線

■一個CPU有N根地址總線,則可以說這

個CPU的地址總線的寬度為N。

-這樣的CPU最多可以尋找2的N次方個

內(nèi)存單元。

1.9數(shù)據(jù)總線

■CPU與內(nèi)存或其它器件之間的數(shù)據(jù)

傳送是通過數(shù)據(jù)總線來進行的。

■數(shù)據(jù)總線的寬度決定了CPU和外界

的數(shù)據(jù)傳送速度。

1.9數(shù)據(jù)總線

■我們來分別看一下它們向內(nèi)存中寫

入數(shù)據(jù)89D8H時,是如何通過數(shù)據(jù)

總線傳送數(shù)據(jù)的:

■8088CPU數(shù)據(jù)總線上的數(shù)據(jù)傳送情況

-8086CPU數(shù)據(jù)總線上的數(shù)據(jù)傳送情況

1.9數(shù)據(jù)總線

8位數(shù)據(jù)總線上傳送的信息

1.9數(shù)據(jù)總線

16位數(shù)據(jù)總線上傳送的信息a

L10控制總線

-CPU對外部器件的控制是通過控制總線來

進行的。在這里控制總線是個總稱,控制

總線是一些不同控制線的集合。

■有多少根控制總線,就意味著CPU提供了

對外部器件的多少種控制。

所以,控制總線的寬度決定了CPU對外部

器件的控制能力。

-控制制線上發(fā)送的控制信息

L10控制總線

L10控制總線

■前面所講的內(nèi)存讀或?qū)懨钍怯蓭?/p>

根控制線綜合發(fā)出的:

■其中有一根名為讀信號輸出控制線負

責由CPU向外傳送讀信號,CPU向該

控制線上輸出低電平表示將要讀取數(shù)

據(jù);

■有一根名為寫信號輸出控制線負責由

CPU向外傳送寫信號。

1.1節(jié)~1?10節(jié)小結

-■:

-(1)匯編指令是機器指令的助記符,同

機器指令一一對應。

■(2)每一種CPU都有自己的匯編指令集。

1.1節(jié)~1?10節(jié)小結

■(3)CPU可以直接使用的信息在存儲器

中存放。

■(4)在存儲器中指令和數(shù)據(jù)沒有任何區(qū)

另U,都是二進制信息。

1.1節(jié)~1.10節(jié)小結

■(5)存儲單元從零開始順序編號。

■(6)一個存儲單元可以存儲8個bit

(用作單位寫成“b"),即8位二進制

數(shù)。

■(7)IB=8b1KB=1024B

1MB=1024KB1GB=1024MB

1.1節(jié)~1?10節(jié)小結(續(xù))

!(8)每一個CPU芯片都有許多管腳,這些管

腳和總線相連。也可以說,這些管腳引出總

線。一個CPU可以引出三種總線的寬度標志了

這個CPU的不同方面的性能:

-地址總線的寬度決定了CPU的尋址能力;

-數(shù)據(jù)總線的寬度決定了CPU與其它器件進行數(shù)據(jù)傳

送時的一次數(shù)據(jù)傳送量;

-控制總線寬度決定了CPU對系統(tǒng)中其它器件的控制

能力。

1.1節(jié)~1.10節(jié)小結(續(xù))

■在匯編課程中,我們從功能的角度介紹

了這三類總線,對實際的連接情況不做

討論。

■特另I」提示

特別提示

■檢測點LI(Page8)

-沒有通過檢測點請不要向下學習!

1.11內(nèi)存地址空間(概述)

■什么是內(nèi)存地址空間呢?

■一個CPU的地址線寬度為10,那么可以

尋址1024個內(nèi)存單元,這1024個可尋

到的內(nèi)存單元就構成這個CPU的內(nèi)存地

址空間。下面深入討論。

■首先需要介紹兩部分基本知識,主板和

接口卡。

L12主板

-在每一臺PC機中,都有一個主板,

板上有核心器件和一些主要器件。

■這些器件通過總線(地址總線、數(shù)據(jù)

總線、控制總線)相連。

1.13接口卡

■計算機系統(tǒng)中,所有可用程序控制其

工作的設備,必須受到CPU的控制。

■CPU對外部設備不能直接控制,如顯

示器、音箱、打印機等。直接控制這

些設備進行工作的是插在擴展插槽上

的接口卡。

1.14各類存儲器芯片

■從讀寫屬性上看分為兩類:

隨機存儲器(RAM)和只讀存儲器(ROM)

-從功能和連接上分類:

■隨機存儲器RAM

■裝有BIOS的ROM

■接口卡上的RAM

-PC機中各類存儲器的邏輯連接情況

1.14各類存儲器芯片

■裝有BIOS的ROM

BIOS:BasicInput/OutputSystem,

基本輸入輸出系統(tǒng)。

BIOS是由主板和各類接口卡(如:顯

卡、網(wǎng)卡等)廠商提供的軟件系統(tǒng),可

以通過它利用該硬件設備進行最基本的

輸入輸出。在主板和某些接口卡上插有

存儲相應BIOS的ROM。

1.15內(nèi)存地址空間

■上述的那些存儲器在物理上是獨立的

器件。

-但是它們在以下兩點上相同:

1、都和CPU的總線相連。

2、CPU對它們進行讀或?qū)懙臅r候都通

過控制線發(fā)出內(nèi)存讀寫命令。

1.15內(nèi)存地址空間

將各各類存儲器看作一個邏輯存儲器:

■所有的物理存儲器被看作一個由若干存儲

單元組成的邏輯存儲器;

■每個物理存儲器在這個邏輯存儲器中占有

一個地址段,即一段地址空間;

■CPU在這段地址空間中讀寫數(shù)據(jù),實際上

就是在相對應的物理存儲器中讀寫數(shù)據(jù)。

[RAM(主存儲器)

ROM(裝有系統(tǒng)BIOS)

主存儲器

地址空間

I

RAM(主存儲器)

K內(nèi)里7獷展插槽

線顯存地址空間

顯卡BIOSR0加

1地址空間

獷展插槽

網(wǎng)卡BIOSRON

地址空間

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論