《匯編語言》第二章 課件_第1頁
《匯編語言》第二章 課件_第2頁
《匯編語言》第二章 課件_第3頁
《匯編語言》第二章 課件_第4頁
《匯編語言》第二章 課件_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、零基礎(chǔ)入門學(xué)習(xí)匯編語言 作者:小甲魚,第二章 寄存器(CPU工作原理),第2章 寄存器(CPU工作原理),2.1 通用寄存器 2.2 字在寄存器中的存儲 2.3 幾條匯編指令 2.4 物理地址 2.5 16位結(jié)構(gòu)的CPU 2.6 8086CPU給出物理 地址的方法,2.7 “段地址16+偏移地址 =物理地址”的本質(zhì)含義 2.8 段的概念 2.9 段寄存器 2.10 CS和IP 2.12 代碼段,CPU概述,一個(gè)典型的CPU由運(yùn)算器、控制器、寄存器等器件組成,這些器件靠內(nèi)部總線相連。 區(qū)別: 內(nèi)部總線實(shí)現(xiàn)CPU內(nèi)部各個(gè)器件之間的聯(lián)系。 外部總線實(shí)現(xiàn)CPU和主板上其它器件的聯(lián)系。,寄存器概述,80

2、86CPU有14個(gè)寄存器 它們的名稱為: AX、BX、CX、DX、SI、DI、SP、BP、 IP、CS、SS、DS、ES、PSW。 這些寄存器我們以后會陸續(xù)介紹,因?yàn)?“以后用到的知識以后再講減負(fù)”,2.1 通用寄存器,8086CPU所有的寄存器都是16位的,可以存放兩個(gè)字節(jié)。 AX、BX、CX、DX 通常用來存放一般性數(shù)據(jù)被稱為通用寄存器。 下面以AX為例,我們看一下寄存器的邏輯結(jié)構(gòu)。,2.1 還是通用寄存器,一個(gè)16位寄存器可以存儲一個(gè)16位的數(shù)據(jù)。(數(shù)據(jù)的存放情況) 一個(gè)16位寄存器所能存儲的數(shù)據(jù)的最大值為多少? 答案:216-1。,Jmp,16位數(shù)據(jù)在寄存器中的存放情況,數(shù)據(jù):18 二

3、進(jìn)制表示:10010 在寄存器AX中的存儲:,16位數(shù)據(jù)在寄存器中的存放情況2,數(shù)據(jù):20000 二進(jìn)制表示:0100111000100000 在寄存器AX中的存儲:,Return,2.1 通用寄存器,8086上一代CPU中的寄存器都是8位的; 為保證兼容性,這四個(gè)寄存器都可以分為兩個(gè)獨(dú)立的8位寄存器使用。 AX可以分為AH和AL; BX可以分為BH和BL; CX可以分為CH和CL; DX可以分為DH和DL。 8086CPU的8位寄存器存儲邏輯,8086CPU的8位寄存器存儲邏輯,以AX為例,8086CPU的16位寄存器分為兩個(gè)8位寄存器的情況:,2.1 通用寄存器,AX的低8位(0位7位)構(gòu)

4、成了AL寄存器,高8位(8位15位)構(gòu)成了AH寄存器。 AH和AL寄存器是可以獨(dú)立使用的8位寄存器。 8086CPU的8位寄存器數(shù)據(jù)存儲情況 一個(gè)8位寄存器所能存儲的數(shù)據(jù)的最大值是多少? 答案:28-1。,Jmp,2.1 通用寄存器,Return,2.2 字在寄存器中的存儲,一個(gè)字可以存在一個(gè)16位寄存器中,這個(gè)字的高位字節(jié)和低位字節(jié)自然就存在這個(gè)寄存器的高8位寄存器和低8位寄存器中。,關(guān)于數(shù)制的討論,由于一個(gè)內(nèi)存單元可以存放 8位數(shù)據(jù),CPU中的寄存器又可存放 n 個(gè) 8位數(shù)據(jù)。也就是說,計(jì)算機(jī)中的數(shù)據(jù)大多是由1N個(gè)8位數(shù)據(jù)構(gòu)成的。 用十六進(jìn)制來表示數(shù)據(jù)可以直觀的看 出這個(gè)數(shù)據(jù)是由哪些8位數(shù)

5、據(jù)構(gòu)成的。 每兩位對應(yīng)一個(gè)八進(jìn)制!,2.3 幾條匯編指令,匯編指令不區(qū)分大小寫!,2.3 幾條匯編指令,CPU執(zhí)行下表中的程序段的每條指令后,對寄存器中的數(shù)據(jù)進(jìn)行的改變。,2.3 幾條匯編指令,2.3 幾條匯編指令,這里的丟失,指的是進(jìn)位制不能在 8 位寄存器中保存,但是 CPU 不是并真的不丟棄 這個(gè)進(jìn)位值,這個(gè)問題會在后面的課程中討論。,檢測點(diǎn)2.1(Page 18),沒有通過檢測點(diǎn)請不要向下學(xué)習(xí)!,(2)只能使用目前學(xué)過的匯編指令,最多使 用四條指令,編程計(jì)算2的4次方。,2.4 物理地址,CPU訪問內(nèi)存單元時(shí)要給出內(nèi)存單元的地址。所有的內(nèi)存單元構(gòu)成的存儲空間是一個(gè)一維的線性空間。 我們

6、將這個(gè)唯一的地址稱為物理地址。,2.5 16位結(jié)構(gòu)的CPU,概括的講,16位結(jié)構(gòu)描述了一個(gè)CPU具有以下幾個(gè)方面特征: 1、運(yùn)算器一次最多可以處理16位的數(shù)據(jù)。 2、寄存器的最大寬度為16位。 3、寄存器和運(yùn)算器之間的通路是16位的。,2.6 8086CPU給出物理地址的方法,8086有20位地址總線,可傳送20位地址,尋址能力為1M。 8086內(nèi)部為16位結(jié)構(gòu),它只能傳送16位的地址,表現(xiàn)出的尋址能力卻只有64K。,問題:那么,8086CPU如何用內(nèi)部16位的數(shù)據(jù) 轉(zhuǎn)換成20位的地址呢?,2.6 8086CPU給出物理地址的方法,自問自答:8086CPU采用一種在內(nèi)部用兩個(gè)16位地址合成的方

7、法來形成一個(gè)20位的物理地址,我們來看一下圖例,2.6 8086CPU給出物理地址的方法,2.6 8086CPU給出物理地址的方法,8086CPU讀寫內(nèi)存時(shí),發(fā)生了這么一些事: CPU中的相關(guān)部件提供兩個(gè)16位的地址,一個(gè)稱為段地址,另一個(gè)稱為偏移地址; 段地址和偏移地址通過內(nèi)部總線送入一個(gè)稱為地址加法器的部件; 地址加法器將兩個(gè)16位地址合并成一個(gè)20位的地址; ,地址加法器工作原理,地址加法器合成物理地址的方法: 物理地址=段地址16+偏移地址 例如: 8086CPU訪問地址為123C8H的內(nèi)存單元,地址加法器工作原理,不知道大家有沒有發(fā)現(xiàn)?這是一個(gè)糾結(jié)的問題,由段地址16引發(fā)的血案,“段

8、地址16”有一個(gè)更為常用的說法就是數(shù)據(jù)左移4位。(二進(jìn)制位),此時(shí)此刻,我們肯定會發(fā)現(xiàn)你的身后或許,由段地址16引發(fā)的血案2,我們通過觀察移位次數(shù)和各種形式數(shù)據(jù)的關(guān)系: (1)一個(gè)數(shù)據(jù)的二進(jìn)制形式左移1位,相當(dāng)于該數(shù)據(jù)乘以2; (2)一個(gè)數(shù)據(jù)的二進(jìn)制形式左移N位,相當(dāng)于該數(shù)據(jù)乘以2的N次方; (3)地址加法器如何完成段地址16的運(yùn)算? 以二進(jìn)制形式存放的段地址左移4位。,一個(gè)饅頭引發(fā)的分析,經(jīng)過進(jìn)一步的思考,我們可以看出: 一個(gè)數(shù)據(jù)的十六進(jìn)制形式左移1位,相當(dāng)于乘以16; 一個(gè)數(shù)據(jù)的十進(jìn)制形式左移1位,相當(dāng)于乘以10; 一個(gè)數(shù)據(jù)的X進(jìn)制形式左移1位,相當(dāng)于乘以X。,2.7 “段地址16+偏移地

9、址=物理地址”的本質(zhì)含義,兩個(gè)比喻說明: 說明“基礎(chǔ)地址+偏移地址 = 物理地址” 的思想:第一個(gè)比喻 說明“段地址16+偏移地址=物理地址”的思想:第二個(gè)比喻 8086CPU就是這樣一個(gè)只能提供兩張3位數(shù)據(jù)紙條的CPU。,第一個(gè)比喻,比如說,學(xué)校、體育館同在一條筆直的單行路上(學(xué)校位于路的起點(diǎn)0米處)。 讀者在學(xué)校,要去圖書館,問我那里的地址,我可以用幾種方式描述這個(gè)地址?,第一個(gè)比喻,(1)從學(xué)校走2826m到圖書館。這2826可以認(rèn)為是圖書館的物理地址。 (2)從學(xué)校走2000m到體育館,從體育館再走826m到圖書館。 第一個(gè)距離2000m是相對于起點(diǎn)的基礎(chǔ)地址; 第二個(gè)距離826m是將對于基礎(chǔ)地址的偏移地址。,Return,第二個(gè)

溫馨提示

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

最新文檔

評論

0/150

提交評論