第4章(3)微機原理與接口技術(第三版)(王忠民)_第1頁
第4章(3)微機原理與接口技術(第三版)(王忠民)_第2頁
第4章(3)微機原理與接口技術(第三版)(王忠民)_第3頁
第4章(3)微機原理與接口技術(第三版)(王忠民)_第4頁
第4章(3)微機原理與接口技術(第三版)(王忠民)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微機原理與接口技術西安郵電大學計算機學院寧曉菊地址尋址方式概述12地址尋址方式:段內(nèi)直接尋址方式段內(nèi)間接尋址方式段間直接尋址方式段間間接尋址方式本講主要內(nèi)容第四章80x86指令系統(tǒng)(第三講)

地址的尋址方式其實是程序轉(zhuǎn)移地址的尋址方式,也就是找出程序轉(zhuǎn)移的地址號,而不是操作數(shù)。轉(zhuǎn)移地址可以在段內(nèi)(稱段內(nèi)轉(zhuǎn)移),也可以跨段(稱段間轉(zhuǎn)移)。尋求轉(zhuǎn)移地址的方法有四種。第四章80x86指令系統(tǒng)—地址尋址方式概述

1)段內(nèi)直接尋址轉(zhuǎn)移的地址是當前IP內(nèi)容和指令規(guī)定的8位或16位位移量之和。當位移量是8位時,稱為短程轉(zhuǎn)移,通常在目標地址前加操作符SHORT;位移量是16位時稱為近程轉(zhuǎn)移,在目標地址前加操作符NEARPTR。第四章80x86指令系統(tǒng)—段內(nèi)直接尋址方式

這種尋址方式適用于條件轉(zhuǎn)移或無條件轉(zhuǎn)移類指令。但條件轉(zhuǎn)移只有8位位移量的短程轉(zhuǎn)移。+當前IPEA有效轉(zhuǎn)移地址opcode位移量PM(CS)×10H+EA位移量第四章80x86指令系統(tǒng)—段內(nèi)直接尋址方式

例:JMPSHORTALPHA

本例指令是一無條件轉(zhuǎn)移指令,指令采用了段內(nèi)直接尋址方式。符號地址ALPHA代表位移量。設ALPHA=20H,開始執(zhí)行該指令時,(CS)=1500H,(IP)=3200H,于是該指令在存儲器中的起始地址為:15000H+3200H=18200HOP20H存儲器150001820018201182021822020H當前代碼段首之JMPSHORTALPHA轉(zhuǎn)移地址而轉(zhuǎn)移有效地址為:

EA=當前(IP)+ALPHA=3200H+20H=3220H轉(zhuǎn)移物理地址為:

PA=15000H+3220H=18220H執(zhí)行完這條指令后,IP的內(nèi)容變成3220H(不再是3200H),CPU將轉(zhuǎn)移到存儲單元地址18220H中去取指令來執(zhí)行。第四章80x86指令系統(tǒng)—段內(nèi)直接尋址方式

2)段內(nèi)間接尋址方式程序轉(zhuǎn)移的地址存放在寄存器或存儲器單元中。指令執(zhí)行使用寄存器或存儲器單元的內(nèi)容來更新IP的內(nèi)容。寄存器IPDMIP例如:JMPBXJMPWORDPTRADDRJMPWORDPTR[BX+ARRY]第四章80x86指令系統(tǒng)—段內(nèi)間接尋址方式

3)段間直接尋址方式這種尋址方式是指令碼中直接給出16位的段地址和16位的偏移地址用來更新當前的CS和IP內(nèi)容。opcodePM段地址偏移量IPCS第四章80x86指令系統(tǒng)—段間直接尋址方式

4)段間間接尋址方式這種尋址方式是由指令中給出的存儲器尋址方式求出存放轉(zhuǎn)移地址的四個連續(xù)存儲單元的地址。指令操作是將存儲器的前兩個單元的內(nèi)容送給IP,后兩個單元的內(nèi)容送給CS。DMCSIP段基址偏移量第四章80x86指令系統(tǒng)—段間間接尋址方式

例:JMPDWORDPTRDELTA[BX]

本例指令是無條件轉(zhuǎn)移指令,采用段間間接尋址方式。設當前(CS)=1000H,(IP)=0100H,(DS)=2000H,(BX)=3000H,DELTA=0040H,(23040H)=00H,(23041H)=50H,(23042H)=00H,(23043H)=30H,則間接存儲地址按寄存器相對尋址為:

(DS)左移4位+(BX)+DELTA=20000H+3000H+0040H

=23040H于是,可得轉(zhuǎn)移地址為:

3000H:5000H即轉(zhuǎn)移物理地址為:

PA=30000H+5000H=35000H

執(zhí)行本指令后,CS的內(nèi)容和IP的內(nèi)容分別變成3000H和5000H,程序轉(zhuǎn)移到存儲單元35000H開始執(zhí)行。第四章80x86指令系統(tǒng)—段間間接尋址方式

OPOP40H存儲器1000010100101011010230000當前代碼段首地址JMPDWORDPTRDELTA[BX]轉(zhuǎn)移代碼段首地址00H35000轉(zhuǎn)移地址10103…00H50H23040230412304200H2304330H20000數(shù)據(jù)段首地址…………IPCS5000H3000H指令執(zhí)行前:(CS)=1000H(IP)=0100H(BX)=3000HDELTA=0040H

溫馨提示

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

評論

0/150

提交評論