第3a章 16位和32位微處理器的指令系統(tǒng)_第1頁
第3a章 16位和32位微處理器的指令系統(tǒng)_第2頁
第3a章 16位和32位微處理器的指令系統(tǒng)_第3頁
第3a章 16位和32位微處理器的指令系統(tǒng)_第4頁
第3a章 16位和32位微處理器的指令系統(tǒng)_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第3 3章章 8086/80888086/8088的尋址方式和的尋址方式和指令系統(tǒng)指令系統(tǒng) 8086/8088的尋址方式講課內(nèi)容的尋址方式講課內(nèi)容一、指令系統(tǒng)概念和指令組成一、指令系統(tǒng)概念和指令組成二、二、8086/8088尋址方式尋址方式三、與轉(zhuǎn)移地址有關(guān)的尋址方式三、與轉(zhuǎn)移地址有關(guān)的尋址方式四、小結(jié)四、小結(jié)一、指令系統(tǒng)概念和指令組成一、指令系統(tǒng)概念和指令組成 1、指令系統(tǒng)概念、指令系統(tǒng)概念 計算機通過執(zhí)行指令序列來解決問題計算機通過執(zhí)行指令序列來解決問題, 每種計算機都有一組指令集提供用戶使用每種計算機都有一組指令集提供用戶使用, 這組這組指令集就稱為計算機的指令系統(tǒng)指令集就稱為計算機的

2、指令系統(tǒng)。2、指令組成、指令組成 計算機中指令由計算機中指令由操作碼字段和操作數(shù)字段操作碼字段和操作數(shù)字段兩部分組成。兩部分組成。一條可以由一條可以由17個字節(jié)組成。個字節(jié)組成。 操作碼字段操作碼字段-指示計算機要指示計算機要執(zhí)行的操作執(zhí)行的操作, 操作數(shù)字段操作數(shù)字段-指出在指令執(zhí)行操作過程中所需要的操作數(shù);指出在指令執(zhí)行操作過程中所需要的操作數(shù); 可以是可以是操作數(shù)本身操作數(shù)本身;可以是可以是操作數(shù)地址或是地址的一部分;操作數(shù)地址或是地址的一部分;可以是指向操作數(shù)可以是指向操作數(shù)地址的指針地址的指針或或其他有關(guān)其他有關(guān) 操作數(shù)的信息。操作數(shù)的信息。3、指令的一般格式、指令的一般格式:操作碼

3、字段操作碼字段:在機器里只需對某種操作指定確定的二進制代碼。在機器里只需對某種操作指定確定的二進制代碼。通常用指令的第一個字節(jié)表示,不夠可以占第二個字節(jié)中通常用指令的第一個字節(jié)表示,不夠可以占第二個字節(jié)中的的3位。位。操作數(shù)字段操作數(shù)字段:操作數(shù)字段可以有一個操作數(shù)字段可以有一個,二個或三個地址碼。二個或三個地址碼。 地址地址 機器代碼機器代碼 指令指令例:例:2000 BF0035 MOV DI , 3500 2003 B91000 MOV CX , 0010 2006 40 INC AX操作碼操作碼操作數(shù)操作數(shù).操作數(shù)操作數(shù)4、操作數(shù)的存放、操作數(shù)的存放操作數(shù)的存放不外乎三種情況:操作數(shù)的

4、存放不外乎三種情況:()() 操作數(shù)包含在指令中操作數(shù)包含在指令中 即指令的操作數(shù)字段包含操作數(shù)本身。這種操作數(shù)為即指令的操作數(shù)字段包含操作數(shù)本身。這種操作數(shù)為立即數(shù)立即數(shù)。例:例:MOV AL , 08H()操作數(shù)包含在的一個內(nèi)部寄存器中()操作數(shù)包含在的一個內(nèi)部寄存器中例:例: 200D 40 INC AX 200F 42 INC CX指令中的操作數(shù)字段是指令中的操作數(shù)字段是C內(nèi)部寄存器的一個內(nèi)部寄存器的一個編碼編碼。這種尋找操作數(shù)的尋址方式稱為這種尋找操作數(shù)的尋址方式稱為寄存器尋址寄存器尋址。()操作數(shù)在內(nèi)存數(shù)據(jù)區(qū)()操作數(shù)在內(nèi)存數(shù)據(jù)區(qū) 操作數(shù)在內(nèi)存數(shù)據(jù)區(qū),操作數(shù)字段包含著此操作數(shù)地址。

5、操作數(shù)在內(nèi)存數(shù)據(jù)區(qū),操作數(shù)字段包含著此操作數(shù)地址。 在中,任何在中,任何內(nèi)存地址是由兩部分組成:內(nèi)存地址是由兩部分組成: 段的基地址段的基地址:單元所在段的基地址:單元所在段的基地址(大部分情況是數(shù)據(jù)段寄存器中);(大部分情況是數(shù)據(jù)段寄存器中); 段內(nèi)偏移量段內(nèi)偏移量:此單元與段基地址的距離。:此單元與段基地址的距離。 有效地址(有效地址(Effective Address) : 段內(nèi)偏移量為適應(yīng)各種數(shù)據(jù)結(jié)構(gòu)的需要,可以由幾個部分組段內(nèi)偏移量為適應(yīng)各種數(shù)據(jù)結(jié)構(gòu)的需要,可以由幾個部分組成,所以也把它稱為有效地址成,所以也把它稱為有效地址。 尋址方式不同尋址方式不同EA的構(gòu)成不同。的構(gòu)成不同。歸納

6、歸納EA可有多種情況構(gòu)成:可有多種情況構(gòu)成: 直接尋址,寄存器間接尋址,寄存器相對尋址,直接尋址,寄存器間接尋址,寄存器相對尋址, 基址加變址尋址,相對基址加變址尋址?;芳幼冎穼ぶ罚鄬芳幼冎穼ぶ?。內(nèi)存尋址方式內(nèi)存尋址方式如何尋找內(nèi)存操作數(shù)。如何尋找內(nèi)存操作數(shù)。不同尋址方式實質(zhì)上是構(gòu)成它不同尋址方式實質(zhì)上是構(gòu)成它段內(nèi)的偏移量的方法段內(nèi)的偏移量的方法不同不同。二、二、8086、8088尋址方式尋址方式(一)立即尋址(一)立即尋址 (Immediate addressing)(二)寄存器尋址方式(二)寄存器尋址方式 (Register addressing)(三)直接尋址(三)直接尋址 (D

7、irect addressing)(四)寄存器間接尋址方式(四)寄存器間接尋址方式(Register indirect addressing) (含(含:寄存器相對尋址方式(寄存器相對尋址方式(Register relative addressing) 或變址尋址(或變址尋址(Index Addressing) 基址加變址尋址方式(基址加變址尋址方式(Based indexed addressing) 相對基址加變址尋址方式(相對基址加變址尋址方式(Relative based indexed addressing ) )(一)(一)立即尋址立即尋址(Immediate addressing)

8、 操作數(shù)直接存放在指令中,緊跟在操作碼之后操作數(shù)直接存放在指令中,緊跟在操作碼之后,作為指令,作為指令 的一部分,存放在代碼段里,這種操作數(shù)稱為立即數(shù)。的一部分,存放在代碼段里,這種操作數(shù)稱為立即數(shù)。 立即數(shù)可以是位或立即數(shù)可以是位或16位的。位的。16位的立即數(shù)是高位字節(jié)放在高地址位的立即數(shù)是高位字節(jié)放在高地址,低位字節(jié)放在低地址低位字節(jié)放在低地址。 使用場合:使用場合:經(jīng)常用于給寄存器賦初值。經(jīng)常用于給寄存器賦初值。 注意:注意:只能用于源操作數(shù)字段只能用于源操作數(shù)字段,不能用于目的操作數(shù)字段。,不能用于目的操作數(shù)字段。例:例: MOV AL,05H指令執(zhí)行后指令執(zhí)行后: (AL)=05H

9、例:例: MOV AX,3064H指令執(zhí)行后指令執(zhí)行后: (AX)=3064H立即尋址方式立即尋址方式.操作碼操作碼64H64H30H30H代代碼碼段段64H64H.30H30HALALAHAH指指令令.操作碼操作碼05H05H代代碼碼段段05H05H.ALAL指指令令(二二)、 寄存器尋址方式寄存器尋址方式 (Register addressing)操作數(shù)在寄存器中,指令指定寄存器號。操作數(shù)在寄存器中,指令指定寄存器號。對于位操作數(shù),寄存器可以是對于位操作數(shù),寄存器可以是:,,,。 以及段寄存器。以及段寄存器。對于位操作數(shù),寄存器可以是對于位操作數(shù),寄存器可以是:,。,。這種尋址方式因為操作

10、數(shù)在寄存器中這種尋址方式因為操作數(shù)在寄存器中不需要訪問存儲器,不需要訪問存儲器,運算速度較高運算速度較高。例:例:指令執(zhí)行前指令執(zhí)行前:(AX)3064 (SS)1234 MOV SS,AX指令執(zhí)行后指令執(zhí)行后:(SS)3064H (AX)保持不變。)保持不變。 指令執(zhí)行前:指令執(zhí)行前:指令執(zhí)行后指令執(zhí)行后:寄存器尋址方式寄存器尋址方式SSSSAXAX3064H3064H3064H3064H1234H1234H3064H3064H(三)直接尋址(三)直接尋址(Direct addressing) 操作數(shù)操作數(shù)地址的位偏移量地址的位偏移量,直接包含在指令中直接包含在指令中, 存放在代碼段中指令操

11、作碼之后,存放在代碼段中指令操作碼之后, 但但操作數(shù)一般存放在數(shù)據(jù)段中操作數(shù)一般存放在數(shù)據(jù)段中, 必須先必須先求出操作數(shù)的物理地址求出操作數(shù)的物理地址, 然后再訪問存儲器才能取得操作數(shù)。然后再訪問存儲器才能取得操作數(shù)。 或(或(10H)物理地址物理地址 : PA16d(DS)+EAIBMPC機允許數(shù)據(jù)存放在數(shù)據(jù)段以外的其它段中。機允許數(shù)據(jù)存放在數(shù)據(jù)段以外的其它段中。此時應(yīng)在指令中此時應(yīng)在指令中指定段跨越(可以是指定段跨越(可以是CS,SS,ES)。)。例:例:MOV AX,3100H(DS)=6000H , (63100H)=3050H 則則:(AX)=3050H又如:用符號地址代替數(shù)值地址。

12、又如:用符號地址代替數(shù)值地址。 MOV AX,VALUE 或或 MOV AX,VALUEVALUE有效操作數(shù)單元的有效操作數(shù)單元的符號地址。符號地址。如:如:VALUE在附加段中,在附加段中, 則應(yīng)指定段跨越。則應(yīng)指定段跨越。 MOV AX,ES:VALUE 或或MOV AX,ES:VALUE直接尋址方式直接尋址方式6000H6000H.操作碼操作碼00003131.50H50H30H30H.6 0 0 0 06 0 0 0 03 1 0 03 1 0 0+ +6 3 1 0 06 3 1 0 063100H63100H30H30H50H50HAHAHALAL代代碼碼段段數(shù)數(shù)據(jù)據(jù)段段DSDS注

13、意:注意:(1)直接尋址方式適用于處理單個變量。)直接尋址方式適用于處理單個變量。(2)直接尋址方式)直接尋址方式隱含的段寄存器是隱含的段寄存器是 DS, 8086/8088允許段允許段跨越跨越,即即允許使用允許使用 CS SS ES作為段寄存器,這作為段寄存器,這時,必須在指令中特別標明。時,必須在指令中特別標明。 (3)IBM PC機中規(guī)定機中規(guī)定雙操作數(shù)指令必須有一個操作數(shù)使用寄雙操作數(shù)指令必須有一個操作數(shù)使用寄存器存器方式,這就是常常先要把一個變量送到寄存器去的原因。方式,這就是常常先要把一個變量送到寄存器去的原因。例:例:要處理某存放在存儲器里的變量,可以用直接尋址方式把變量要處理某

14、存放在存儲器里的變量,可以用直接尋址方式把變量先取到一個寄存器中再作處理。先取到一個寄存器中再作處理。(四四)寄存器間接尋址方式寄存器間接尋址方式(Register indirect addressing) 操作數(shù)在存儲器中操作數(shù)在存儲器中,操作數(shù)地址的操作數(shù)地址的16位偏移量包含在:位偏移量包含在:BP、BX、SI、DI寄存器寄存器中。中。 1、若選擇、若選擇SI、DI、BX作為間接尋址作為間接尋址操作數(shù)一般在現(xiàn)行數(shù)據(jù)段區(qū)域中,用操作數(shù)一般在現(xiàn)行數(shù)據(jù)段區(qū)域中,用(DS)作為段地址。作為段地址。即操作數(shù)物理地址為:即操作數(shù)物理地址為: 物理地址物理地址PA=16 d (DS)+(BX) 物理地

15、址物理地址PA=16 d (DS)+(SI) 物理地址物理地址PA=16 d (DS)+(DI)例:例:MOV BX,DI (DS)=6000H (DI)=2000H PA=62000H (62000H)=50A0H (BX)=50A0H寄存器間接尋址方式寄存器間接尋址方式 MOV BX,DI6000H6000H2000H2000HDSDSDIDI6 0 0 0 06 0 0 0 02 20 00 00 0+ +6 2 0 0 06 2 0 0 0.AOHAOH50H50H.62000H62000H50H50HA0HA0HBLBLBHBH數(shù)數(shù)據(jù)據(jù)段段2 、若選擇、若選擇BP寄存器作為間接尋址寄

16、存器作為間接尋址 操作數(shù)在堆棧段區(qū)域中,用操作數(shù)在堆棧段區(qū)域中,用SS寄存器的內(nèi)容作為段地址。寄存器的內(nèi)容作為段地址。 操作數(shù)物理地址操作數(shù)物理地址: PA=16d (SS)+(BP)例:例: MOV BP, AX執(zhí)行前:執(zhí)行前: (SS)=1000H , (BP)=3000H , (AX)=1234H執(zhí)行后:執(zhí)行后:PA=13000H (13000H)=1234H1000H1000H3000H3000HSSSSBPBP1 0 0 0 01 0 0 0 03 30 00 00 0+ +1 3 0 0 01 3 0 0 0.34H34H12H12H.13000H13000H12H12H34H34

17、HALALAHAH堆堆棧棧段段寄存器間接尋址方式寄存器間接尋址方式 MOV BP, AX3 、用、用 SI、DI、BX 、BP作為間接尋址允許段跨越作為間接尋址允許段跨越 指令中可以指定段跨越前綴來取得其他段中的數(shù)據(jù)。指令中可以指定段跨越前綴來取得其他段中的數(shù)據(jù)。例:例:MOV ES:DI, AX MOV DX, DS:BP這種尋址方法可以用于這種尋址方法可以用于表格處理表格處理。(五五)寄存器相對尋址方式(寄存器相對尋址方式(Register relative addressing)或變址尋址或變址尋址 (Index Addressing) 操作數(shù)的操作數(shù)的有效地址是一個基址或變址寄存器的內(nèi)

18、容有效地址是一個基址或變址寄存器的內(nèi)容 和指令中指定的和指令中指定的8位或位或16位位移量(位位移量(displacement)之和。)之和。 EAEA= =(BX)(BX)(SI)(SI)(DI)(DI)+ +8位位移量8位位移量16位位移量16位位移量(BP)(BP)8086/8088 CPU 中有中有兩個變址寄存器兩個變址寄存器 : 源變址寄存器源變址寄存器 SI ; 目的變址寄存器目的變址寄存器 DI 。 操作數(shù)一般在內(nèi)存的數(shù)據(jù)段中,但允許段跨越。操作數(shù)一般在內(nèi)存的數(shù)據(jù)段中,但允許段跨越。除有段跨越前綴之外,形成物理地址有兩種方式:除有段跨越前綴之外,形成物理地址有兩種方式:PA=16

19、d (DS)+PA=16d (DS)+(BX)(BX)(SI)(SI)(DI)(DI)+ +8位位移量8位位移量16位位移量16位位移量PA=16d (SS)+PA=16d (SS)+ (BP)(BP)+ +8位位移量8位位移量16位位移量16位位移量例:例: MOV AX, COUNT BP或或MOV AX, COUNT+BP或或MOV AX, COUNT+BP COUNT為為16位位移量。位位移量。指令執(zhí)行前指令執(zhí)行前: (SS)=5000H, (BP)=3000H,COUNT=2040H,(AX)=1234H指令執(zhí)行后指令執(zhí)行后:EA=5040HPA=55040H(55040H)=554

20、8H(AX)=5548H 寄存器相對尋址方式寄存器相對尋址方式MOV AX,COUNTBPOPOPOPOP40H40H20H20H.48H48H55H55H.55H55H48H48H存儲器存儲器操操作作碼碼位移量位移量COUNTCOUNT代代碼碼段段堆堆棧棧段段55040H55040H50000H50000HAHAHALAL用途:這種尋址方式同樣用于用途:這種尋址方式同樣用于表格處理表格處理。 表格首地址表格首地址COUNT 修改基址或變址寄存器來取得表格中的值。修改基址或變址寄存器來取得表格中的值。例:某數(shù)據(jù)表的首地址為例:某數(shù)據(jù)表的首地址為COUNT 欲讀取表中第欲讀取表中第10個數(shù)據(jù)個數(shù)

21、據(jù),存放到(存放到(AL)中。中。 第第10個數(shù)據(jù)的有效地址個數(shù)據(jù)的有效地址: EA= COUNT + 9MOV SI , 09HMOV AL , SI+COUNT *直接變址尋址方式也可以使用段跨越前綴直接變址尋址方式也可以使用段跨越前綴 MOV DL,ES:STRINGSI(六六) 基址加變址尋址方式基址加變址尋址方式 (Based indexed addressing) 操作數(shù)的操作數(shù)的有效地址是一個基址寄存器和一個變址寄存器的有效地址是一個基址寄存器和一個變址寄存器的內(nèi)容之和內(nèi)容之和,基址寄存器名和變址寄存器名均由指令指定。,基址寄存器名和變址寄存器名均由指令指定。(BP)(BP)+

22、+(DI)(DI)(SI)(SI)EA=EA=(BX)(BX)+ +(DI)(DI)(SI)(SI)EA=EA=除有段跨越前綴之外,形成物理地址有二種方式:除有段跨越前綴之外,形成物理地址有二種方式:PA=16d(DSPA=16d(DS)+)+ (BX)(BX)+ +(DI)(DI)(SI)(SI)PA=16d(SPA=16d(SS S)+)+ (BP)(BP) + +(DI)(DI)(SI)(SI)例:例: MOV AX, BXSI或或 MOV AX, BX+SI執(zhí)行指令前執(zhí)行指令前: (DS)=3200H, (BX)=0456H, (SI) =1094H (334EAH)=4567H (A

23、X)=1234H執(zhí)行指令后執(zhí)行指令后: EA=14EAH PA=334EAH (AX)=4567H基址加變址尋址方式基址加變址尋址方式 MOV AX,BX+SI.67H67H45H45H存儲器存儲器32000H32000H334EAH334EAH45H45H67H67HALALAHAH數(shù)數(shù)據(jù)據(jù)段段.用途:這種尋址方式同樣適用于用途:這種尋址方式同樣適用于數(shù)組或表格處理數(shù)組或表格處理。表格首地址在基址寄存器中表格首地址在基址寄存器中,用變址寄存器來訪問數(shù)組中的元素。用變址寄存器來訪問數(shù)組中的元素。 兩個寄存器都能修改,兩個寄存器都能修改,所以比直接變址方式更靈活。所以比直接變址方式更靈活。這種尋

24、址方式允許段跨越。這種尋址方式允許段跨越。使用段跨越前綴格式使用段跨越前綴格式: MOV AX,ES:BXSI(七)相對基址加變址尋址方式(七)相對基址加變址尋址方式(Relative based indexed addressing)操作數(shù)操作數(shù)有效地址是一個基址寄存器和一個變址寄存器的內(nèi)容有效地址是一個基址寄存器和一個變址寄存器的內(nèi)容和和8位或位或16位位移量之和位位移量之和 。(BP)(BP) + +(DI)(DI)(SI)(SI)+ +8位位移量8位位移量16位位移量16位位移量EA=EA=(BX)(BX) + +(DI)(DI)(SI)(SI)+ +8位位移量8位位移量16位位移量1

25、6位位移量EA=EA=除有段跨越前綴之外,形成物理地址有二種方式:除有段跨越前綴之外,形成物理地址有二種方式:(DI)(DI)PA=16d(SSPA=16d(SS)+)+ (BP)(BP) + +(SI)(SI)+ +8位位移量8位位移量16位位移量16位位移量(DI)(DI)PA=16d(DSPA=16d(DS)+)+ (BX)(BX) + +(SI)(SI)+ +8位位移量8位位移量16位位移量16位位移量例:例:MOV AX, MASKBXDIMOV AX, MASK BX+DIMOV AX,MASK+BX+DI執(zhí)行指令前執(zhí)行指令前:(DS)=3000H(BX)=1346H(DI)=05

26、00HMASK=1234H(32A7AH)=4050H(AX)=1234H執(zhí)行指令后執(zhí)行指令后:EA=2A7AHPA=32A7AH(AX)=4050H 相對基址加變址相對基址加變址MOV AX, MASK+BX+DIOPOPOPOP34H34H12H12H.50H50H40H40H存儲器存儲器30000H30000H32A7AH32A7AH40H40H50H50HALALAHAH數(shù)數(shù)據(jù)據(jù)段段操操作作碼碼位移位移量量MASKMASK代代碼碼段段用途:用途:這種尋址方式為這種尋址方式為堆棧處理堆棧處理提供方便:提供方便: (BP) 棧頂(一般棧頂(一般 BP 可指向棧頂)可指向棧頂)從棧頂?shù)綌?shù)組的

27、首地址的距離可以用位移量從棧頂?shù)綌?shù)組的首地址的距離可以用位移量(MASK)表示表示 變址寄存器(變址寄存器(SI)或()或(DI)指向數(shù)組中某個元素。指向數(shù)組中某個元素。尋址方式可分為尋址方式可分為立即尋址立即尋址直接尋址直接尋址寄存器相對尋址寄存器相對尋址寄存器尋址寄存器尋址基址基址-變址尋址變址尋址基址基址-變址相對尋址變址相對尋址寄存器間接尋址寄存器間接尋址尋址方式總結(jié)尋址方式總結(jié)非存儲器尋址方式非存儲器尋址方式存儲器尋址方式存儲器尋址方式 直接尋址直接尋址 寄存器間接尋址寄存器間接尋址 寄存器相對尋址寄存器相對尋址 基址、變址尋址基址、變址尋址 基址變址相對尋址基址變址相對尋址 立即數(shù)

28、尋址立即數(shù)尋址 寄存器(直接)尋址寄存器(直接)尋址實質(zhì)都是實質(zhì)都是間接尋址間接尋址段內(nèi)轉(zhuǎn)移只需改變段內(nèi)轉(zhuǎn)移只需改變 (IP)段內(nèi)轉(zhuǎn)移包括兩種尋址方式:直接段內(nèi)轉(zhuǎn)移包括兩種尋址方式:直接 ,間接。,間接。段間轉(zhuǎn)移改變(段間轉(zhuǎn)移改變(CS)(IP)段間轉(zhuǎn)移包括兩種尋址方式:段間轉(zhuǎn)移包括兩種尋址方式: 直接直接 ,間接。,間接。功能:功能:用來用來確定轉(zhuǎn)移指令及確定轉(zhuǎn)移指令及CALL指令的轉(zhuǎn)移地址。指令的轉(zhuǎn)移地址。 下面以轉(zhuǎn)移指令為對象來分析各種轉(zhuǎn)移地址尋址方式,下面以轉(zhuǎn)移指令為對象來分析各種轉(zhuǎn)移地址尋址方式,也適用于調(diào)用指令中對調(diào)用地址的尋址。也適用于調(diào)用指令中對調(diào)用地址的尋址。三、與轉(zhuǎn)移地址有

29、關(guān)的尋址方式三、與轉(zhuǎn)移地址有關(guān)的尋址方式(一)段內(nèi)直接尋址(一)段內(nèi)直接尋址(Intrasegment direct addressing) 轉(zhuǎn)向有效地址轉(zhuǎn)向有效地址EA是(是(IP)當前當前和指令中指定的和指令中指定的8位或位或16位位移量位位移量之和。之和。段內(nèi)直接尋址(或相對尋址)方式含義:段內(nèi)直接尋址(或相對尋址)方式含義: EA(即轉(zhuǎn)向的有效地址即轉(zhuǎn)向的有效地址) 用相對于(用相對于(IP)當前當前值的位移量表示。值的位移量表示。位移量:位移量:位移量位移量=轉(zhuǎn)向有效地址轉(zhuǎn)向有效地址-(IP)當前當前值之差。值之差。 對于近轉(zhuǎn)對于近轉(zhuǎn),16位位移量可正可負,位位移量可正可負,一般范圍

30、是一般范圍是3276832767 對于短轉(zhuǎn)對于短轉(zhuǎn),8位位移量可正可負,位位移量可正可負, 范圍是范圍是 128127,這種尋址方式適用于條件轉(zhuǎn)移及無條件轉(zhuǎn)移指令。這種尋址方式適用于條件轉(zhuǎn)移及無條件轉(zhuǎn)移指令。 當用于當用于條件轉(zhuǎn)移條件轉(zhuǎn)移指令時,指令時,位移量只允許位移量只允許 8 位位; 用于用于無條件轉(zhuǎn)移無條件轉(zhuǎn)移指令時,指令時,位移量位移量 8 位時稱為位時稱為 短跳轉(zhuǎn)。短跳轉(zhuǎn)。指令匯編語言格式:指令匯編語言格式: JMP NEAR PTR PROGIA;(;(IP)(IP)當前當前+16位位移量位位移量 JMP SHORT QUEST; (IP)(IP)當前當前+8位位移量位位移量調(diào)用

31、指令(調(diào)用指令(CALL)也適用。)也適用。 PROGIA、 QUEST 均為均為轉(zhuǎn)向符號地址轉(zhuǎn)向符號地址,機器中用位移量表示機器中用位移量表示。匯編指令中匯編指令中16位位移量,則在符號地址前加操作符位位移量,則在符號地址前加操作符 NEAR PTR。 8位位移量位位移量 :前引用標號(標號后定義前引用標號(標號后定義 ),則在符號地址前加操作符),則在符號地址前加操作符SHORT。 后引用標號(標號先定義后引用標號(標號先定義 ),則在符號地址前不必加操作符),則在符號地址前不必加操作符 SHORT。 JMP NEAR PTR PROGIA; (IP)(IP)當前當前+16位位移量位位移量 段內(nèi)直接尋址段內(nèi)直接尋址JMP NEAR PTR PROGIA(二)段內(nèi)間接尋址(二)段內(nèi)間接尋址(Intrasegment indirect addressing) 轉(zhuǎn)向有效地址轉(zhuǎn)向有效地址EA是在寄存器中或內(nèi)存單元中,對內(nèi)存是在寄存器中或內(nèi)存單元中,對內(nèi)存單元可以用前面所述對數(shù)據(jù)的各種尋址方式進行訪問,立單元可以用前面所述對數(shù)據(jù)的各種尋址方式進行訪問,立即數(shù)尋址除外。即數(shù)尋址除外。 這種尋址方式只適用于無條件轉(zhuǎn)移指令。這種尋址方式只適用于無條件轉(zhuǎn)移指令。 (三)段間直

溫馨提示

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

評論

0/150

提交評論