《計(jì)算機(jī)接口技術(shù)及應(yīng)用》課件-5.5 尋址方式之寄存器間接尋址和寄存器相對(duì)尋址_第1頁(yè)
《計(jì)算機(jī)接口技術(shù)及應(yīng)用》課件-5.5 尋址方式之寄存器間接尋址和寄存器相對(duì)尋址_第2頁(yè)
《計(jì)算機(jī)接口技術(shù)及應(yīng)用》課件-5.5 尋址方式之寄存器間接尋址和寄存器相對(duì)尋址_第3頁(yè)
《計(jì)算機(jī)接口技術(shù)及應(yīng)用》課件-5.5 尋址方式之寄存器間接尋址和寄存器相對(duì)尋址_第4頁(yè)
《計(jì)算機(jī)接口技術(shù)及應(yīng)用》課件-5.5 尋址方式之寄存器間接尋址和寄存器相對(duì)尋址_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

微機(jī)原理及應(yīng)用第五章8086指令系統(tǒng)第五講尋址方式之寄存器間接尋址和寄存器相對(duì)尋址下面我們來(lái)學(xué)習(xí)尋址方式中的寄存器間接尋址和寄存器相對(duì)尋址尋址方式之寄存器間接尋址和寄存器相對(duì)尋址首先來(lái)看寄存器間接尋址,寄存器間接尋址還是尋址的內(nèi)存空間,我們將內(nèi)存空間的偏移地址存放在寄存器中,然后將寄存器放到方括號(hào)中,這樣得到的尋址方式叫寄存器間接尋址,放到方括號(hào)里的寄存器統(tǒng)稱為間址寄存器,間址寄存器只有四種寄存器間接尋址寄存器間接尋址尋址的內(nèi)存空間操作數(shù)的偏移地址(有效地址EA)放在寄存器中,且寄存器必須在方括號(hào)里方括號(hào)里的寄存器間址寄存器分別是BXBPSI和DI,其他八種寄存器是不能放到方括號(hào)里用作寄存器間接尋址的,既然寄存器被放入了方括號(hào)里,那么它就要有相應(yīng)的段基址,寄存器間接尋址間址寄存器BXBPSIDI其他八種寄存器不能放到方括號(hào)里用作寄存器間接尋址寄存器被放入方括號(hào)里要有相應(yīng)的段基址默認(rèn)情況下,BX,SI,DI的段基址是DS,BP對(duì)應(yīng)的段基址是SS,寄存器間接尋址間址寄存器BXBPSIDI其他八種寄存器不能放到方括號(hào)里用作寄存器間接尋址寄存器被放入方括號(hào)里要有相應(yīng)的段基址DSSS[DS]×10H+[BX]

[DS]×10H+[SI]

[DS]×10H+[DI]相應(yīng)的內(nèi)存單元的物理地址的計(jì)算公式是段基址后填0再跟寄存器的值相加寄存器間接尋址間址寄存器BXBPSIDI其他八種寄存器不能放到方括號(hào)里用作寄存器間接尋址寄存器被放入方括號(hào)里要有相應(yīng)的段基址DS[SS]×10H+[BP]SS了解了寄存器間接尋址的含義,我們來(lái)看一下下面幾條指令是否正確首先MOVax,[BX]這條指令判斷下面幾條指令是否正確MOVax,[BX]MOVCL,ES:[DI]MOVAX,[DX]MOVCL,[AX]BX作為間址寄存器被放在了方括號(hào)中,所以這條指令是寄存器間接尋址,BX作為4個(gè)間址寄存器之一是可以被放入方括號(hào)中的,所以這條指令是正確的,MOVax,[BX]寄存器間接尋址,BX作為4個(gè)間址寄存器之一是可以被放入方括號(hào)中?×判斷下面幾條指令是否正確再看下一條,MOVCL,ES:[DI],這里方括號(hào)前面的ES加冒號(hào)是段超越前綴,可以將內(nèi)存單元的段基址修改為ES,內(nèi)存單元的偏移地址是DI的內(nèi)容判斷下面幾條指令是否正確MOVax,[BX]MOVCL,ES:[DI]段超越前綴,將內(nèi)存單元的段基址改為ES,內(nèi)存單元的偏移地址是DI的內(nèi)容再來(lái)下一條,MOVAX,[DX],這條指令將DX放入了方括號(hào)里面是不對(duì)的,DX不是間址寄存器不能放入方括號(hào)中,所以這條指令是錯(cuò)誤的,判斷下面幾條指令是否正確MOVax,[BX]MOVCL,ES:[DI]MOVAX,[DX]DX不是間址寄存器不能放入方括號(hào)中下一條是MOVCL,[AX],同理,由于AX不是間址寄存器所以也不能放入方括號(hào)中,這條指令也是錯(cuò)誤的判斷下面幾條指令是否正確MOVax,[BX]MOVCL,ES:[DI]MOVAX,[DX]MOVCL,[AX]AX不是間址寄存器不能放入[]中下面來(lái)舉一個(gè)具體的例子,比如這條指令MOVax逗號(hào)SI,SI作為間址寄存器用來(lái)存放內(nèi)存單元的偏移地址,它的值是1200h,所以內(nèi)存單元的偏移地址是1200h,在默認(rèn)情況下,SI的段基址是DS,DS的值是6000h,那我們可以基于SI和DS的值,計(jì)算內(nèi)存單元的物理地址為61200hMOVAX,[SI]SI1200H60000H+1200H61200HDS6000H61200h這個(gè)單元存放的是44h,它的下一個(gè)單元61201h里面存放的是33h,通過move指令,將3344h這個(gè)數(shù)據(jù)傳送到了ax中,44H33H…數(shù)據(jù)段33H44HAX61200HMOVAX,[SI]61201H這條指令執(zhí)行完畢時(shí),Ax的內(nèi)容是3344h,其中33h存放到了ah中,44h存放到了al中44H33H…數(shù)據(jù)段33H44HAX61200HMOVAX,[SI]61201H指令執(zhí)行完畢時(shí),Ax的內(nèi)容是3344h33h存放到ah中,44h存放到al中再來(lái)看寄存器相對(duì)尋址,在寄存器間接尋址的基礎(chǔ)上再加上一個(gè)位移量就變成了寄存器相對(duì)尋址,所以在寄存器相對(duì)尋址中,內(nèi)存單元的偏移地址由間址寄存器的值加上八位或16位的位移量來(lái)獲得同樣,這里的間址寄存器只能時(shí)BX,BP和SI,DI當(dāng)間址寄存器為BX,SI和DI時(shí),默認(rèn)的段寄存器是ds當(dāng)間址寄存器為BP時(shí),默認(rèn)的段寄存器是ss寄存器相對(duì)尋址常用于存取表格或者一維數(shù)據(jù)中的內(nèi)容我們可以把位移量看成表格的起始地址,把間址寄存器的內(nèi)容看成查詢表格時(shí)的下標(biāo)或者把間址寄存器的內(nèi)容看成是表格的起始地址,把位移量看成查詢表格時(shí)的下標(biāo)寄存器相對(duì)尋址在寄存器間接尋址基礎(chǔ)再加一個(gè)位移量?jī)?nèi)存單元的偏移地址由間址寄存器的值加上八位或16位的位移量獲得寄存器相對(duì)尋址同樣,這里的間址寄存器只能時(shí)BX,BP和SI,DI,間址寄存器BXBPSIDI寄存器相對(duì)尋址當(dāng)間址寄存器為BX,SI和DI時(shí),默認(rèn)的段寄存器是ds,當(dāng)間址寄存器為BP時(shí),默認(rèn)的段寄存器是ssBXBPSIDIDSSS寄存器相對(duì)尋址MOVAX,[BX+8]MOVCX,TABLE[SI]MOVAX,[BP]VAR默認(rèn)段寄存器為SS寄存器相對(duì)尋址常用于存取表格或者一維數(shù)據(jù)中的內(nèi)容,我們可以把位移量看成表格的起始地址,把間址寄存器的內(nèi)容看成查詢表格時(shí)的下標(biāo)。寄存器相對(duì)尋址存取表格或一維數(shù)據(jù)中的內(nèi)容表格的起始地址查詢表格時(shí)的下標(biāo)位移量間址寄存器的內(nèi)容或者把間址寄存器的內(nèi)容看成是表格的起始地址,把位移量看成查詢表格時(shí)的下標(biāo)寄存器相對(duì)尋址存取表格或一維數(shù)據(jù)中的內(nèi)容表格的起始地址查詢表格時(shí)的下標(biāo)位移量間址寄存器的內(nèi)容位移量可以放到方括號(hào)中,用一個(gè)加號(hào)跟間址寄存器連接或者放到方括號(hào)的前邊或者后邊都可以位移量放方括號(hào)中,用一個(gè)加號(hào)跟間址寄存器連接放方括號(hào)的前邊或者后邊寄存器相對(duì)尋址下面我們?cè)倥e一個(gè)具體的例子,比如說moveax,data[bx]這條指令,在方括號(hào)的內(nèi)部時(shí)間址寄存器,在方括號(hào)的外面還有位移量data,所以我們知道這是寄存器相對(duì)尋址,此時(shí),我們要尋址的內(nèi)存單元的偏移地址就是data與bx之和,Bx的值是1000h,data是2A00h,那么我們可以計(jì)算出來(lái)內(nèi)存單元的偏移地址是3A00h,它默認(rèn)的段基址是ds,我們拿ds和偏移地址一起計(jì)算出物理地址是63A00h,這條指令中目標(biāo)操作數(shù)是AX,因此我們需要傳送16位的數(shù)據(jù)16位的數(shù)據(jù)來(lái)自于物理地址是63A00h的單元和63A01h的單元也就是5566h其中55h會(huì)存放到ah中,66h會(huì)存放到al中BX1000H60000H+1200H63A00HDS6000Hmoveax,data[bx]DATA2A00H2A00H這條指令中目標(biāo)操作數(shù)是AX,因此我們需要傳送16位的數(shù)據(jù)。16

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論