微機(jī)原理第5章5.1尋址方式.ppt
《微機(jī)原理第5章5.1尋址方式.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《微機(jī)原理第5章5.1尋址方式.ppt(31頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第5章8086/8088指令系統(tǒng)5.1指令格式與尋址方式,教學(xué)重點(diǎn),第5章是本課程的一個(gè)關(guān)鍵內(nèi)容,是程序設(shè)計(jì)的基礎(chǔ)基礎(chǔ)是掌握寄存器組難點(diǎn)是各種尋址方式重點(diǎn)是掌握8086常用指令的功能及應(yīng)用,什么是指令系統(tǒng),指令系統(tǒng)就是CPU所能執(zhí)行的各種不同類型的指令總和,也就是這臺(tái)計(jì)算機(jī)所能執(zhí)行的全部操作每種計(jì)算機(jī)都有它支持的指令集合16位8086/8088指令系統(tǒng)是Intel80 x86系列微處理器指令系統(tǒng)的基礎(chǔ),5.1.1指令格式,指令由操作碼字段和操作數(shù)字段兩部分組成操作碼說明計(jì)算機(jī)要執(zhí)行哪種操作,如傳送、運(yùn)算、移位、跳轉(zhuǎn)等操作,它是指令中不可缺少的組成部分操作數(shù)是指令執(zhí)行的參與者,即各種操作的對(duì)象有些指令不需要操作數(shù),通常的指令都有一個(gè)或兩個(gè)操作數(shù)。,,;注釋,指令的操作碼和操作數(shù),每種指令的操作碼:用一個(gè)唯一的助記符表示(指令功能的英文縮寫)對(duì)應(yīng)著機(jī)器指令的一個(gè)二進(jìn)制編碼指令中的操作數(shù):立即數(shù)寄存器操作數(shù)內(nèi)存操作數(shù),5.1.1指令格式,操作碼操作數(shù)1,操作數(shù)2;注釋操作數(shù)2,稱為源操作數(shù),它表示參與指令操作的一個(gè)對(duì)象操作數(shù)1,稱為目的操作數(shù),它不僅可以作為指令操作的一個(gè)對(duì)象,還可以用來存放指令操作的結(jié)果分號(hào)后的內(nèi)容是對(duì)指令的解釋,5.1.1指令格式,示例:MOVBX,AX,源操作數(shù),目的操作數(shù),,BX,,AX,,被傳送的數(shù)據(jù),5.1.2尋址方式,指令系統(tǒng)設(shè)計(jì)了多種操作數(shù)的來源尋找操作數(shù)的過程就是操作數(shù)的尋址操作數(shù)的三種不同表現(xiàn)形式:立即數(shù)、寄存器操作數(shù)和內(nèi)存操作數(shù)。尋址方式也可以分為三大類:立即數(shù)尋址寄存器尋址存儲(chǔ)器尋址,1、立即數(shù)尋址,操作數(shù)是以立即數(shù)的形式出現(xiàn)。操作數(shù)直接包含在指令中,它緊跟在操作碼之后,作為指令的一部分存放在代碼段里。這種操作數(shù)被稱為立即數(shù)imm它可以是8位數(shù)值i8(00H~FFH)也可以是16位數(shù)值i16(0000H~FFFFH)立即數(shù)尋址方式常用來給寄存器賦值,一、立即數(shù)尋址,【例5.1】MOVCL,100;將十進(jìn)制數(shù)100(64H)傳送到CL中MOVAX,1200H;將12H和00H分別傳送到AX的高字節(jié)和低字節(jié)MOVAL,‘A’;將字母A的ASCII碼41H傳送到AL,注意:立即數(shù)只能作為源操作數(shù),不能作為目的操作數(shù)。,二、寄存器尋址,操作數(shù)存放在CPU的內(nèi)部寄存器reg中,寄存器名由指令給出,可以是:8位寄存器r8:AH、AL、BH、BL、CH、CL、DH、DL16位寄存器r16:AX、BX、CX、DX、SI、DI、BP、SP4個(gè)段寄存器sreg:CS、DS、SS、ES操作數(shù)存放在CPU內(nèi)部,不需要通過總線操作訪問存儲(chǔ)器,所以指令執(zhí)行的速度也較快。,二、寄存器尋址,【例5.2】MOVBL,12H;BL=12H,源操作數(shù)為立即數(shù)尋址,目的操作數(shù)為寄存器尋址MOVAH,BL;AH=12H,源操作數(shù)和目的操作數(shù)均為寄存器尋址,注意:源操作數(shù)與目的操作數(shù)應(yīng)該位數(shù)相同。,三、存儲(chǔ)器尋址,存儲(chǔ)器尋址方式下,操作數(shù)存放在CPU外部的存儲(chǔ)器中。尋找存儲(chǔ)器中的操作數(shù),首先要獲得該存儲(chǔ)單元的物理地址物理地址=段地址16+偏移地址(有效地址EA)段地址通常在默認(rèn)的段寄存器中(使用段超越前綴除外)。偏移地址(有效地址EA)在操作數(shù)字段。,求取EA是關(guān)鍵,有效地址EA可以用寄存器的值或位移量來表示。微處理器內(nèi)部有4個(gè)可以存放地址信息的寄存器。BX和BP(基址寄存器),SI和DI(變址寄存器)位移量的范圍:-32768(8000H)~+32767(7FFFH)。,三、存儲(chǔ)器尋址,根據(jù)操作數(shù)字段EA的不同表示方法,存儲(chǔ)器尋址方式可以分為5類:1、直接尋址2、寄存器間接尋址3、基址變址尋址4、寄存器相對(duì)尋址5、相對(duì)基址加變址尋址,三、存儲(chǔ)器尋址,注:i8/i16為8位/16位的位移量。[]為尋址內(nèi)存操作數(shù)。,表5.1存儲(chǔ)器尋址,1、直接尋址,EA在操作數(shù)字段直接給出EA=i8/i16物理地址=DS16+EA(默認(rèn)的段地址在DS段寄存器,可使用段超越前綴改變),【例5.3】,已知DS=1000H,內(nèi)存中[11200H]和[11201H]單元的內(nèi)容分別為34H和12H。執(zhí)行指令MOVAX,[1200H],問源操作數(shù)的尋址方式及指令執(zhí)行后AX寄存器的值。解:直接尋址。EA=1200H,DS=1000H物理地址=DS16+EA=11200H。故將[11200H]和[11201H]單元的數(shù)據(jù)分別送AL和AH,AX=1234H。,【例5.4】,VALUEDW1234H;設(shè)VALUE的偏移地址為1200HMOVAX,VALUEMOVAX,[VALUE]MOVAX,[1200H]說明:指令執(zhí)行完AX=1234H3條MOV指令等價(jià),源操作數(shù)均為存儲(chǔ)器尋址中的直接尋址,【例5.5】,CONSTEQU5;將5定義為常量CONSTMOVBX,CONST;將0005H傳送到BX說明:在這條MOV指令中,源操作數(shù)是一個(gè)定義好的常量名,該操作數(shù)的尋址方式為立即數(shù)尋址。,2、寄存器間接尋址,EA保存在寄存器中:(1)當(dāng)EA保存在BX、SI或DI中時(shí),數(shù)據(jù)默認(rèn)存放在數(shù)據(jù)段DS中??墒褂枚纬角熬Y改變。EA=BX/SI/DI物理地址=DS16+EA(2)當(dāng)EA保存在BP中,數(shù)據(jù)默認(rèn)存放在堆棧段SS中。EA=BP物理地址=SS16+EA,【例5.6】,已知SS=1000H,BP=1200H,內(nèi)存中[11200H]和[11201H]單元的內(nèi)容分別為34H和12H。執(zhí)行指令MOVAX,[BP],問源操作數(shù)的尋址方式,指令執(zhí)行后AX寄存器的值。解:寄存器間接尋址。EA=BP=1200H,SS=1000H物理地址=SS16+EA=11200H。故將[11200H]和[11201H]單元的數(shù)據(jù)分別送AL和AH,AX=1234H。,3、基址加變址尋址,有效地址由基址寄存器(BX或BP)的內(nèi)容加上變址寄存器(SI或DI)的內(nèi)容構(gòu)成。段地址對(duì)應(yīng)BX基址寄存器默認(rèn)是DS。EA=BX+SI/DI物理地址=DS16+EA段地址對(duì)應(yīng)BP基址寄存器默認(rèn)是SS。EA=BP+SI/DI物理地址=SS16+EA,【例5.7】,MOVAX,[BX+SI];AX←DS:[BX+SI]MOVAX,[BP+SI];AX←SS:[BP+DI]MOVAX,ES:[BP+DI];AX←ES:[BP+DI],4、寄存器相對(duì)尋址,EA為寄存器的值與位移量的和段地址對(duì)應(yīng)BX/SI/DI寄存器默認(rèn)是DS,對(duì)應(yīng)BP寄存器默認(rèn)是SS;可用段超越前綴改變。EA=BX/BP/SI/DI+i8/i16物理地址=DS16+EA物理地址=SS16+EA(使用基址寄存器BP),【例5.8】,MOVAX,[SI+2];默認(rèn)數(shù)據(jù)段MOVAX,[DI-2];默認(rèn)數(shù)據(jù)段MOVAX,[BP+FFFFH];默認(rèn)堆棧段MOVAX,[SI+VALUE];默認(rèn)數(shù)據(jù)段,VALUE為變量MOVAX,VALUE[SI];默認(rèn)數(shù)據(jù)段說明:位移量可為正,也可為負(fù)。位移量可以用變量名表示,其值是變量的偏移地址。位移量可以寫在[]內(nèi),也可以寫在[]前面。,5、相對(duì)基址加變址尋址,有效地址是基址寄存器(BX/BP)、變址寄存器(SI/DI)與一個(gè)8位或16位位移量之和。段地址對(duì)應(yīng)BX基址寄存器默認(rèn)是DS,對(duì)應(yīng)BP基址寄存器默認(rèn)是SS;可用段超越前綴改變。EA=BX/BP+SI/DI+i8/i16物理地址=DS16+EA物理地址=SS16+EA(使用基址寄存器BP時(shí)),【例5.9】,MOVAX,[BX+SI+10H]MOVAX,10H[BX][SI];AX←DS:[BX+SI+10H],存儲(chǔ)器尋址總結(jié),EA=[BX/BP]+[SI/DI]+16/8位偏移量(1)(2)(3)EA中只要出現(xiàn)BP,其約定段為SS;不出現(xiàn)BP,約定段為DS,段超越除外;書寫格式:MOVAX,5[BX][SI][BX+SI+5]5[BX+SI]段超越前綴格式:MOVAL,CS:[2000H]CS:MOVAL,[2000H],尋址方式課堂練習(xí),說明下列指令中源操作數(shù)的尋址方式?如果BX=2000H,DI=40H,給出DX的值或有效地址EA的值。(1)movdx,[1234h](2)movdx,1234h(3)movdx,bx(4)movdx,[bx](5)movdx,[bx+1234h](6)movdx,[bx+di](7)movdx,[bx+di+1234h],參考答案,參考答案,(1)movdx,[1234h](2)movdx,1234h(3)movdx,bx(4)movdx,[bx](5)movdx,[bx+1234h](6)movdx,[bx+di](7)movdx,[bx+di+1234h],;直接尋址EA=1234H;立即數(shù)尋址DX=1234H;寄存器尋址DX=2000H;寄存器間接尋址EA=2000H;寄存器相對(duì)尋址EA=3234H;基址加變址尋址EA=2040H;相對(duì)基址加變址尋址EA=3274H,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 微機(jī) 原理 5.1 尋址 方式
鏈接地址:http://m.jqnhouse.com/p-11533238.html