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

下載本文檔

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

文檔簡(jiǎn)介

1、零基礎(chǔ)入門學(xué)習(xí)匯編語言作者:小甲魚第三章 寄存器(內(nèi)存訪問)不是目錄的目錄3.1 內(nèi)存中字的存儲(chǔ)3.2 DS和address3.3 字的傳送3.4 mov、add、sub指令3.5 數(shù)據(jù)段3.6 棧3.7 CPU提供的棧機(jī)制3.8 棧頂超界的問題3.9 push、pop指令3.10 棧段引言在第2章中,我們主要從 CPU 如何執(zhí)行指令的角度講解了8086CPU的邏輯結(jié)構(gòu)、形成物理地址的方法、相關(guān)的寄存器以及一些指令。這一章中,我們從訪問內(nèi)存的角度繼續(xù)學(xué)習(xí)幾個(gè)寄存器。3.1 內(nèi)存中字的存儲(chǔ)在0地址處開始存放20000(4E20H):注意:0號(hào)單元是低地址單元,1號(hào)單元是高地址單元。3.1 內(nèi)存中

2、字的存儲(chǔ)問題:(1)0地址單元中存放的字節(jié)型數(shù)據(jù)是多少?(2)0地址字單元中存放的字型數(shù)據(jù)是多少?(3)2地址字單元中存放的字節(jié)型數(shù)據(jù)是多少?3.1 內(nèi)存中字的存儲(chǔ)(4)2地址單元中存放的字型數(shù)據(jù)是多少?(5)1地址字單元中存放的字型數(shù)據(jù)是多少?結(jié)論3.1 內(nèi)存中字的存儲(chǔ)結(jié)論: 任何兩個(gè)地址連續(xù)的內(nèi)存單元,N號(hào)單元和 N+1號(hào)單元,可以將它們看成兩個(gè)內(nèi)存單元 ,也可以看成一個(gè)地址為N的字單元中的高位字節(jié)單元和低位字節(jié)單元。3.2 DS和addressCPU要讀取一個(gè)內(nèi)存單元的時(shí)候,必須先給出這個(gè)內(nèi)存單元的地址;在8086PC中,內(nèi)存地址由段地址和偏移地址組成。8086CPU中有一個(gè) DS寄存器

3、,通常用來存放要訪問的數(shù)據(jù)的段地址。例如3.2 DS和address例如:我們要讀取10000H單元的內(nèi)容可以用如下程序段進(jìn)行: mov bx,1000H mov ds,bx mov al,0上面三條指令將10000H(1000:0)中的數(shù)據(jù)讀到al中。3.2 DS和addressmov al,0已知的mov指令可完成的兩種傳送功能:(1)將數(shù)據(jù)直接送入寄存器;(2)將一個(gè)寄存器中的內(nèi)容送入另一個(gè)寄存器中。 除此之外,mov 指令 還可以將一個(gè)內(nèi)存單元中的內(nèi)容送入一個(gè)寄存器。Return3.2 DS和address從哪個(gè)內(nèi)存單元送到哪個(gè)寄存器中呢?mov指令的格式: mov 寄存器名,內(nèi)存單元

4、地址“”表示一個(gè)內(nèi)存單元, “”中的0表示內(nèi)存單元的偏移地址。那么內(nèi)存單元的段地址是多少呢?3.2 DS和address執(zhí)行指令時(shí),8086CPU自動(dòng)取DS中的數(shù)據(jù)為內(nèi)存單元的段地址。如何用mov指令從10000H中讀取數(shù)據(jù)?10000H表示為1000:0(段地址:偏移地址)將段地址1000H放入ds用mov al,0完成傳送(mov指令中的說明操作對(duì)象是一個(gè)內(nèi)存單元,中的0說明這個(gè)內(nèi)存單元的偏移地址是0,它的段地址默認(rèn)放在ds中)如何把1000H送入ds?3.2 DS和address如何把1000H送入ds?傳送指令 mov ax,1相似的方式 mov ds,1000H?8086CPU不支持

5、將數(shù)據(jù)直接送入段寄存器的操作,ds是一個(gè)段寄存器。 (硬件設(shè)計(jì)的問題)mov ds,1000H 是非法的。數(shù)據(jù)通用寄存器段寄存器3.2 DS和address問題: 寫幾條指令,將al中的數(shù)據(jù)送入內(nèi)存單元10000H?(思考后分析)分析問題本質(zhì): 怎樣將數(shù)據(jù)從寄存器送入內(nèi)存單元?結(jié)論:mov bx,1000H mov ds,bx mov 0,al (一種合理的回答)3.3 字的傳送因?yàn)?086CPU是16位結(jié)構(gòu),有16根數(shù)據(jù)線,所以,可以一次性傳送16位的數(shù)據(jù),也就是一次性傳送一個(gè)字。比如:3.3 字的傳送問題3.3:內(nèi)存中的情況如下圖,寫出下面指令執(zhí)行后寄存器ax,bx,cx中的值。思考后請(qǐng)看聽

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論