《計算機接口技術(shù)及應(yīng)用》課件-5.7尋址方式之相對基址變址尋址和隱含尋址_第1頁
《計算機接口技術(shù)及應(yīng)用》課件-5.7尋址方式之相對基址變址尋址和隱含尋址_第2頁
《計算機接口技術(shù)及應(yīng)用》課件-5.7尋址方式之相對基址變址尋址和隱含尋址_第3頁
《計算機接口技術(shù)及應(yīng)用》課件-5.7尋址方式之相對基址變址尋址和隱含尋址_第4頁
《計算機接口技術(shù)及應(yīng)用》課件-5.7尋址方式之相對基址變址尋址和隱含尋址_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微機原理及應(yīng)用第五章8086指令系統(tǒng)下面我們來學(xué)習(xí)相對基址-變址尋址和隱含尋址,第七講

尋址方式之相對基址變址

尋址和隱含尋址首先來看相對基址-變址尋址,相對基址-變址尋址是在基址變址尋址的基礎(chǔ)上再加上一個相對位移量,其他的注意事項跟基址-變址尋址是相同的尋址方式之相對基址變址尋址和隱含尋址相對基址相對位移量變址尋址兩者相同相對位移量比如說兩個基址和兩個變址不能同時出現(xiàn)在指令中相對基址相對基址相對基址變址尋址變址尋址變址尋址不能同時出現(xiàn)在獲取段基址的時候主要看基址寄存器,如果基址寄存器是BX的話,那么默認(rèn)的段基址是DS,[DS]×10H+[BX]+[SI/DI]+8/16位位移量[DS]×10H+[BX]+[SI/DI]+8/16位位移量基址寄存器段基址如果基址寄存器是BP的話,那么默認(rèn)的段基址是SS[DS]×10H+[BX]+[SI/DI]+8/16位位移量[DS]×10H+[BX]+[SI/DI]+8/16位位移量[SS]×10H+[BP]+[SI/DI]+8/16位位移量基址寄存器基址寄存器段基址段基址在計算物理地址的時候,要注意,偏移量的成分除了基址和變址以外,還要加上位移量[DS]×10H+[BX]+[SI/DI]+8/16位位移量[SS]×10H+[BP]+[SI/DI]+8/16位位移量基址寄存器基址寄存器段基址段基址

偏移量成分:除基址和變址外,加上位移量位移量在指令中的位置比較靈活,它可以放到基址和變址寄存器的方括號的前面,也可以放到兩個方括號的中間,或者是后,還可以放到方括號的內(nèi)部,用加號跟基址或變址寄存器連接MOVAX,BASE[SI][BX]MOVAX,[BX+BASE][SI]MOVAX,[BX+SI+BASE]MOVAX,[BX]BASE[SI]MOVAX,[BX+SI]BASEBASE為符號地址基址寄存器變址寄存器位移量操作碼指令例題下面來看具體的例子比如這條指令moveax,data[bx][di]這里有兩個方括號,一個方括號中BX是基址寄存器,另一個方括號中di是變址寄存器,方括號外的data是偏移量,所以這條指令是相對基址變址尋址MOVAX,DATA[BX][DI]若[DS]=8000H,[BX]=2000H,[DI]=1000H,DATA=200H指令執(zhí)行后:[AH]

[83201H],[AL]

[83200H]基址寄存器變址寄存器偏移量待訪問的內(nèi)存單元的偏移量是由bx加di再加上偏移量data共同構(gòu)成的,bx是2000h,di是1000h,data是200h,它的偏移地址就是3200h例題MOVAX,DATA[BX][DI]若[DS]=8000H,[BX]=2000H,[DI]=1000H,DATA=200H指令執(zhí)行后:[AH]

[83201H],[AL]

[83200H]偏移地址由于基礎(chǔ)寄存器是bx,所有默認(rèn)的段基址是dsds的值是8000h8000HDS83200H

+

2000H2000HBX80000H1000HDI1000H200HDATA0200H例題MOVAX,DATA[BX][DI]若[DS]=8000H,[BX]=2000H,[DI]=1000H,DATA=200H指令執(zhí)行后:[AH]

[83201H],[AL]

[83200H]基礎(chǔ)寄存器段基址我們可以計算出內(nèi)存單元的物理地址是83200h,由于我們要向ax傳輸數(shù)據(jù),所以要選擇兩個連續(xù)的內(nèi)存單元就是83200h和83201h例題物理地址8000HDS83200H

+

2000H2000HBX80000H1000HDI1000H200HDATA0200HMOV操作碼代碼段…DDHCCH數(shù)據(jù)段AHALAX83200H83201H……MOVAX,DATA[BX][DI]若[DS]=8000H,[BX]=2000H,[DI]=1000H,DATA=200H指令執(zhí)行后:[AH]

[83201H],[AL]

[83200H]將他們的內(nèi)容分別存放到ax中,其中83201h的內(nèi)容存放到AH中83200h的內(nèi)容存放到al中例題8000HDS83200H

+

2000H2000HBX80000H1000HDI1000H200HDATA0200HMOV操作碼代碼段…DDHCCH數(shù)據(jù)段AHALAX83200H83201H……MOVAX,DATA[BX][DI]若[DS]=8000H,[BX]=2000H,[DI]=1000H,DATA=200H指令執(zhí)行后:[AH]

[83201H],[AL]

[83200H]最后一種尋址方式叫做隱含尋址隱含的意思就是指令中并沒有顯示的指明操作數(shù)是誰,隱含尋址指令操作數(shù)是隱含的,指令中未指明比如這條指令中,MUL是乘法指令的操作碼,它的功能是計算兩個數(shù)的乘法,但是,它的后面只給出了一個操作數(shù)bl例題MULBL乘法指令操作碼功能:計算兩個數(shù)的乘法另一個操作數(shù)al被隱含掉了,乘積ax也被隱含掉了所以當(dāng)你看到MUL的時候,要知道還有一個操作數(shù)的AL,乘積被存放在ax中例題MULBLAL×AX指令隱含被乘數(shù)AL及乘積AX例題類似的指令還有除法指令DIV,擴展指令CBW和串指令MOVS等,他們都會隱含一些操作數(shù),這些被隱含掉的操作數(shù)在指令中不會指明,所以需要同學(xué)們記住MULBL除法指令DIV擴展指令CBW串指令MOVS

注意:被隱含的操作數(shù)在指令中不會指明下面我們對尋址方式進(jìn)行小結(jié),首先,指令是由操作碼和操作數(shù)共同構(gòu)成的,取得操作數(shù)的方式被稱為尋址方式指令是由操作碼和操作數(shù)構(gòu)成取得操作數(shù)的方式稱為尋址方式尋址方式包含:立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、寄存器相對尋址、基址-變址尋址、基址-變址相對尋址、隱含尋址操作碼操作數(shù)指令取得操作數(shù)的方式被稱為尋址方式指令是由操作碼和操作數(shù)構(gòu)成取得操作數(shù)的方式稱為尋址方式尋址方式包含:立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、寄存器相對尋址、基址-變址尋址、基址-變址相對尋址、隱含尋址操作數(shù)尋址方式一共包括八種,立即尋址,直接尋址和寄存器尋址,立即尋址直接尋址寄存器尋址,以及在此基礎(chǔ)上進(jìn)行的一些變形,比如說寄存器間接尋址,寄存器相對尋址機制,基址變址尋址,相對基址變址尋址和隱含尋址,立即尋址寄存器尋址基址變址尋址寄存器間接尋址直接尋址寄存器相對尋址相對基址變址尋址隱含尋址我們可以通過操作數(shù)的分類來進(jìn)行區(qū)分首先,有立即數(shù)操作數(shù),那我們就有立即尋址,然后,有寄存器操作數(shù),相應(yīng)的就有寄存器尋址立即數(shù)操作數(shù)立即尋址寄存器操作數(shù)寄存器尋址第三種是存儲器操作數(shù),這種情況對應(yīng)的尋址方式比較多如果直接把偏移量的數(shù)值用常數(shù)的形式寫到了方括號中,這種尋址方式就是直接尋址存儲器操作數(shù)直接尋址:偏移量的數(shù)值用常數(shù)的形式寫方括號中如果先把偏移量放到了寄存器中,再把寄存器放到方括號中,這種就是寄存器間接尋址存儲器操作數(shù)間接尋址:偏移量放寄存器中,再把寄存器放方括號中()在此基礎(chǔ)上還有一個位移量的話,就是寄存器相對尋址

能夠被放在方括號中的寄存器只有四種,分別是BXBP和SIDI,他們被統(tǒng)稱為間址寄存器寄存器相對尋址BXBPSIDI間址寄存器存儲器操作數(shù)()BXBPSIDI間址寄存器又可以細(xì)分成兩類,一類是基址寄存器,另一類是變址寄存器,其中bx,bp是基址寄存器,SIdi是變址寄存器間址寄存器基址寄存器BX、BP變址寄存器SI、DI當(dāng)指令中有一個基址寄存器和一個變址寄存器這種組合出現(xiàn)的時候呢,它的尋址方式叫做基址變址尋址,基址變址尋址基址寄存器變址寄存器在基址變址尋址的基礎(chǔ)上,還可以再增加一個位移量這種尋址方式叫做基址變址相對尋址基址變址尋址位移量基址變址相對尋址基址寄存器變址寄存器如果指令中有一些操作數(shù)沒有顯示的表示,而是用隱含的方式給出的話,這種就是所隱含尋址操作數(shù)沒有顯示表示隱含尋址用隱含方式給出下面我們再用這個表格總結(jié)一下,首先寄存器間接尋址中,方括號內(nèi)只有一個寄存器,而且只能是bxbpsi和di其中之一小結(jié)尋址方式指令操作數(shù)形式寄存器間接只有一個寄存器(BX/BP/SI/DI之一)寄存器相對一個寄存器加上位移量基址-變址兩個不同類別的寄存器相對基址-變址兩個不同類別的寄存器加上位移量寄存器相對尋址是在寄存器間接尋址的基礎(chǔ)上又加上了一個位移量,基址變址尋址是由基址寄存器的值加上變址寄存器的值構(gòu)成的,所以指令中會出現(xiàn)兩個寄存器,但是只能是一個基址寄存器一個變址寄存器小結(jié)尋址方式指令操作數(shù)形式寄存器間接只有一個寄存器(BX/BP/SI/DI之一)寄存器相對一個寄存器加上位移量基址-變址兩個不同類別的寄存器相對基址-變址兩個不同類別的寄存器加上位移量基址

溫馨提示

  • 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

提交評論