內(nèi)存地址和內(nèi)存內(nèi)容的關(guān)系_第1頁
內(nèi)存地址和內(nèi)存內(nèi)容的關(guān)系_第2頁
內(nèi)存地址和內(nèi)存內(nèi)容的關(guān)系_第3頁
內(nèi)存地址和內(nèi)存內(nèi)容的關(guān)系_第4頁
內(nèi)存地址和內(nèi)存內(nèi)容的關(guān)系_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、匯編語言匯編語言理解理解8086內(nèi)存地址空間內(nèi)存地址空間主講人:王馳主講人:王馳匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容n內(nèi)存地址空間是一個抽象的概念。n就像你家的門牌號。比如門牌號是100。人家就知道到門牌號100的地方去找你。而內(nèi)存就像你家的房子,是物理上存在的,你住在你家的房子里匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容n程序加載到內(nèi)存地址空間是一個籠統(tǒng)的概念,意思就是你(可以認(rèn)為是數(shù)據(jù))住到你家(門牌號為100的地方)了。而在物理上,數(shù)據(jù)是存放于物理地址中的,就像你住在你家的房子里。n地址空間不是物理上存在的。只是對地址的描述(就像門牌的概念)。數(shù)據(jù)是存在內(nèi)存中的。匯編匯

2、編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容n內(nèi)存地址空間是一個抽象的概念。n就像你家的門牌號。比如門牌號是100。人家就知道到門牌號100的地方去找你。而內(nèi)存就像你家的房子,是物理上存在的,你住在你家的房子里匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容n存儲單元地址 :8086系統(tǒng)中,為了標(biāo)識和存取每一個存儲單元,給每個存儲單元規(guī)定一個編號,這就是存儲單元地址 n存儲單元的內(nèi)容 :一個存儲單元中存放的信息稱為該存儲單元的內(nèi)容。n8086系統(tǒng)中一個存儲單元可存放一個字節(jié)數(shù)據(jù)。 n從圖可看到,地址為34560H的存儲單元中的內(nèi)容是34H;n而地址為34561H的字節(jié)存儲單元中的內(nèi)容是12H。匯

3、編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容n8086CPU的地址線是20位的,存儲器的物理地址是20位,而8086CPU中的寄存器都是16位的。n那么如何用16位寄存器來表達(dá)20位物理地址信息?匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容n思考:為什么8086CPU的地址線設(shè)計為20位(或內(nèi)存單元的物理地址為什么設(shè)計成20位?)?如果設(shè)計成16位(和寄存器的寬度一樣),內(nèi)存訪問的地址表達(dá)就簡單了。請問設(shè)計者這樣設(shè)計的優(yōu)點是?n可以擴(kuò)大CPU的訪存空間。 220=1024KB, 216=64KB匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容n問題解決方法1:將存儲器分成若干段,對某一單

4、元的地址用段地址和相對于段地址的偏移量(偏移地址)綜合表示。n這種方法類似于電影院里對座位的編號,這種分段表示可有效縮減地址的長度。匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容這樣上圖中第一個標(biāo)注單元的地址為:段地址為:00000000000000000000偏移量(或偏移地址)為: 01它的物理地址為: 段地址+偏移量即:000000000000000000001匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容這樣上圖中第二個標(biāo)注單元的地址為:段地址為:00001111111111110000偏移量(或偏移地址)為: 10它的物理地址為:

5、段地址+偏移量即:00001111111111110010匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容n-邏輯地址 (2個16)是程序中使用的地址,它由段基址和段內(nèi)偏移值所組成,段基址與段內(nèi)偏移值都為16位的二進(jìn)制數(shù)。n段地址:段起始地址的高16位(DS)n偏移地址:段內(nèi)相對于段起始地址的偏移值(16位)(有效地址EA)匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容-物理地址 (1個20)也叫實際地址或絕對地址,是CPU訪問存儲器時實際使用的地址,為20位地址。匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容小結(jié):(1)在1M字節(jié)的存儲器里

6、,每一個單元都有一個唯一的20位地址,稱為該單元的物理地址。CPU訪問存儲器時,必須先確定要訪問的存儲單元的物理地址才能取得(或存入)該單元的內(nèi)容。匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容(2)根據(jù)要求可把1M字節(jié)地址空間劃成若干邏輯段。每個邏輯段必須滿足兩個條件:一是邏輯段的起始地址(簡稱段首址)必須是16的倍數(shù)(即末尾4位是0);二是邏輯段的最大長度為64K。匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容(3)20位物理地址由16位段地址和16位偏移地址組成。n段地址是每一段的起始地址,其低4位一定是0,這樣就可以規(guī)定段地址只取段起始地址的高16位來表示。n偏移地址是指在段內(nèi)相對

7、于段起始地址的偏移值。匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容n段寄存器段寄存器(CS、DS、SS、ES、FS、GS)存放段地址存放段地址,確定一個段的的起始確定一個段的的起始地址地址.n用途各不相同:n代碼段(CS):存放當(dāng)前正在運(yùn)行的程序n數(shù)據(jù)段(DS):存放當(dāng)前運(yùn)行程序所用的數(shù)據(jù) ,或串處理指令中的源操作數(shù)匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容n堆棧段(SS):定義堆棧(后進(jìn)先出)的所在區(qū)域n附加段(ES):附加的數(shù)據(jù)區(qū),或串處理指令中的目的操作數(shù)n各段在存儲器中的分配:由操作系統(tǒng)負(fù)責(zé)負(fù)責(zé),但需要時也可指定.匯編匯編存儲單元的地址和內(nèi)容存儲單元的地址和內(nèi)容匯編匯編存儲單元的地址和內(nèi)容存儲單元的

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論