




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Itistimeforclass第3章教學(xué)內(nèi)容§3.1基本概念§3.2尋址方式§3.3指令系統(tǒng)重點:7種操作數(shù)尋址方式、各指令格式和應(yīng)用難點:尋址方式、各指令格式的使用方法§3.2尋址方式尋址方式—如何尋找內(nèi)存操作數(shù)。在8086中,地址是由兩部分組成:段的基地址:單元所在段的基地址(大部分情況是數(shù)據(jù)段寄存器DS中)段內(nèi)偏移量:此單元與段基地址的距離。段內(nèi)偏移量為適應(yīng)各種數(shù)據(jù)結(jié)構(gòu)的需要,可有幾個部分組成。不同尋址方式的構(gòu)成部分不同。即不同尋址方式實質(zhì)上是:構(gòu)成段內(nèi)的偏移量的方法不同。一、操作數(shù)尋址(一)立即尋址 (Immediateaddressing)(二)寄存器尋址方式(Registeraddressing)(三)直接尋址(Directaddressing)(四)寄存器間接尋址方式(Registerindirectaddressing)(五)寄存器相對尋址方式(Registerrelativeaddressing)或變址尋址(Indexaddressing)(六)基址加變址尋址方式(Basedindexedaddressing)(七)相對基址加變址尋址方式(Relativebasedindexedaddressing)(一)立即尋址(Immediateaddressing)方式:操作數(shù)直接存放在指令中,緊跟在操作碼之后。例: MOVAL,05H指令執(zhí)行后:(AL)=05H例: MOVAX,3064H指令執(zhí)行后:(AX)=3064H注解:1、立即數(shù)(Im)只能用于源操作數(shù)字段,不能用于目的操作數(shù)字段。2、立即數(shù)可以是8位或16位的。16位的立即數(shù)是高位字節(jié)放在高地址,低位字節(jié)放在低地址。3、此方式執(zhí)行時直接從隊列取立即數(shù),不另占總線周期,速度很快。4、經(jīng)常用于給寄存器或者存儲單元賦初值。(一)立即尋址(Immediateaddressing)(二)寄存器尋址方式(Registeraddressing)方式:操作數(shù)在寄存器中,指令中指定寄存器號。例:指令執(zhí)行前:(AX)=3064H (SS)=1234H
MOVSS,AX指令執(zhí)行后:(SS)=3064H(AX)保持不變。
指令執(zhí)行前:指令執(zhí)行后:注解:1、對于8位操作數(shù),寄存器R8可以是:AL,AH,BL,BH,CL,CH,DL,DH。
對于16位操作數(shù),寄存器R16可以是:
AX,BX,CX,DX,SI,DI,SP,BP。對于段寄存器SegR,可以是:SS、DS、CD、ES。2、這種尋址方式可以減少指令長度;因為操作數(shù)在寄存器中,不需要訪問存儲器,運算速度較高。3、常用于存、取寄存器中的數(shù)。(二)寄存器尋址方式(Registeraddressing)(三)直接尋址(Directaddressing)方式:操作數(shù)在存儲單元中,指令中給出地址偏移量disp例:MOVAX,[3100H](DS)=6000H,(63100H)=3050H則:(AX)=3050H注解:1、該方式中,偏移地址用[],區(qū)別于立即數(shù)。2、直接尋址方式隱含的段寄存器是DS,8086/8088允許段跨越,即允許使用CS、SS、ES作為段寄存器。3、允許用符號地址代替數(shù)值地址。
MOVAX,VALUE或MOVAX,[VALUE]VALUE—有效操作數(shù)單元的符號地址。如果VALUE在附加段中,則應(yīng)指定段跨越。MOVAX,ES:VALUE或MOVAX,ES:[VALUE]4、IBMPC機中規(guī)定雙操作數(shù)指令必須有一個操作數(shù)使用寄存器方式,這就是常常先要把一個變量送到寄存器去的原因。例:要處理某存放在存儲器里的變量,可以用直接尋址方式把變量先取到一個寄存器中再作處理。5、直接尋址方式適用于存、取存儲器中變量。(三)直接尋址(Directaddressing)(四)寄存器間接尋址方式方式:操作數(shù)在存儲器中,指令中由BP、BX、SI、DI寄存器之一給出偏移量。
例:MOVBX,[DI](DS)=6000H(DI)=2000HPA=62000H(62000H)=50A0H
(BX)=50A0H(四)寄存器間接尋址方式注解:1、若選擇SI、DI、BX作為間接尋址,操作數(shù)一般在現(xiàn)行數(shù)據(jù)段區(qū)域中,用(DS)作為段地址。即操作數(shù)物理地址為:物理地址PA=16D×(DS)+(BX)物理地址PA=16D×(DS)+(SI)物理地址PA=16D×(DS)+(DI)2、若選擇BP寄存器作為間接尋址,操作數(shù)在堆棧段區(qū)域中,用SS寄存器的內(nèi)容作為段地址。操作數(shù)物理地址:PA=16D×(SS)+(BP)例:MOV[BP],AX執(zhí)行前:(SS)=1000H,(BP)=3000H,(AX)=1234H執(zhí)行后:PA=13000H(13000H)=1234H圖見下頁3、用SI、DI、BX、BP作為間接尋址允許段跨越。指令中可以指定段跨越前綴來取得其他段中的數(shù)據(jù)。例:MOV
ES:[DI],AX
MOVDX,
DS:[BP]4、為避免與一般寄存器混淆,作為間接地址的寄存器必須加上[]。(四)寄存器間接尋址方式5、這種尋址方法可以用于表格處理和數(shù)組變量(五)寄存器相對尋址方式—變址尋址方式:存儲器操作數(shù),指令中由BX、BP、SI、DI之一和偏移量disp指明有效地址例:
MOVAX,COUNT[BP]或MOVAX,[COUNT+BP]或MOVAX,COUNT+[BP]COUNT為16位位移量。指令執(zhí)行前:(SS)=5000H, (BP)=3000H, COUNT=2040H, (AX)=1234H指令執(zhí)行后:EA=5040H PA=55040H (55040H)=5548H (AX)=5548H寄存器相對尋址方式MOVAX,COUNT[BP](五)寄存器相對尋址方式—變址尋址注解:1、操作數(shù)一般在內(nèi)存的數(shù)據(jù)段中,但允許段跨越。除有段跨越前綴之外,形成物理地址有二種方式:PA=16D×(DS)+(BX)(SI)(DI)+8位位移量16位位移量PA=16D×(SS)+(BP)+8位位移量16位位移量注解:2、這種尋址方式同樣用于表格處理。表格首地址COUNT,修改基址或變址寄存器來取得表格中的值。
例:某數(shù)據(jù)表的首地址為COUNT欲讀取表中第10個數(shù)據(jù),存放到(AL)中。第10個數(shù)據(jù)的有效地址:EA=COUNT+9 用:MOVSI,09H MOVAL,[SI+COUNT]3、相對變址尋址方式也可以使用段跨越前綴
MOVDL,ES:STRING[SI](五)寄存器相對尋址方式—變址尋址(六)基址加變址尋址方式方式:存儲器操作數(shù),指令指定的基址寄存器和變址寄存器的內(nèi)容之和是有效地址。例:
MOVAX,[BX][SI]或MOVAX,[BX+SI]執(zhí)行指令前: (DS)=3200H, (BX)=0456H, (SI)=1094H (334EAH)=4567H執(zhí)行指令后: EA=14EAH PA=334EAH (AX)=4567H基址加變址尋址方式MOVAX,[BX+SI](六)基址加變址尋址方式注解:1、除有段跨越前綴之外,形成物理地址有二種方式:PA=16D×(SS)+(BP)+(DI)(SI)PA=16D×(DS)+(BX)+(DI)(SI)2、這種尋址方式同樣適用于二維數(shù)組或表格處理。表格首地址在基址寄存器中,用變址寄存器來訪問數(shù)組中的元素。二個寄存器都能修改,所以比直接變址方式更靈。3、這種尋址方式允許段跨越。
前綴格式:MOVAX,ES:[BX][SI](七)相對基址加變址尋址方式方式:存儲器操作數(shù),指令指明的基址寄存器+變址寄存器的內(nèi)容+8位(或16位)位移量disp是物理地址。例:
MOVAX,MASK[BX][DI]或MOVAX,MASK[BX+DI]或MOVAX,[MASX+BX+DI]執(zhí)行指令前:(DS)=3000H(BX)=1346H(DI)=0500HMASK=1234H(32A7AH)=4050H執(zhí)行指令后:EA=2A7AHPA=32A7AH(AX)=4050H(七)相對基址加變址尋址方式注解:1、除有段跨越前綴之外,形成物理地址有二種方式:(DI)PA=16D×(DS)+(BX)+(SI)+8位位移量16位位移量(DI)PA=16D×(SS)+(BP)+(SI)+8位位移量16位位移量2、這種尋址方式為堆棧處理提供方便:(BP)棧頂(一般BP可指向棧頂)從棧頂?shù)綌?shù)組的首地址可以用位移量表示(MASK).變址寄存器(SI)或(DI)指向數(shù)組中某個元素。3、不允許將兩個基址寄存器或兩個變址寄存器組合在一起尋址。如:MOVAX,[BX][BP]×二、轉(zhuǎn)移地址尋址程序轉(zhuǎn)移指令(如:JMP、CALL)改變了程序的執(zhí)行順序,需要按照轉(zhuǎn)移地址修改IP、CS的內(nèi)容,轉(zhuǎn)移地址尋址方式涉及如何確定轉(zhuǎn)移的目標地址。段內(nèi)轉(zhuǎn)移只需改變(IP)兩種尋址方式:直接、間接。段間轉(zhuǎn)移改變(CS)(IP)兩種尋址方式:直接、間接。所以,轉(zhuǎn)移地址尋址有四類方式:(一)段內(nèi)直接尋址(Intrasegmentdirectaddressing)(二)段內(nèi)間接尋址(Intrasegmentindirectaddressing)(三)段間直接尋址(Intersegmentdirectaddressing)(四)段間間接尋址(Intersegmentinderectaddressing)(一)段內(nèi)直接尋址注解:1、相對尋址方式含義:EA(即轉(zhuǎn)向的有效地址)用相對于當(dāng)前(IP)值的位移量表示。2、位移量為8位,短程轉(zhuǎn)移,范圍是-128~+127,位移量為16位,近程轉(zhuǎn)移,范圍是-32768~+327673、這種尋址方式適用于條件轉(zhuǎn)移及無條轉(zhuǎn)移指令。當(dāng)用于條件轉(zhuǎn)移指令時,位移量只允許8位;用于無條件轉(zhuǎn)移指令時,位移量8位時稱為短跳轉(zhuǎn)。方式:轉(zhuǎn)向有效地址EA是當(dāng)前(IP)和指令中指定的8位或16位位移量之和。例如:JMPNEARPTRPROGIA;
(IP)新←(IP)當(dāng)前+16位位移量(一)段內(nèi)直接尋址(二)段內(nèi)間接尋址注解:1、內(nèi)容可以用數(shù)據(jù)尋址方式(除立即數(shù)尋址以外)的任何一種尋址方式取得。得到的轉(zhuǎn)向有效地址用來取代IP寄存器的內(nèi)容。2、這種尋址方式和以下二種段間尋址方式都不能用于條件轉(zhuǎn)移指令。條件轉(zhuǎn)移指令只能適用段內(nèi)直接尋址的8位位移量。方式:轉(zhuǎn)向有效地址是一個寄存器或一個存儲單元的內(nèi)容。例:設(shè)指令執(zhí)行前有:(DS)=2000H,(BX)=1256H,(SI)=528FH, TABLE=20A1H,(232F7H)=3280H,(264E5H)=2450H例1、JMPBX(寄存器尋址)指令執(zhí)行后:(IP)=1256H
例2、JMPWORDPTRTABLE[BX](相對間接寄存器尋址)指令執(zhí)行后:PA=16D(DS)+(BX)+TABLE=232F7H(IP)=3280H=(232F7H)例3、JMPWORDPTR[BX][SI](基址加變址尋址)指令執(zhí)行后:PA=16D(DS)+(BX)+(SI)=264E5H(IP)=2450H=(264E5H)說明:WORDPTR——操作符,指明指令對字操作,如果指令操作數(shù)已被定義為16位存儲器,則WORDPTR可以省去。(二)段內(nèi)間接尋址(三)段間直接尋址方式:指令中直接提供了轉(zhuǎn)向的目標段地址(CS)和偏移地址(IP)。例:JMPFARPTRCCCCCC
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 冷庫空調(diào)保養(yǎng)合同范例
- 農(nóng)村建房木工合同范本
- 參加比賽用車合同范本
- app系統(tǒng)使用合同范本
- 出口貨物提供合同范本
- 養(yǎng)生館雇傭合同范本
- 養(yǎng)生館顧客合同范本
- 《少年閏土》說課稿
- 《聲音是產(chǎn)生》說課稿
- 辦手續(xù)居間合同范本
- 看不見的森林
- 安全用梯專題培訓(xùn)
- 中小學(xué)教師專業(yè)標準解讀
- cw3-2500m萬能式斷路器說明書
- 新概念英語二第60課完整課件
- 大學(xué)生心理健康教育第四章大學(xué)生學(xué)習(xí)心理課件
- 企業(yè)實際控制人的協(xié)議書
- 風(fēng)電行業(yè)事故案例及風(fēng)電基礎(chǔ)施工方案
- 《城市軌道交通員工職業(yè)素養(yǎng)》課程標準
- 風(fēng)電場運行維護招標文件
- 水利水電工程監(jiān)理平行檢測表(部分)
評論
0/150
提交評論