




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、匯編語(yǔ)言課件,王爽 著清華大學(xué)出版社,制作工具:Microsoft PowerPoint2003,本課件由匯編網(wǎng)()制作提供,第1章 基礎(chǔ)知識(shí),1.1 機(jī)器語(yǔ)言 1. 9 數(shù)據(jù)總線 1.2 匯編語(yǔ)言的產(chǎn)生 1.10 控制總線 1.3 匯編語(yǔ)言的組成 1.11 內(nèi)存地址空間(概述) 1.4 存儲(chǔ)器 1.12 主板 1.5 指令和數(shù)據(jù) 1.13 接口卡 1.6 存儲(chǔ)單元 1.14 各類存儲(chǔ)器芯片 1.7 CPU對(duì)存儲(chǔ)器的讀寫 1.15 內(nèi)存地址空間 1.8 地址總線,引言,匯編語(yǔ)言是直接在硬件之上工作的編程語(yǔ)言,首先要了解硬件系統(tǒng)的結(jié)構(gòu),才能有效的應(yīng)用匯編語(yǔ)言對(duì)其編程。 在本章中,對(duì)硬件系統(tǒng)結(jié)構(gòu)的
2、問題進(jìn)行一部分的探討,以使后續(xù)的課程可在一個(gè)好的基礎(chǔ)上進(jìn)行。,引言,當(dāng)課程進(jìn)行到需要補(bǔ)充新的基礎(chǔ)知識(shí)(關(guān)于編程結(jié)構(gòu)或其他的)時(shí)候,再對(duì)相關(guān)的基礎(chǔ)知識(shí)進(jìn)行介紹和探討。 本書的原則是,以后用到的知識(shí),以后再說。,引言,匯編課程的研究重點(diǎn)放在如何利用硬件系統(tǒng)的編程結(jié)構(gòu)和指令集有效靈活的控制系統(tǒng)進(jìn)行工作。,1.1 機(jī)器語(yǔ)言,機(jī)器語(yǔ)言是機(jī)器指令的集合。 機(jī)器指令展開來講就是一臺(tái)機(jī)器可以正確執(zhí)行的命令。,1.1 機(jī)器語(yǔ)言,指令:01010000 (PUSH AX) 電平脈沖:,1.1 機(jī)器語(yǔ)言,以后我們提到的計(jì)算機(jī)是指由CPU 和其他受CPU 直接或間接控制的芯片、器件、設(shè)備組成的計(jì)算機(jī)系統(tǒng); 比如我們最
3、常見的PC 機(jī)。,1.1 機(jī)器語(yǔ)言,程序員們將 0、1 數(shù)字編程的程序代碼打在紙帶或卡片上,1打孔,0不打孔,再將程序通過紙帶機(jī)或卡片機(jī)輸入計(jì)算機(jī),進(jìn)行運(yùn)算。 示例 應(yīng)用8086CPU完成運(yùn)算: S = 768 + 12288 1280,1.1 機(jī)器語(yǔ)言,S = 768 + 12288 - 1280 機(jī)器碼: 101100000000000000000011 000001010000000000110000 001011010000000000000101 假如將程序錯(cuò)寫成以下這樣,請(qǐng)找處錯(cuò)誤: 101100000000000000000011 000001010000000000110000
4、 000101101000000000000101,1.1 機(jī)器語(yǔ)言,在顯示器上輸出“welcome to masm”。 機(jī)器碼 看到這樣的程序,你會(huì)有什么感想? 如果程序里有一個(gè)“ 1 ”被誤寫為“ 0 ”,又如何去查找呢?,1.2 匯編語(yǔ)言的產(chǎn)生,匯編語(yǔ)言的主體是匯編指令。 匯編指令和機(jī)器指令的差別在于指令的表示方法上。匯編指令是機(jī)器指令便于記憶的書寫格式。 匯編指令是機(jī)器指令的助記符。,1.2 匯編語(yǔ)言的產(chǎn)生,機(jī)器指令: 1000100111011000 操作:寄存器BX的內(nèi)容送到AX中 匯編指令:MOV AX,BX 這樣的寫法與人類語(yǔ)言接近,便于閱讀和記憶。,寄存器,寄存器:簡(jiǎn)單的講是
5、CPU中可以存儲(chǔ)數(shù)據(jù)的器件,一個(gè)CPU中有多個(gè)寄存器。 AX是其中一個(gè)寄存器的代號(hào), BX是另一個(gè)寄存器的代號(hào)。 更詳細(xì)的內(nèi)容我們?cè)谝院蟮恼n程中將會(huì)講到。,1.2 匯編語(yǔ)言的產(chǎn)生,計(jì)算機(jī)能讀懂的只有機(jī)器指令,那么如何讓計(jì)算機(jī)執(zhí)行程序員用匯編指令編寫的程序呢?,用匯編語(yǔ)言編寫程序的工作過程,1.3 匯編語(yǔ)言的組成,匯編語(yǔ)言由以下3類組成: 1、匯編指令(機(jī)器碼的助記符) 2、偽指令 (由編譯器執(zhí)行) 3、其它符號(hào)(由編譯器識(shí)別) 匯編語(yǔ)言的核心是匯編指令,它決定了匯編語(yǔ)言的特性。,1.4 存儲(chǔ)器,CPU 是計(jì)算機(jī)的核心部件它控制整個(gè)計(jì)算機(jī)的運(yùn)作并進(jìn)行運(yùn)算,要想讓一個(gè)CPU 工作,就必須向它提供指
6、令和數(shù)據(jù)。 指令和數(shù)據(jù)在存儲(chǔ)器中存放,也就是平時(shí)所說的內(nèi)存。,1.4 存儲(chǔ)器,在一臺(tái)PC機(jī)中內(nèi)存的作用僅次于CPU。 離開了內(nèi)存,性能再好的CPU也無法工作。,1.4 存儲(chǔ)器,磁盤不同于內(nèi)存,磁盤上的數(shù)據(jù)或程序如果不讀到內(nèi)存中,就無法被CPU 使用。,1.5 指令和數(shù)據(jù),指令和數(shù)據(jù)是應(yīng)用上的概念。 在內(nèi)存或磁盤上,指令和數(shù)據(jù)沒有任何區(qū)別,都是二進(jìn)制信息。,1.5 指令和數(shù)據(jù),二進(jìn)制信息: 1000100111011000 89D8H (數(shù)據(jù)) 1000100111011000 MOV AX,BX (程序),1.6 存儲(chǔ)單元,存儲(chǔ)器被劃分為若干個(gè)存儲(chǔ)單元,每個(gè)存儲(chǔ)單元從0開始順序編號(hào); 例如:
7、一個(gè)存儲(chǔ)器有128個(gè)存儲(chǔ)單元, 編號(hào)從0127。 如右圖示:,1.6 存儲(chǔ)單元,對(duì)于大容量的存儲(chǔ)器一般還用以下單位來計(jì)量容量(以下用B來代表Byte): 1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB 磁盤的容量單位同內(nèi)存的一樣,實(shí)際上以上單位是微機(jī)中常用的計(jì)量單位。,1.7 CPU對(duì)存儲(chǔ)器的讀寫,CPU要想進(jìn)行數(shù)據(jù)的讀寫,必須和外部器件(標(biāo)準(zhǔn)的說法是芯片)進(jìn)行三類信息的交互: 存儲(chǔ)單元的地址(地址信息) 器件的選擇,讀或?qū)懨睿刂菩畔ⅲ?讀或?qū)懙臄?shù)據(jù)(數(shù)據(jù)信息),1.7 CPU對(duì)存儲(chǔ)器的讀寫,那么CPU是通過什么將地址、數(shù)據(jù)和控制信息傳到存儲(chǔ)芯片中的呢
8、? 電子計(jì)算機(jī)能處理、傳輸?shù)男畔⒍际请娦盘?hào),電信號(hào)當(dāng)然要用導(dǎo)線傳送。,1.7 CPU對(duì)存儲(chǔ)器的讀寫,在計(jì)算機(jī)中專門有連接CPU和其他芯片的導(dǎo)線,通常稱為總線。 物理上:一根根導(dǎo)線的集合; 邏輯上劃分為: 地址總線 數(shù)據(jù)總線 控制總線 圖示,1.7 CPU對(duì)存儲(chǔ)器的讀寫,總線在邏輯上劃分的圖示:,1.7 CPU對(duì)存儲(chǔ)器的讀寫,CPU在內(nèi)存中讀或?qū)懙臄?shù)據(jù)演示: 讀演示 寫演示 從上面我們知道CPU是如何進(jìn)行數(shù)據(jù)讀寫的??墒俏覀?nèi)绾蚊钣?jì)算機(jī)進(jìn)行數(shù)據(jù)的讀寫呢?,1.7 CPU對(duì)存儲(chǔ)器的讀寫,1.7 CPU對(duì)存儲(chǔ)器的讀寫,1.7 CPU對(duì)存儲(chǔ)器的讀寫,對(duì)于8086CPU,下面的機(jī)器碼能夠完成從3號(hào)單元
9、讀數(shù)據(jù): 機(jī)器碼: 101000000000001100000000 含義:從3號(hào)單元讀取數(shù)據(jù)送入寄存器AX CPU接收這條機(jī)器碼后將完成上面所述的讀寫工作。,1.7 CPU對(duì)存儲(chǔ)器的讀寫,機(jī)器碼難于記憶,用匯編指令來表示,情況如下: 機(jī)器碼:101000000000001100000000 對(duì)應(yīng)的匯編指令:MOV AX,3 含義:傳送3號(hào)單元的內(nèi)容到AX,1.8 地址總線,CPU是通過地址總線來指定存儲(chǔ)單元的。 地址總線上能傳送多少個(gè)不同的信息,CPU就可以對(duì)多少個(gè)存儲(chǔ)單元進(jìn)行尋址。,1.8 地址總線,地址總線發(fā)送地址信息演示,1.8 地址總線,1.8 地址總線,一個(gè)CPU有N根地址總線,則
10、可以說這個(gè)CPU的地址總線的寬度為N。 這樣的CPU最多可以尋找的N次方個(gè)內(nèi)存單元。,1.9 數(shù)據(jù)總線,CPU與內(nèi)存或其它器件之間的數(shù)據(jù)傳送是通過數(shù)據(jù)總線來進(jìn)行的。 數(shù)據(jù)總線的寬度決定了CPU和外界的數(shù)據(jù)傳送速度。,1.9 數(shù)據(jù)總線,我們來分別看一下它們向內(nèi)存中寫入數(shù)據(jù)89D8H時(shí),是如何通過數(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ù)總線上傳送的信息,1.10 控制總線,CPU對(duì)外部器件的控制是通過控制總線來進(jìn)行的。在這里控制總線是個(gè)總稱,控制總線是一些不同控制線
11、的集合。 有多少根控制總線,就意味著CPU提供了對(duì)外部器件的多少種控制。 所以,控制總線的寬度決定了CPU對(duì)外部器件的控制能力。 控制總線上發(fā)送的控制信息,1.10 控制總線,1.10 控制總線,前面所講的內(nèi)存讀或?qū)懨钍怯蓭赘刂凭€綜合發(fā)出的: 其中有一根名為讀信號(hào)輸出控制線負(fù)責(zé)由CPU 向外傳送讀信號(hào),CPU 向該控制線上輸出低電平表示將要讀取數(shù)據(jù); 有一根名為寫信號(hào)輸出控制線負(fù)責(zé)由CPU向外傳送寫信號(hào)。,1.1節(jié)1.10節(jié) 小結(jié),(1)匯編指令是機(jī)器指令的助記符,同機(jī)器指令一一對(duì)應(yīng)。 (2)每一種CPU都有自己的匯編指令集。,1.1節(jié)1.10節(jié) 小結(jié),(3)CPU可以直接使用的信息在存儲(chǔ)
12、器中存放。 (4)在存儲(chǔ)器中指令和數(shù)據(jù)沒有任何區(qū)別,都是二進(jìn)制信息。,1.1節(jié)1.10節(jié) 小結(jié),(5)存儲(chǔ)單元從零開始順序編號(hào)。 (6)一個(gè)存儲(chǔ)單元可以存儲(chǔ) 8 個(gè) bit (用作單位寫成“b”),即 8 位二進(jìn)制數(shù)。 (7)1B = 8b1KB = 1024B 1MB = 1024KB 1GB = 1024MB,1.1節(jié)1.10節(jié) 小結(jié)(續(xù)),(8)每一個(gè)CPU芯片都有許多管腳,這些管腳和總線相連。也可以說,這些管腳引出總線。一個(gè)CPU可以引出三種總線的寬度標(biāo)志了這個(gè)CPU的不同方面的性能: 地址總線的寬度決定了CPU的尋址能力; 數(shù)據(jù)總線的寬度決定了CPU與其它器件進(jìn)行數(shù)據(jù)傳送時(shí)的一次數(shù)據(jù)
13、傳送量; 控制總線寬度決定了CPU對(duì)系統(tǒng)中其它器件的控制能力。,1.1節(jié)1.10節(jié) 小結(jié)(續(xù)),在匯編課程中,我們從功能的角度介紹了這三類總線,對(duì)實(shí)際的連接情況不做討論。 特別提示,特別提示,檢測(cè)點(diǎn) 1.1(Page 8) 沒有通過檢測(cè)點(diǎn)請(qǐng)不要向下學(xué)習(xí)!,1.11 內(nèi)存地址空間(概述),什么是內(nèi)存地址空間呢? 一個(gè)CPU的地址線寬度為10,那么可以尋址1024個(gè)內(nèi)存單元,這1024個(gè)可尋到的內(nèi)存單元就構(gòu)成這個(gè)CPU的內(nèi)存地址空間。下面深入討論。 首先需要介紹兩部分基本知識(shí),主板和接口卡。,1.12 主板,在每一臺(tái)PC機(jī)中,都有一個(gè)主板,主板上有核心器件和一些主要器件。 這些器件通過總線(地址總
14、線、數(shù)據(jù)總線、控制總線)相連。,1.13 接口卡,計(jì)算機(jī)系統(tǒng)中,所有可用程序控制其工作的設(shè)備,必須受到CPU的控制。 CPU對(duì)外部設(shè)備不能直接控制,如顯示器、音箱、打印機(jī)等。直接控制這些設(shè)備進(jìn)行工作的是插在擴(kuò)展插槽上的接口卡。,1.14 各類存儲(chǔ)器芯片,從讀寫屬性上看分為兩類: 隨機(jī)存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM) 從功能和連接上分類: 隨機(jī)存儲(chǔ)器RAM 裝有BIOS的ROM 接口卡上的RAM PC機(jī)中各類存儲(chǔ)器的邏輯連接情況,1.14 各類存儲(chǔ)器芯片,裝有BIOS的ROM BIOS:Basic Input/Output System,基本輸入輸出系統(tǒng)。 BIOS是由主板和各類接口卡(如
15、:顯卡、網(wǎng)卡等)廠商提供的軟件系統(tǒng),可以通過它利用該硬件設(shè)備進(jìn)行最基本的輸入輸出。在主板和某些接口卡上插有存儲(chǔ)相應(yīng)BIOS的ROM。,1.15 內(nèi)存地址空間,上述的那些存儲(chǔ)器在物理上是獨(dú)立的器件。 但是它們?cè)谝韵聝牲c(diǎn)上相同: 1、都和CPU的總線相連。 2、CPU對(duì)它們進(jìn)行讀或?qū)懙臅r(shí)候都通過控制線發(fā)出內(nèi)存讀寫命令。,1.15 內(nèi)存地址空間,將各各類存儲(chǔ)器看作一個(gè)邏輯存儲(chǔ)器: 所有的物理存儲(chǔ)器被看作一個(gè)由若干存儲(chǔ)單元組成的邏輯存儲(chǔ)器; 每個(gè)物理存儲(chǔ)器在這個(gè)邏輯存儲(chǔ)器中占有一個(gè)地址段,即一段地址空間; CPU在這段地址空間中讀寫數(shù)據(jù),實(shí)際上就是在相對(duì)應(yīng)的物理存儲(chǔ)器中讀寫數(shù)據(jù)。,1.15 內(nèi)存地址空間,假設(shè),上圖中的內(nèi)存空間地址段分配如下: 地址07FFFH的32KB空間為主隨機(jī)存儲(chǔ)器的地址空間; 地址8000H9FFFH的8KB空間為顯存地址空間; 地址
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度【勞動(dòng)關(guān)系處理】勞務(wù)派遣合同簽訂指南
- 2025勞保用品采購(gòu)合同 YYY科技有限公司勞保用品供應(yīng)框架合同
- 2025版數(shù)據(jù)中心UPS不間斷電源系統(tǒng)安裝與維護(hù)合同
- 二零二五年KTV服務(wù)質(zhì)量監(jiān)督與投訴處理合同
- 2025年LNG液態(tài)天然氣公路運(yùn)輸及倉(cāng)儲(chǔ)合同
- 2025白酒行業(yè)專業(yè)展會(huì)贊助與產(chǎn)品購(gòu)銷合同
- 二零二五年度智能停車系統(tǒng)車庫(kù)交易合同
- 二零二五年裝載機(jī)租賃與設(shè)備租賃合同
- 2025年IT運(yùn)維服務(wù)人員勞動(dòng)合同范本
- 醫(yī)療行業(yè)數(shù)字化發(fā)展及教師培訓(xùn)需求
- 車輛掛名使用權(quán)轉(zhuǎn)讓與免責(zé)保障協(xié)議
- 復(fù)習(xí)課專題講座課件
- 提高人工氣道氣囊管理正確率品管圈匯報(bào)書模板課件
- 2023年景德鎮(zhèn)藝術(shù)職業(yè)大學(xué)輔導(dǎo)員招聘考試筆試題庫(kù)及答案解析
- 信號(hào)與系統(tǒng)思維導(dǎo)圖(所有內(nèi)容)
- 藥物外滲嚴(yán)重后果以及處理
- 國(guó)家職業(yè)教育老年服務(wù)與管理專業(yè)教學(xué)資源庫(kù)
- 長(zhǎng)郡澄池杯復(fù)賽試題及解析
- 機(jī)電安裝安全監(jiān)理實(shí)施細(xì)則
- 《中外音樂史》自學(xué)考試大綱(共6頁(yè))
- 氣體滅火打壓方案-七氟丙烷FM200
評(píng)論
0/150
提交評(píng)論