微機(jī)原理-尋址方式和指令編碼演示文檔
《微機(jī)原理-尋址方式和指令編碼演示文檔》由會(huì)員分享,可在線閱讀,更多相關(guān)《微機(jī)原理-尋址方式和指令編碼演示文檔(29頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
3 指令尋址方式與指令系統(tǒng),3-1 8086 的尋址方式(重點(diǎn)) 3-2 指令的機(jī)器碼表示方法 3-3 8086指令系統(tǒng)(重點(diǎn)) 一、數(shù)據(jù)傳送指令 二、算術(shù)運(yùn)算指令 三、邏輯運(yùn)算、移位、循環(huán)指令 四、串操作指令 五、控制轉(zhuǎn)移指令 六、處理器控制指令 七、指令的執(zhí)行時(shí)間和軟件延時(shí) 第03章小結(jié),主要內(nèi)容,3-1 8086的尋址方式,3-1 8086 的尋址方式,每條指令,都是對(duì)某些數(shù)據(jù)進(jìn)行一定的操作或運(yùn)算,(1) MOV AX,BX 執(zhí)行:把BX寄存器的內(nèi)容復(fù)制到AX寄存器中,指令的要素 指令執(zhí)行的何種操作——操作碼,如:MOV,ADD 指令執(zhí)行的哪個(gè)對(duì)象——操作數(shù),如:AX,BX,CL,CH 執(zhí)行前的數(shù)稱為源操作數(shù),執(zhí)行后的結(jié)果稱為目的操作數(shù) 兩個(gè)操作數(shù)用“,”分隔,左邊為目的,右邊為源,?,(2) ADD CL,21H 執(zhí)行:把常數(shù)21H加到CL寄存器中,指令尋址方式——確定指令中操作數(shù)的方法 每個(gè)操作數(shù)都有尋址方式,一條指令可有多種尋址方式,I/O接口,AB,CB,DB,存儲(chǔ)器,代碼段,數(shù)據(jù)段,堆棧段,擴(kuò)展段,,,19,15,3-1 8086 的尋址方式,數(shù)據(jù)存放地點(diǎn):寄存器,程序存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器,I/O接口,數(shù)據(jù)傳送指令 MOV 目的,源;目的?源 操作: 將源操作數(shù)的值復(fù)制到目的操作數(shù)中,原操作數(shù)保持不變 以MOV指令的操作數(shù)為例,說(shuō)明尋址方式,3-1 尋址方式——寄存器尋址,寄存器的內(nèi)容為操作數(shù) 8位寄存器:AH,AL,BH,BL,CH,CL,DH,DL 16位通用寄存器:AX,BX,CX,DX, 16位指針寄存器:SI,DI,BP,SP,IP 16位段寄存器: CS、DS、ES、SS 16為標(biāo)志寄存器:PSW 既能做源操作數(shù)又能做目的操作數(shù) 寄存器操作數(shù)執(zhí)行速度快,例: MOV DS,AX ;DS ? AX,,立即數(shù)是直接包含在指令代碼中的8位或16位的常數(shù),其值在程序運(yùn)行過(guò)程中不變,是軟件處理常數(shù)的最廣泛的方法 立即數(shù)是指令碼的一部分,緊跟在操作碼之后存放在程序存儲(chǔ)器(代碼段)中。執(zhí)行時(shí),EU從指令隊(duì)列中獲得該操作數(shù) 16位立即數(shù),按字?jǐn)?shù)據(jù)格式存放,即低字節(jié)存放在低地址單元中,高字節(jié)存放在高地址單元中 立即數(shù)只能做源操作數(shù),不能做目的 以A-F打頭的立即數(shù),前面加0,以區(qū)別其它字符 立即數(shù)尋址方式不需要計(jì)算存儲(chǔ)單元地址,執(zhí)行速度最快,3-1 尋址方式——立即數(shù)尋址,例:MOV AX, 1234H ; AX?1234H,16位,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,內(nèi)部暫存器,IP,ES,SS,DS,CS,輸入/輸出控制電路,,,,,,,執(zhí)行部分控制電路,,,,,,,,,,,1 2 3 4 5 6,∑,ALU,標(biāo)志寄存器,AH AL,BH BL,CH CL,DH DL,SP,BP,SI,DI,地址加法器,指令隊(duì)列緩沖器,20位,,16位,,8位,3-1 尋址方式——立即數(shù)尋址,,,,,,,1 2 3 4 5 6,34,12,OP,存儲(chǔ)器尋址方式的關(guān)鍵是確定操作數(shù)的邏輯地址。PC機(jī)中,段內(nèi)偏移地址被稱為有效地址EA 邏輯地址 = 段基址:有效地址EA 存儲(chǔ)器操作數(shù)的執(zhí)行速度較慢 EU計(jì)算16位有效地址并送BIU BIU確定段基址,計(jì)算20位物理地址 BIU讀取指定單元中操作數(shù)的值,送到EU中運(yùn)算 EA要用[ ]括起來(lái),[EA],以區(qū)分其它尋址方式,[ ] 有“取有效地址”的含義,3-1 尋址方式——存儲(chǔ)器操作數(shù)尋址,3-1 尋址方式——存儲(chǔ)器操作數(shù)尋址,段基址的值來(lái)自CS、DS、ES、SS,有兩種方法確定: 默認(rèn)段寄存器:有BP則為SS,其它均為DS 指定段寄存器:段超越符,DS:,ES:,SS:,CS:,EA有五種方法確定,對(duì)應(yīng)不同的存儲(chǔ)器尋址方式,在指令中以常數(shù)形式直接給出操作數(shù)的16位有效地址EA,EA作為指令碼的一部分,緊跟操作碼存放在代碼段中。 EA是用[ ]括起來(lái),以與立即數(shù)區(qū)分。 有效地址EA的存儲(chǔ)順序與16位立即數(shù)相同,低字節(jié)存放在低地址單元中,高字節(jié)存放在高地址單元中 EU從指令隊(duì)列中直接獲得EA送BIU。 段基址的默認(rèn)值是DS。,3-1 尋址方式——直接尋址,例: 設(shè) DS=5000H MOV AX,[4321H],AL,AH,,,,,,,,,,操作數(shù)物理地址:PA = DS × 16 + EA = 54321H 字?jǐn)?shù)據(jù),PA對(duì)應(yīng)單元內(nèi)容?AL, (PA+1)對(duì)應(yīng)單元內(nèi)容?AH,3-1 尋址方式——直接尋址,在匯編語(yǔ)言中,可以事先把一個(gè)存儲(chǔ)單元的有效地址定義為一個(gè)符號(hào),在程序中使用符號(hào)地址而不直接使用數(shù)值地址 定義字節(jié)數(shù)據(jù)用DB,定義字?jǐn)?shù)據(jù)用DW。,例: ARRAY1 DW 0506H MOV AX,ARRAY1 ;AX=0506H,對(duì)符號(hào)地址,可以不加[ ],等價(jià)于直接尋址。 MOV AX,ARRAY1 == MOV AX,[ARRAY1],3-1 尋址方式——符號(hào)地址,3-1 尋址方式——直接尋址,如果直接尋址的數(shù)據(jù)不在DS段中,則要在指令中使用段超越前綴指明段的名稱。 如在有效地址前用“ES: ”標(biāo)明對(duì)附加段的尋址。“:”是屬性修改運(yùn)算符,表示計(jì)算物理地址時(shí),不再使用缺省的DS,而改用ES。,例: MOV AL,ES:[3024H] ;PA= ES × 10H + 3024H MOV AL,[3024H] ;PA=DS ×10H + 3024H,有效地址EA為某個(gè)16位寄存器的內(nèi)容 8086只能用兩個(gè)基址寄存器BX、BP ,以及兩個(gè)變址寄存器SI、DI。,例:設(shè) AX=0102H,BX=2346H, DS=1000H,ES=2000H MOV AX,BX ;AX=2346H MOV AX,[BX] ;AX=3344H,1. 源操作數(shù)物理地址: PA = DS × 16 + EA = 10000H + 2346H = 12346H 2. 取物理地址為12346H的字?jǐn)?shù)據(jù)送AX中,即取(12346H)單元的內(nèi)容送AL中,(12347H)單元的內(nèi)容送到AH中。,3-1 尋址方式——寄存器間接尋址,有效地址EA是一個(gè)基址或變址寄存器的內(nèi)容與一個(gè)8位或16位的位移量之和 默認(rèn)段基址由寄存器決定,BP ? SS;BX、SI、DI ? DS 段超越前綴指定非缺省的段基址,例: MOV AX,[BX- 12H] ;EA=BX-12H,DS MOV AL,CNT [BP] ;EA=BP+CNT,SS MOV BX,ES: ARY[DI] ;EA=DI+ARY,ES,3-1 尋址方式——寄存器相對(duì)尋址,物理地址PA分兩步形成: 第1步EU計(jì)算有效地址EA。EA的計(jì)算是16位數(shù)據(jù)運(yùn)算,通過(guò)16位內(nèi)部總線傳送,超過(guò)16位的數(shù)據(jù)會(huì)自然丟失。 第2步BIU根據(jù)EA和段基址計(jì)算物理地址,這一步在地址加法器中完成。,例:設(shè)DS=2000H,BX=0AB00H,ARY=0F000H,例: MOV AL,[BX+12H] EA = BX + 12H = 0AB00H + 12H = 0AB12H PA = DS × 10H + EA = 20000H +0AB12H = 2AB12H,例: MOV AL,ARY[BX] EA = BX + ARY = 0AB00H + 0F000H = 1 9B00H,進(jìn)位,而EA只能取低16位,故EA=9B00H,進(jìn)位位自然丟失 PA=DS × 10H + EA = 20000H + 9B00H = 29B00H,3-1 尋址方式——寄存器相對(duì)尋址,有效地址EA是一個(gè)基址寄存器(BX,BP)與一個(gè)變址寄存器(SI,DI)的內(nèi)容之和 默認(rèn)段由基址寄存器決定,BP ? SS,BX ? DS 用段超越前綴指定非缺省的段基址 注意計(jì)算EA和PA時(shí)進(jìn)位的自然丟失,例: MOV AX,[BX +SI] ;EA = BX + SI,DS MOV AL, [BP] [DI] ;EA = BP + DI,SS MOV BX,ES: [BX] [DI] ;EA = BX + DI,ES,3-1 尋址方式——基址變址尋址,有效地址EA是一個(gè)基址寄存器(BX,BP)與一個(gè)變址寄存器(SI,DI)的內(nèi)容之和,再加上一個(gè)8位或16位的位移量 默認(rèn)段由基址寄存器決定,BP ? SS,BX ? DS 用段超越前綴指定非缺省的段基址 注意計(jì)算EA和PA時(shí)的自然丟失,例: MOV AX,[BX +SI+12H] ;EA = BX + SI + 12H,DS MOV AL,BUF[BP][DI] ;EA = BP + DI + BUF,SS MOV BX,ES:ARY[BX] [DI] ;EA = BX + DI +ARY,ES,3-1 尋址方式——相對(duì)基址變址尋址,1、隱含尋址 指令中不顯性指明操作數(shù),此類指令的操作數(shù)是預(yù)先規(guī)定的,稱為隱含尋址方式。,例: STC ;CF ? 1 DAA ;對(duì)AL中數(shù)據(jù)進(jìn)行十進(jìn)制加法調(diào)整 XLAT ;查表指令,3-1 尋址方式——隱含尋址,I/O端口:I/O接口電路中存放數(shù)據(jù)的地方 8086使用低16位地址信號(hào)尋址I/O端口,尋址范圍64kB空間。I/O端口尋址不使用地址加法器 訪問(wèn)I/O端口使用輸入IN、輸出OUT指令,M/IO=0;訪問(wèn)內(nèi)存用MOV指令,M/IO=1 直接尋址與間接尋址兩種方式,3-1 尋址方式——I/O端口尋址,例: ;端口直接尋址, PORT=8位端口號(hào) IN AX,PORT ;直接字輸入, OUT PORT,AX ; 直接字輸出 IN AL,PORT ; 直接字節(jié)輸入 OUT PORT,AL ; 直接字節(jié)輸出 ;端口間接尋址,DX=16位端口號(hào) IN AX,DX ;間接字輸入 OUT DX,AX ;間接字輸出 IN AL,DX ;間接字節(jié)輸入 OUT DX,AL ;間接字節(jié)輸出,I/O接口,AB,CB,DB,存儲(chǔ)器,直接尋址,寄存器間接,寄存器相對(duì),相對(duì)基址變址,,,19,15,操作數(shù)尋址方式,3-1 8086尋址方式,基址變址,直接端口尋址,間接端口尋址,立即數(shù)尋址,寄存器尋址,3-2 指令的機(jī)器碼表示方法,一、機(jī)器語(yǔ)言指令的編碼目的和特點(diǎn),機(jī)器語(yǔ)言指令 CPU只能識(shí)別和執(zhí)行二進(jìn)制機(jī)器碼指令。 機(jī)器語(yǔ)言指令的編碼特點(diǎn) 指令機(jī)器碼有單字節(jié)、雙字節(jié)、多字節(jié)之分,8086 CPU最長(zhǎng)指令有 6 字節(jié) 一般通過(guò)查表即可找到對(duì)應(yīng)的機(jī)器碼 分為“操作碼域”和“操作數(shù)域” 操作碼域:指令的第一個(gè)字節(jié)或者頭兩個(gè)字節(jié)表示指令的操作碼和尋址方式,稱為操作碼域 操作數(shù)域:操作碼域后面所跟的字節(jié)統(tǒng)稱為操作數(shù)域,3-2 指令的機(jī)器碼表示方法,1、操作碼OP: 指出執(zhí)行這條指令時(shí),CPU 要做什么操作。(OP)一般用指令的一個(gè)字節(jié)表示,有時(shí)由于用 8 位還不夠,常在指令的第二個(gè)字節(jié)中還可占有 3 位操作碼。 指令的第一字節(jié): w d 立即方式尋址時(shí),操作碼中用 S 位表示符號(hào)擴(kuò)展 s=1,將 8 位立即數(shù)擴(kuò)展成 16 位數(shù)時(shí),OP d/s w,,,,w=1,對(duì)字進(jìn)行操作 w=0,對(duì)字節(jié)進(jìn)行操作,d=1,寄存器作為目的操作數(shù) d=0,寄存器作為源操作數(shù),,3-2 指令的機(jī)器碼表示方法,2、操作數(shù)域: 操作碼域后面所跟的字節(jié)一般統(tǒng) 稱為操作數(shù)域。 ? 2 字節(jié)的有效地址(直接尋址); ? 1 字節(jié)或者 2 字節(jié)的位移量; ? 1 字節(jié)或者 2 字節(jié)的立即數(shù); ? 1 字節(jié)或者 2 字節(jié)的位移量, 1 字節(jié)或者 2 字節(jié) 的立即數(shù); ? 2 字節(jié)的位移量和 2 字節(jié)的段地址(只對(duì)段間接轉(zhuǎn)移而言)。,,單操作數(shù)指令 雙操作數(shù)指令,指令:,3-2 指令的機(jī)器碼表示方法,例: MOV [BX+2100H],0FA50H,兩字節(jié)操作碼,位移量低字節(jié),位移量高字節(jié),立即數(shù)低字節(jié),立即數(shù)高字節(jié),,低地址,高地址,3-2 指令的機(jī)器碼表示方法,指令地址 指令在存儲(chǔ)器中的地址,是指該指令第一個(gè)字節(jié)所在存儲(chǔ)單元的地址 其段基址由CS確定,段內(nèi)偏移地址由IP決定 每執(zhí)行完一條指令后,IP的值指向下一條指令的首地址。IP的值不是連續(xù)變化的,每次變化按照一條指令的字節(jié)數(shù)變化 CS : IP的改變是通過(guò)專門的指令——跳轉(zhuǎn)類指令來(lái)實(shí)現(xiàn),3-2 指令的機(jī)器碼表示方法,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
10 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 微機(jī) 原理 尋址 方式 指令 編碼 演示 文檔
鏈接地址:http://appdesigncorp.com/p-360061.html