匯編語(yǔ)言程序設(shè)計(jì)------尋址方式和指令系統(tǒng)_第1頁(yè)
匯編語(yǔ)言程序設(shè)計(jì)------尋址方式和指令系統(tǒng)_第2頁(yè)
匯編語(yǔ)言程序設(shè)計(jì)------尋址方式和指令系統(tǒng)_第3頁(yè)
匯編語(yǔ)言程序設(shè)計(jì)------尋址方式和指令系統(tǒng)_第4頁(yè)
匯編語(yǔ)言程序設(shè)計(jì)------尋址方式和指令系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩229頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 1安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 21. 1.掌握一般指令系統(tǒng)的基本概念:指令格式、功能和掌握一般指令系統(tǒng)的基本概念:指令格式、功能和注意事項(xiàng)。注意事項(xiàng)。2.2. 重點(diǎn)掌握重點(diǎn)掌握8086/80888086/8088指令系統(tǒng)中,各指令的格式、指令系統(tǒng)中,各指令的格式、尋址方式尋址方式、指令類型指令類型 。3. 3. 了解其他(奔騰等)的尋址方式和指令類型。了解其他(奔騰等)的尋址方式和指令類型。安徽工業(yè)大學(xué)2022-4-17第第3章

2、章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 33.2 8086/8088尋址方式 3.3 8086/8088的指令系統(tǒng) 安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 4 計(jì)算機(jī)的指令系統(tǒng)就是指該計(jì)算機(jī)能夠執(zhí)行的全部指令計(jì)算機(jī)的指令系統(tǒng)就是指該計(jì)算機(jī)能夠執(zhí)行的全部指令的集合。的集合。 每種計(jì)算機(jī)都有它支持的指令集合。每種計(jì)算機(jī)都有它支持的指令集合。 1616位位80868086指令系統(tǒng)是整個(gè)指令系統(tǒng)是整個(gè)Intel 80 x86 Intel 80 x86 系列微處理器指令系列微處理器指令系統(tǒng)的基礎(chǔ)。系統(tǒng)的基礎(chǔ)。安徽工業(yè)大學(xué)202

3、2-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 5指令通常應(yīng)提供的信息 做什么操作 操作數(shù)從哪里來(lái) 操作結(jié)果放在哪里 對(duì)于調(diào)用和轉(zhuǎn)移指令,還要涉及轉(zhuǎn)移或調(diào)對(duì)于調(diào)用和轉(zhuǎn)移指令,還要涉及轉(zhuǎn)移或調(diào)用地址的提供方式用地址的提供方式安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 6說(shuō)明計(jì)算機(jī)要執(zhí)行哪種操作,如傳送、運(yùn)算、說(shuō)明計(jì)算機(jī)要執(zhí)行哪種操作,如傳送、運(yùn)算、移位、跳轉(zhuǎn)等操作,它是指令中不可缺少的組成部分。移位、跳轉(zhuǎn)等操作,它是指令中不可缺少的組成部分。 操作數(shù)操作數(shù) 操作數(shù)操作數(shù)指令由指令由操作碼操作碼和和操作數(shù)操作數(shù)兩

4、部分組成。兩部分組成。是指令執(zhí)行的參與者,即各種操作的對(duì)象。是指令執(zhí)行的參與者,即各種操作的對(duì)象。 有些指令不需要操作數(shù),通常的指令都有一個(gè)或兩個(gè)有些指令不需要操作數(shù),通常的指令都有一個(gè)或兩個(gè)操作數(shù),也有個(gè)別指令有操作數(shù),也有個(gè)別指令有3 3個(gè)甚至個(gè)甚至4 4個(gè)操作數(shù),通常稱為一個(gè)操作數(shù),通常稱為一地址指令地址指令( (單操作數(shù)指令單操作數(shù)指令) )、二地址指令(雙操作數(shù)指令)、二地址指令(雙操作數(shù)指令)、三三安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 7 操作數(shù)操作數(shù)2 2,常被稱為源操作數(shù),常被稱為源操作數(shù)srcsrc,它表示參與指,它

5、表示參與指令操作的一個(gè)對(duì)象令操作的一個(gè)對(duì)象 操作數(shù)操作數(shù)1 1,成被稱為目的操作數(shù),成被稱為目的操作數(shù)destdest,它不僅可以,它不僅可以作為指令操作的一個(gè)對(duì)象,還可以用來(lái)存放指令作為指令操作的一個(gè)對(duì)象,還可以用來(lái)存放指令操作的結(jié)果操作的結(jié)果 分號(hào)后的內(nèi)容是對(duì)指令的解釋分號(hào)后的內(nèi)容是對(duì)指令的解釋 操作碼操作碼 操作數(shù)操作數(shù)1,操作數(shù)操作數(shù)2 ;注釋注釋安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 83.1 指令的基本格式 3.3 8086/8088的指令系統(tǒng) 安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋

6、址方式和指令系統(tǒng) 9,稱為,稱為立即數(shù)立即數(shù);,稱為,稱為寄存器操作寄存器操作數(shù)數(shù)。,稱為,稱為存儲(chǔ)器存儲(chǔ)器操作數(shù)操作數(shù)。指令指定操作數(shù)的位置,即給出地址信息,在。指令指定操作數(shù)的位置,即給出地址信息,在執(zhí)行時(shí)需要根據(jù)這個(gè)地址信息找到需要的操作數(shù)。執(zhí)行時(shí)需要根據(jù)這個(gè)地址信息找到需要的操作數(shù)。尋址就是尋址就是尋址方式就是尋找操作數(shù)的方法。尋址方式就是尋找操作數(shù)的方法。安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 10 指令系統(tǒng)設(shè)計(jì)了多種操作數(shù)的來(lái)源指令系統(tǒng)設(shè)計(jì)了多種操作數(shù)的來(lái)源 理解操作數(shù)的尋址方式是理解指令功能的前提理解操作數(shù)的尋址方式是理解

7、指令功能的前提 操作數(shù)采取哪一種尋址方式操作數(shù)采取哪一種尋址方式一方面,會(huì)影響處理器執(zhí)行指令的速度和效率一方面,會(huì)影響處理器執(zhí)行指令的速度和效率另一方面,另一方面,對(duì)程序設(shè)計(jì)也很重要對(duì)程序設(shè)計(jì)也很重要尋址方式尋址方式 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式 與轉(zhuǎn)移地址有關(guān)的尋址方式與轉(zhuǎn)移地址有關(guān)的尋址方式MOV指令指令安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 11 指令助記符體現(xiàn)該指令的功能,它對(duì)應(yīng)一條二進(jìn)制指令助記符體現(xiàn)該指令的功能,它對(duì)應(yīng)一條二進(jìn)制編碼的機(jī)器指令。編碼的機(jī)器指令。 指令的操作數(shù)個(gè)數(shù)由該指令確定,可以沒(méi)有操作數(shù),指令的

8、操作數(shù)個(gè)數(shù)由該指令確定,可以沒(méi)有操作數(shù),也可以有一個(gè)、二個(gè)或三個(gè)操作數(shù)。也可以有一個(gè)、二個(gè)或三個(gè)操作數(shù)。80X8680X86的指令格式的指令格式指令助記符指令助記符 操作數(shù)操作數(shù)1 , 1 , 操作數(shù)操作數(shù)2 , 2 , 操作數(shù)操作數(shù)3 3 ; ;注釋注釋 安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 12立即尋址立即尋址 MOV AX , 3069HMOV AX , 3069H寄存器尋址寄存器尋址 MOV AL , BHMOV AL , BH直接尋址直接尋址 MOV AX , 2000H MOV AX , 2000H 寄存器間接尋址寄存器間

9、接尋址 MOV AX , BX MOV AX , BX 寄存器相對(duì)尋址寄存器相對(duì)尋址 MOV AX , COUNT SI MOV AX , COUNT SI 基址變址尋址基址變址尋址 MOV AX , BP DI MOV AX , BP DI 相對(duì)基址變址尋址相對(duì)基址變址尋址 MOV AX , MASK BX SI MOV AX , MASK BX SI 3.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式存存儲(chǔ)儲(chǔ)器器操操作作數(shù)數(shù)寄存器操作數(shù)寄存器操作數(shù)立即數(shù)立即數(shù)安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 13圖形表示:圖形表

10、示: 定義:操作數(shù)作為指令的一部分而直接寫(xiě)在指令中,這種操定義:操作數(shù)作為指令的一部分而直接寫(xiě)在指令中,這種操作數(shù)稱為立即數(shù),這種尋址方式也就稱為作數(shù)稱為立即數(shù),這種尋址方式也就稱為尋址方式。尋址方式。 匯編格式(操作數(shù)部分):匯編格式(操作數(shù)部分):n n(n n為立即操作數(shù),是為立即操作數(shù),是)功能:操作數(shù)存放在存儲(chǔ)器,指令下一單元的內(nèi)容為立即操作功能:操作數(shù)存放在存儲(chǔ)器,指令下一單元的內(nèi)容為立即操作數(shù)數(shù)n n。3.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式操作數(shù)操作數(shù) n指令指令操作碼操作碼安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋

11、址方式和指令系統(tǒng) 14【例】【例】 MOV AXMOV AX, 4576H 4576H 執(zhí)行后(執(zhí)行后(AXAX)=? CSMOV AX,4576H指令的存儲(chǔ)形式指令的存儲(chǔ)形式 AXOP76H45H7645 該例中源操作數(shù)為立即尋址方式,立即數(shù)為該例中源操作數(shù)為立即尋址方式,立即數(shù)為4576H4576H,存,存放在指令的下一單元。放在指令的下一單元。執(zhí)行:執(zhí)行:4576HAX4576HAX執(zhí)行后:(執(zhí)行后:(AXAX)=4576H =4576H 3.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式

12、和指令系統(tǒng) 153.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式定義:定義:。把在指令中指出所使用寄存器。把在指令中指出所使用寄存器(即:寄存即:寄存器的助記符器的助記符)的尋址方式稱為寄存器尋址方式。的尋址方式稱為寄存器尋址方式。 寄存器寄存器 R指令指令操作數(shù)操作數(shù)寄存器寄存器匯編格式:匯編格式:R R (其中(其中R R表示寄存器名,如表示寄存器名,如AXAX、BXBX等。)等。)功能:操作數(shù)直接存放在寄存器功能:操作數(shù)直接存放在寄存器R R中。中。圖形表示:圖形表示:安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 163

13、.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式指令中可以引用的寄存器及其符號(hào)名稱如下:指令中可以引用的寄存器及其符號(hào)名稱如下: 8 8位寄存器有:位寄存器有:等;等; 1616位寄存器:位寄存器:等;等;注:注:。通常情況下,提倡在編寫(xiě)。通常情況下,提倡在編寫(xiě)編語(yǔ)言程序時(shí),應(yīng)盡可能編語(yǔ)言程序時(shí),應(yīng)盡可能地使用寄存器尋址方式,但也不要把它絕對(duì)化。地使用寄存器尋址方式,但也不要把它絕對(duì)化。安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 173.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式執(zhí)行:執(zhí)行:1234HAX 1

14、234HAX 執(zhí)行后:(執(zhí)行后:(AXAX)=68ACH=68ACH,(,(BXBX)=5678H=5678H5678HBX5678HBX(AXAX)+ +(BXBX)AXAX安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 183.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式3. 3. 存儲(chǔ)器尋址存儲(chǔ)器尋址 除上述尋址方式外,以下各種尋址方式,操作數(shù)都在除除上述尋址方式外,以下各種尋址方式,操作數(shù)都在除代碼段之外的存儲(chǔ)區(qū)中。通過(guò)不同的尋址方式,獲得操代碼段之外的存儲(chǔ)區(qū)中。通過(guò)不同的尋址方式,獲得操作數(shù)地址,從而取得操作數(shù)。作數(shù)地

15、址,從而取得操作數(shù)。在前面的章節(jié)中,我們知道操作數(shù)的物理地址等于段基在前面的章節(jié)中,我們知道操作數(shù)的物理地址等于段基址左移址左移4 4位,再加上偏移地址。下面主要解決的問(wèn)題是位,再加上偏移地址。下面主要解決的問(wèn)題是如何得到操作數(shù)的偏移地址。在如何得到操作數(shù)的偏移地址。在8086/80888086/8088里,將操作里,將操作數(shù)的偏移地址又稱為有效地址(數(shù)的偏移地址又稱為有效地址(effective addresseffective address,即,即EAEA),因此以下的各種尋址方式即為求有效地址(),因此以下的各種尋址方式即為求有效地址(EAEA)的)的不同途徑。不同途徑。 安徽工業(yè)大學(xué)

16、2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 193.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式8086/80888086/8088指令中有效地址(指令中有效地址(EAEA)由以下)由以下3 3部分組成:部分組成:位移量(位移量(displacementdisplacement):存放在指令中的一個(gè)):存放在指令中的一個(gè)8 8位或位或1616位的數(shù),但它不是立即數(shù),而是一個(gè)地址;位的數(shù),但它不是立即數(shù),而是一個(gè)地址;基址(基址(basebase):存放在基址寄存器():存放在基址寄存器(BXBX、BPBP)中的內(nèi))中的內(nèi)容。它是有效地址

17、中的基址部分,通常用于指向數(shù)據(jù)段中容。它是有效地址中的基址部分,通常用于指向數(shù)據(jù)段中數(shù)組或字符串的首地址。數(shù)組或字符串的首地址。變址(變址(indexindex):存放在變址寄存器():存放在變址寄存器(SI SI、DIDI)中的內(nèi))中的內(nèi)容。通常用來(lái)指向數(shù)組中某個(gè)元素或字符串的某個(gè)字符。容。通常用來(lái)指向數(shù)組中某個(gè)元素或字符串的某個(gè)字符。有效地址(有效地址(EAEA)可以用下列式子表示:)可以用下列式子表示:EA=EA=基址變址位移量基址變址位移量有效地址有效地址BX/BPSI/DI8/16位位移量位位移量段地址對(duì)應(yīng)段地址對(duì)應(yīng)BP基址寄存器基址寄存器默認(rèn)是默認(rèn)是SS,其它,其它默認(rèn)是默認(rèn)是DS

18、 ;可用段超越前綴改變可用段超越前綴改變根據(jù)有效地址中含有的成分不同,分別構(gòu)成不同的尋址根據(jù)有效地址中含有的成分不同,分別構(gòu)成不同的尋址方式方式 安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 203.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式8086/8088只能使用16位尋址方式(EA為16位),對(duì)以上3種成分的組成有著不同的規(guī)定,詳見(jiàn)表3.1。 表3.1 16位 尋 址 時(shí) 有 效 地 址 的 三 種 成 分 的 組 成 3種 成 分 16位 尋 址 位 移 量 0, 8, 16位 基 址 寄 存 器 BX,BP 變 址

19、 寄 存 器 SI,DI 安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 21 3.2 3.2則說(shuō)明了段寄存器使用的基本約定。在某些情況下,則說(shuō)明了段寄存器使用的基本約定。在某些情況下,8086/80888086/8088允許程序員使用跨越段前綴來(lái)改變系統(tǒng)指定的默認(rèn)段。允許程序員使用跨越段前綴來(lái)改變系統(tǒng)指定的默認(rèn)段。但以下但以下3 3種情況不允許使用跨越段前綴。種情況不允許使用跨越段前綴。指令必須在代碼段指令必須在代碼段CSCS中;中;PUSHPUSH指令的源操作數(shù)和指令的源操作數(shù)和POPPOP指令的目的操作數(shù)必須使用指令的目的操作數(shù)必須使用S

20、SSS段;段; 串處理指令的目的串必須使用附加段串處理指令的目的串必須使用附加段ESES; 3.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 223.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式定義:定義:,這種尋址方式為直接尋址方式。,這種尋址方式為直接尋址方式。 EA指令指令操作數(shù)操作數(shù)存儲(chǔ)器存儲(chǔ)器段基地址段基地址匯編格式:匯編格式:。功能:功能:指令下一字單元的內(nèi)容是操作數(shù)的偏移地址指令下一字單元的內(nèi)容是操作數(shù)的偏移地址EAEA。圖形表示:圖形表示:安徽工業(yè)大學(xué)

21、2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 233.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式 BX DS:2000H 1234H 21234HOP CSDS13H52H20000H21234H34H12H1352安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 243.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式 在通常情況下,操作數(shù)存放在數(shù)據(jù)段中,所以,在通常情況下,操作數(shù)存放在數(shù)據(jù)段中,所以,但,但如果如果使用段超越前綴,那么,操作數(shù)可存放在其它段使用段超越前綴,那

22、么,操作數(shù)可存放在其它段。 例如:例如:MOVMOVES:1000HES:1000H, AX AX 注意:注意:,直,直接尋址的地址要寫(xiě)在括號(hào)接尋址的地址要寫(xiě)在括號(hào)“”,“”內(nèi)。內(nèi)。在程序中,在程序中,如:,如:MOV BX, VARWMOV BX, VARW,其中,其中,VARWVARW是內(nèi)存字變量。是內(nèi)存字變量。 試比較下列指令中源操作數(shù)的尋址方式(試比較下列指令中源操作數(shù)的尋址方式(VARWVARW是內(nèi)存字是內(nèi)存字變量):變量): MOVAX, 1234H MOVAX, 前者是立即尋址,后者是直接尋址前者是立即尋址,后者是直接尋址 MOVAX, VARW MOVAX, 兩者是等效的,均為

23、直接尋址兩者是等效的,均為直接尋址 安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 253.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式定定 義:義:,操作數(shù)的有效地址用,操作數(shù)的有效地址用SI SI、DIDI、BXBX和和BPBP等四個(gè)寄存器之一來(lái)指定,稱這種尋址方式為寄存器間等四個(gè)寄存器之一來(lái)指定,稱這種尋址方式為寄存器間接尋址方式。接尋址方式。 EAEA寄存器寄存器操作數(shù)操作數(shù)存儲(chǔ)器存儲(chǔ)器段基地址段基地址基址或變址寄存器基址或變址寄存器指令指令匯編格式:匯編格式:RR功功 能:操作數(shù)存放在存儲(chǔ)器,寄存器能:操作數(shù)存放在存儲(chǔ)

24、器,寄存器R R存放操作數(shù)的偏移地存放操作數(shù)的偏移地址址EAEA。圖形表示:圖形表示:安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 26【例【例3.43.4】假設(shè)有指令:】假設(shè)有指令:MOV BX, DIMOV BX, DI,在執(zhí)行時(shí),(,在執(zhí)行時(shí),(DSDS)=1000H=1000H,(,(DIDI)=2345H=2345H,存儲(chǔ)單元,存儲(chǔ)單元12345H12345H的內(nèi)容是的內(nèi)容是4354H4354H。問(wèn)執(zhí)行指令后,問(wèn)執(zhí)行指令后,BXBX的值是什么?的值是什么?解:寄存器解:寄存器DIDI的值不是操作數(shù),而是操作數(shù)的值不是操作數(shù),而是操作

25、數(shù)的地址。該操作數(shù)的物理地址應(yīng)由的地址。該操作數(shù)的物理地址應(yīng)由DSDS和和DIDI的的值形成,即:值形成,即: 該指令的執(zhí)行效果是:該指令的執(zhí)行效果是:把從物理地址為把從物理地址為12345H12345H開(kāi)始的一個(gè)字開(kāi)始的一個(gè)字的值傳送給的值傳送給BXBX。 BX BX DSDS:1000H1000HDIDI:2345H2345H 12345H 12345H43435454OPOP CS CS DS DS54H54H43H43H 10000H 10000H 12345H 12345H3.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式安徽工業(yè)大學(xué)2022-4-17第第3章章 808

26、6/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 273.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式 在不使用段超越前綴的情況下,有下列規(guī)定:在不使用段超越前綴的情況下,有下列規(guī)定: v若有效地址用若有效地址用SI SI、DIDI和和BXBX等之一來(lái)指定,則其缺省的段寄存等之一來(lái)指定,則其缺省的段寄存器為器為DSDS;v若有效地址用若有效地址用BPBP來(lái)指定,則其缺省的段寄存器為來(lái)指定,則其缺省的段寄存器為SSSS(即:堆(即:堆棧段)。棧段)。 該尋址方式物理地址的計(jì)算方法如下:該尋址方式物理地址的計(jì)算方法如下: 或或 安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8

27、088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 28說(shuō)明 此種尋址方式對(duì)于表格或數(shù)組處理方便,當(dāng)執(zhí)行完一條指令后,只需修改寄存器的內(nèi)容,就可取出表格或數(shù)組的下一項(xiàng)。安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 293.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式定定 義:操作數(shù)在存儲(chǔ)器中,其有效地址是一個(gè)基址寄存器義:操作數(shù)在存儲(chǔ)器中,其有效地址是一個(gè)基址寄存器(BXBX、BPBP)或變址寄存器或變址寄存器(SI SI、DIDI)的內(nèi)容和指令中的的內(nèi)容和指令中的8 8位位/16/16位位偏移量之和。偏移量之和。 匯編格式:匯編格式

28、:XRXR(X X表示位移量,是表示位移量,是8 8位或位或1616位二進(jìn)制補(bǔ)碼表示位二進(jìn)制補(bǔ)碼表示的有符號(hào)數(shù))的有符號(hào)數(shù))功功 能:能:操作數(shù)存放在存儲(chǔ)器,寄存器操作數(shù)存放在存儲(chǔ)器,寄存器R R的內(nèi)容加位移量的內(nèi)容加位移量X X為操為操作數(shù)的偏移地址作數(shù)的偏移地址EAEA。圖形表示如下:圖形表示如下:地址地址寄存器寄存器操作數(shù)操作數(shù)存儲(chǔ)器存儲(chǔ)器段基地址段基地址基址或變址寄存器基址或變址寄存器 位移量位移量指令指令EA安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 303.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式【例【例3.

29、53.5】假設(shè)指令:】假設(shè)指令:MOV BX, SI+100HMOV BX, SI+100H,在執(zhí)行它時(shí),(,在執(zhí)行它時(shí),(DSDS)=1000H=1000H,(SI SI)=2345H=2345H,內(nèi)存單元,內(nèi)存單元12445H12445H的內(nèi)容為的內(nèi)容為2715H2715H,問(wèn)該指令執(zhí)行后,問(wèn)該指令執(zhí)行后,BXBX的的值是什么?值是什么? OP CS DS15H27H 10000H 12445H SI:2345H 100H EA:2445H DS:1000H 12445H27 15 BX所以,該指令的所以,該指令的執(zhí)行效果是:執(zhí)行效果是:把從物理地址為把從物理地址為12445H12445H

30、開(kāi)始的開(kāi)始的一個(gè)字的值傳送一個(gè)字的值傳送給給BXBX。解:解:EA=EA=(SI SI)+100H=2345H+100H=2445H +100H=2345H+100H=2445H PA= PA=(DSDS)* *16+EA=1000H16+EA=1000H* *16+2445H=12445H16+2445H=12445H安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 31寄存器相對(duì)尋址的用途 這種尋址方式可用于表格的處理,通過(guò)位位移量移量來(lái)設(shè)置表格的首地址; 利用修改基址寄存器或變址寄存器的內(nèi)容來(lái)獲得表項(xiàng)的值。DS:0000DS:DISPSIa

31、0a1安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 323.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式定定 義:操作數(shù)在存儲(chǔ)器中,其有效地址是一個(gè)基址寄存器義:操作數(shù)在存儲(chǔ)器中,其有效地址是一個(gè)基址寄存器(BXBX、BPBP)和一個(gè)變址寄存器和一個(gè)變址寄存器(SI SI、DIDI)的內(nèi)容之和。的內(nèi)容之和。 匯編格式:匯編格式: BR+IRBR+IR功功 能:能:操作數(shù)存放在存儲(chǔ)器,操作數(shù)存放在存儲(chǔ)器,BRBR的內(nèi)容加的內(nèi)容加IRIR的內(nèi)容是操作的內(nèi)容是操作數(shù)的偏移地址數(shù)的偏移地址EAEA。圖形表示:圖形表示:操作數(shù)操作數(shù) 存

32、儲(chǔ)器存儲(chǔ)器段基地址段基地址基址寄存器基址寄存器 變址寄存器變址寄存器指令指令基址值基址值基址寄存器基址寄存器變址值變址值變址寄存器變址寄存器EAEA安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 333.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式【例】假設(shè)指令:【例】假設(shè)指令:MOV BX, BX+SIMOV BX, BX+SI,在執(zhí)行時(shí),(,在執(zhí)行時(shí),(DSDS)=1000H=1000H,(,(BXBX)=2100H=2100H,(,(SI SI)=0011H=0011H,內(nèi)存單元,內(nèi)存單元12111H12111H的的內(nèi)容為

33、內(nèi)容為1234H1234H。問(wèn)該指令執(zhí)行后,。問(wèn)該指令執(zhí)行后,BXBX的值是什么?的值是什么? OP CS DS34H12H 10000H 12111H BX:2100H SI:0011H EA:2111H DS:1000H 12111H12 34 BX解:操作數(shù)的物理地址解:操作數(shù)的物理地址PAPA為:為: PA=PA=(DSDS)* *16+ 16+ (BXBX)+ +(SI SI) =1000H=1000H* *16+ 16+ 2100H+0011H =12111H2100H+0011H =12111H所以,該指令的執(zhí)行效果是:所以,該指令的執(zhí)行效果是:把從物理地址為把從物理地址為121

34、11H12111H開(kāi)始開(kāi)始的一個(gè)字的值傳送給的一個(gè)字的值傳送給BXBX。 安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 34基址變址尋址的用途這種尋址方式同樣適用于表格(或數(shù)組),首地址可存放在基址寄存器中,而用變址寄存器來(lái)訪問(wèn)表格中的各項(xiàng),由于兩個(gè)寄存器都可以 修改,所以使用起來(lái)比寄存器相對(duì)尋址更靈活。安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 353.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式定定 義:操作數(shù)在存儲(chǔ)器中,其有效地址是一個(gè)基址寄存器義:操作數(shù)在存儲(chǔ)器中,

35、其有效地址是一個(gè)基址寄存器(BXBX、BPBP)的值、的值、一個(gè)變址寄存器一個(gè)變址寄存器(SI SI、DIDI)的值和指令中的的值和指令中的8 8位位/16/16位偏移量之和。位偏移量之和。 匯編格式:匯編格式:X BR+IRX BR+IR功功 能:能:操作數(shù)存放在存儲(chǔ)器,操作數(shù)存放在存儲(chǔ)器,BRBR內(nèi)容加內(nèi)容加IRIR內(nèi)容加位移量?jī)?nèi)容加位移量X X是操作數(shù)的偏移地是操作數(shù)的偏移地址址EAEA。圖形表示:圖形表示:存儲(chǔ)器存儲(chǔ)器基址值基址值基址寄存器基址寄存器操作數(shù)操作數(shù)段基地址段基地址基址寄存器基址寄存器 變址寄存器變址寄存器 位移量位移量指令指令變址值變址值變址寄存器變址寄存器EAEA安徽工

36、業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 363.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式【例【例3.73.7】假設(shè)指令:】假設(shè)指令:MOV AX, BX+SI+200HMOV AX, BX+SI+200H,在執(zhí)行時(shí),在執(zhí)行時(shí),(DSDS)=1000H=1000H,(,(BXBX)=2100H=2100H,(,(SI SI)=0010H=0010H,內(nèi)存單元,內(nèi)存單元12310H12310H的內(nèi)容為的內(nèi)容為1234H1234H。問(wèn)該指令執(zhí)行后,。問(wèn)該指令執(zhí)行后,AXAX的值是什么?的值是什么? BX:2100H SI:001

37、0H 0200H EA:2310H DS:1000H 12310HOP CS DS34H12H 10000H 12310H12 34 AX解:該操作數(shù)的物理解:該操作數(shù)的物理地址應(yīng)由地址應(yīng)由DSDS和和EAEA的值的值形成,即:形成,即:PA=12310HPA=12310H所以,該指令的執(zhí)行所以,該指令的執(zhí)行效果是:效果是:把從物理地址為把從物理地址為12310H12310H開(kāi)始的一個(gè)字開(kāi)始的一個(gè)字的值傳送給的值傳送給AXAX。安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 37相對(duì)基址加變址尋址的用途 這種尋址方式對(duì)堆棧中數(shù)組的訪問(wèn)提供了方便

38、,通??捎肂P指向棧頂(MOV BP,SP). 從棧頂?shù)綌?shù)組第一個(gè)元素的距離用位移量表示,變址寄存器(SI或DI)用來(lái)指出數(shù)組元素。BP 棧頂 存儲(chǔ)器 低地址 位移量 SI 高地址 A(0) A(1) A(n)安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 38v 跨段越問(wèn)題跨段越問(wèn)題 凡是使用寄存器為凡是使用寄存器為BXBX、SI SI、DIDI時(shí),其默認(rèn)段為時(shí),其默認(rèn)段為DSDS,使用,使用BPBP時(shí),默認(rèn)段為時(shí),默認(rèn)段為SSSS。該規(guī)定為系統(tǒng)默認(rèn)狀態(tài)。當(dāng)要否定默認(rèn)狀態(tài),。該規(guī)定為系統(tǒng)默認(rèn)狀態(tài)。當(dāng)要否定默認(rèn)狀態(tài),到非約定段尋找操作數(shù)時(shí),必須

39、用跨段前綴指明操作數(shù)的段寄到非約定段尋找操作數(shù)時(shí),必須用跨段前綴指明操作數(shù)的段寄存器名。存器名。匯編格式:匯編格式:功能:冒號(hào)功能:冒號(hào)“:”之前的段寄存器名指明操作數(shù)所在的段。之前的段寄存器名指明操作數(shù)所在的段。 該例中,該例中,DSDS:,:,SSSS:均為跨段前綴,此時(shí)默認(rèn)狀態(tài)無(wú)效,:均為跨段前綴,此時(shí)默認(rèn)狀態(tài)無(wú)效,操作數(shù)的物理地址操作數(shù)的物理地址PAPA由段寄存器內(nèi)容左移由段寄存器內(nèi)容左移4 4位加偏移位加偏移EAEA形成。形成。上述上述2 2條指令的源操作數(shù)物理地址分別為:條指令的源操作數(shù)物理地址分別為: PA1 =PA1 =(DSDS)左移)左移4 4位位+BP+BP PA2 =

40、PA2 =(SSSS)左移)左移4 4位位+ SI+ SI3.2.1 3.2.1 與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 39尋址方式與數(shù)據(jù)結(jié)構(gòu)的關(guān)系尋址方式與數(shù)據(jù)結(jié)構(gòu)的關(guān)系 操作數(shù)尋址方式支持高級(jí)語(yǔ)言的數(shù)據(jù)結(jié)構(gòu),由于存儲(chǔ)單元地址的線性排列,故存取一個(gè)元素或數(shù)據(jù)項(xiàng)的問(wèn)題轉(zhuǎn)變?yōu)楸硎竞陀?jì)算單元地址的問(wèn)題(即尋址)?,F(xiàn)將幾種數(shù)據(jù)結(jié)構(gòu)與存儲(chǔ)器的尋址關(guān)系列表如下:安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 403.2.2 3.2.2 與轉(zhuǎn)移地址有關(guān)的尋址

41、方式與轉(zhuǎn)移地址有關(guān)的尋址方式 用來(lái)確定轉(zhuǎn)移指令及轉(zhuǎn)子程序(用來(lái)確定轉(zhuǎn)移指令及轉(zhuǎn)子程序(callcall)指令的轉(zhuǎn)向地址)指令的轉(zhuǎn)向地址。轉(zhuǎn)移地址是由各種尋址方式得到的有效地址和段地址相。轉(zhuǎn)移地址是由各種尋址方式得到的有效地址和段地址相加而成的,加而成的,有效地址存入有效地址存入IPIP寄存器中,段地址指定為寄存器中,段地址指定為CSCS段段寄存器內(nèi)容寄存器內(nèi)容。 段內(nèi)尋址段內(nèi)尋址 段內(nèi)直接尋址段內(nèi)直接尋址 段內(nèi)間接尋址段內(nèi)間接尋址 段間尋址段間尋址 段間直接尋址段間直接尋址 段間間接尋址段間間接尋址 安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系

42、統(tǒng) 413.2.2 3.2.2 與轉(zhuǎn)移地址有關(guān)的尋址方式與轉(zhuǎn)移地址有關(guān)的尋址方式 段內(nèi)轉(zhuǎn)移是指程序在同一代碼段內(nèi),僅改變段內(nèi)轉(zhuǎn)移是指程序在同一代碼段內(nèi),僅改變IPIP寄存器的值,而不寄存器的值,而不改變改變CSCS寄存器的值所發(fā)生的轉(zhuǎn)移。段內(nèi)轉(zhuǎn)移又分為段內(nèi)直接轉(zhuǎn)移寄存器的值所發(fā)生的轉(zhuǎn)移。段內(nèi)轉(zhuǎn)移又分為段內(nèi)直接轉(zhuǎn)移和段內(nèi)間接轉(zhuǎn)移和段內(nèi)間接轉(zhuǎn)移。 轉(zhuǎn)向的有效地址轉(zhuǎn)向的有效地址 = = 當(dāng)前(當(dāng)前(IPIP) + + 位移量(位移量(8bit/16bit) 8bit/16bit) 位移量位移量IPIP寄存器寄存器EAEA安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋

43、址方式和指令系統(tǒng) 42 1 1)JMP SHORT QUESTJMP SHORT QUEST ; ; 短轉(zhuǎn)移使用標(biāo)號(hào)與當(dāng)前短轉(zhuǎn)移使用標(biāo)號(hào)與當(dāng)前IPIP的的8 8位位移位位移 其中其中QUESTQUEST表示轉(zhuǎn)移的符號(hào)地址,操作符表示轉(zhuǎn)移的符號(hào)地址,操作符SHORTSHORT表示是個(gè)表示是個(gè)8 8位位帶符號(hào)數(shù),數(shù)的范圍是帶符號(hào)數(shù),數(shù)的范圍是80H 7FH80H 7FH,即,即 -128 +127-128 +127。它只能相對(duì)。它只能相對(duì)于當(dāng)前于當(dāng)前IPIP(轉(zhuǎn)移指令的下一條指令的首地址)所指的位置作(轉(zhuǎn)移指令的下一條指令的首地址)所指的位置作-128 -128 +127+127范圍內(nèi)跳轉(zhuǎn),所以稱

44、為范圍內(nèi)跳轉(zhuǎn),所以稱為。2 2)JMP NEAR PTR PROGA ; JMP NEAR PTR PROGA ; 近轉(zhuǎn)移使用標(biāo)號(hào)與當(dāng)前近轉(zhuǎn)移使用標(biāo)號(hào)與當(dāng)前IPIP的的1616位位位位移移 其中其中PROGAPROGA表示轉(zhuǎn)移的符號(hào)地址,操作符表示轉(zhuǎn)移的符號(hào)地址,操作符NEAR PRTNEAR PRT表示是個(gè)表示是個(gè)1616位帶符號(hào)數(shù),數(shù)的范圍是位帶符號(hào)數(shù),數(shù)的范圍是8000H 7FFFH8000H 7FFFH,即,即 -32768 -32768 +32767+32767。它只能相對(duì)于當(dāng)前。它只能相對(duì)于當(dāng)前IPIP所指的位置作所指的位置作-32768 +32767-32768 +32767范范

45、圍內(nèi)跳轉(zhuǎn),所以稱為近跳轉(zhuǎn)。圍內(nèi)跳轉(zhuǎn),所以稱為近跳轉(zhuǎn)。 3.2.2 3.2.2 與轉(zhuǎn)移地址有關(guān)的尋址方式與轉(zhuǎn)移地址有關(guān)的尋址方式安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 43 轉(zhuǎn)向的有效地址是一個(gè)寄存器或存儲(chǔ)單元的內(nèi)容??墒罐D(zhuǎn)向的有效地址是一個(gè)寄存器或存儲(chǔ)單元的內(nèi)容??墒褂贸⒓磾?shù)以外的任何一種數(shù)據(jù)尋址方式得到,所得到的轉(zhuǎn)用除立即數(shù)以外的任何一種數(shù)據(jù)尋址方式得到,所得到的轉(zhuǎn)向的有效地址取代向的有效地址取代IPIP寄存器的內(nèi)容。寄存器的內(nèi)容。轉(zhuǎn)向的有效地址轉(zhuǎn)向的有效地址指令指令數(shù)據(jù)尋址方式數(shù)據(jù)尋址方式或或根據(jù)數(shù)據(jù)尋址根據(jù)數(shù)據(jù)尋址方式計(jì)算出方式

46、計(jì)算出EAEA值值轉(zhuǎn)向的有效地址轉(zhuǎn)向的有效地址存儲(chǔ)單元存儲(chǔ)單元3.2.2 3.2.2 與轉(zhuǎn)移地址有關(guān)的尋址方式與轉(zhuǎn)移地址有關(guān)的尋址方式安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 44 JMP BX ; JMP BX ; (IPIP)=1256H=1256H JMP WORD PTR TABLEBX ; JMP WORD PTR TABLEBX ; (IPIP)=3280H=3280H JMP WORD PTR BXSI ; JMP WORD PTR BXSI ; (IPIP)=2450H=2450H3.2.2 3.2.2 與轉(zhuǎn)移地址有關(guān)的尋

47、址方式與轉(zhuǎn)移地址有關(guān)的尋址方式【例【例】 已知已知 TABLE=20A2H TABLE=20A2H ,(,(BXBX)=1256H =1256H ,(,(SI SI)=528EH=528EH,(DSDS)=2000H =2000H ,(,(232F8H232F8H)= 3280H = 3280H ,(,(264E4H264E4H)=2450H=2450H安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 45用指令中提供的轉(zhuǎn)向段地址和偏移地址取代用指令中提供的轉(zhuǎn)向段地址和偏移地址取代CS CS 和和 IPIP。指令指令偏移地址偏移地址IPIP寄存器

48、寄存器段地址段地址CSCS寄存器寄存器 當(dāng)程序從一個(gè)代碼段轉(zhuǎn)移到另一個(gè)代碼段時(shí),不僅要改變當(dāng)程序從一個(gè)代碼段轉(zhuǎn)移到另一個(gè)代碼段時(shí),不僅要改變IPIP寄存器的值,同時(shí)也要改變寄存器的值,同時(shí)也要改變CSCS寄存器的值,這種轉(zhuǎn)移稱為段間寄存器的值,這種轉(zhuǎn)移稱為段間轉(zhuǎn)移。段間轉(zhuǎn)移又分為段間直接轉(zhuǎn)移和段間間接轉(zhuǎn)移。轉(zhuǎn)移。段間轉(zhuǎn)移又分為段間直接轉(zhuǎn)移和段間間接轉(zhuǎn)移。 3.2.2 3.2.2 與轉(zhuǎn)移地址有關(guān)的尋址方式與轉(zhuǎn)移地址有關(guān)的尋址方式安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 46【例【例】JMPJMPFAR PTR NEXTROUNTFAR PT

49、R NEXTROUNT; ;遠(yuǎn)轉(zhuǎn)移同時(shí)使用標(biāo)號(hào)的段屬性和遠(yuǎn)轉(zhuǎn)移同時(shí)使用標(biāo)號(hào)的段屬性和偏移屬性偏移屬性新新IPIP新新CSCS3232EAEA0101000010101010CS=0000HCS=0000H CSCS00000000000200002000 IPIPIP=2000HIP=2000H CSCSCS=1000HCS=1000HNEXTROUNTNEXTROUNTIP=0132HIP=0132H101321013210000100003.2.2 3.2.2 與轉(zhuǎn)移地址有關(guān)的尋址方式與轉(zhuǎn)移地址有關(guān)的尋址方式安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址

50、方式和指令系統(tǒng) 47 用存儲(chǔ)器中的兩個(gè)相繼字的內(nèi)容取代用存儲(chǔ)器中的兩個(gè)相繼字的內(nèi)容取代CS CS 和和 IPIP,存儲(chǔ)單,存儲(chǔ)單元的地址可用存儲(chǔ)器尋址方式得到元的地址可用存儲(chǔ)器尋址方式得到。 指令指令數(shù)據(jù)尋址方式數(shù)據(jù)尋址方式根據(jù)數(shù)據(jù)尋址根據(jù)數(shù)據(jù)尋址方式計(jì)算出方式計(jì)算出EAEA值值轉(zhuǎn)向的有效地址轉(zhuǎn)向的有效地址轉(zhuǎn)向的段地址轉(zhuǎn)向的段地址存儲(chǔ)器中的兩個(gè)相繼字存儲(chǔ)器中的兩個(gè)相繼字IPIPCSCS3.2.2 3.2.2 與轉(zhuǎn)移地址有關(guān)的尋址方式與轉(zhuǎn)移地址有關(guān)的尋址方式低字為低字為EA,高字為段,高字為段地址地址安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng)

51、 48 如如DS=3000HDS=3000H,BX=1200HBX=1200H,INTERS=0020HINTERS=0020H, 則存儲(chǔ)單元的物理地址則存儲(chǔ)單元的物理地址PA=30000+0020+1200=31200HPA=30000+0020+1200=31200H 指令執(zhí)行前,指令執(zhí)行前,CS=0000HCS=0000H,IP=1000HIP=1000H,(,(31220H31220H)=40H=40H, (3122131221)=01H=01H,(,(31222H31222H)=00H=00H,(,(3122331223)=10H=10H。 指令執(zhí)行后,指令執(zhí)行后,CS=1000HC

52、S=1000H,IP=0140HIP=0140H,(,(31220H31220H)=40H=40H, (3122131221)=01H=01H,(,(31222H31222H)=00H=00H,(,(3122331223)=10H=10H。3.2.2 3.2.2 與轉(zhuǎn)移地址有關(guān)的尋址方式與轉(zhuǎn)移地址有關(guān)的尋址方式【例【例】 JMPJMPDWORD PTR INTERS+BXDWORD PTR INTERS+BX安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 49指令存儲(chǔ)和執(zhí)行情況:指令存儲(chǔ)和執(zhí)行情況:JMPDWORDPTRINTERBXCS=00

53、00H CS0000001000 IPIP=1000H CSCS=1000H IPIP=0140H1014010000代碼段代碼段01400010DS=3000H DS3000031220INTER+BX數(shù)據(jù)段數(shù)據(jù)段新新IP新新CS3122131222312233.2.2 3.2.2 與轉(zhuǎn)移地址有關(guān)的尋址方式與轉(zhuǎn)移地址有關(guān)的尋址方式安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 503.1 指令的基本格式 3.2 8086/8088尋址方式 安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 518

54、0X8680X86指令系統(tǒng)分為以下指令系統(tǒng)分為以下6 6組:組: 在學(xué)習(xí)匯編指令時(shí),指令的功能是我們學(xué)習(xí)和掌握的重點(diǎn),在學(xué)習(xí)匯編指令時(shí),指令的功能是我們學(xué)習(xí)和掌握的重點(diǎn),但要準(zhǔn)確、有效地運(yùn)用這些指令,我們還要熟悉系統(tǒng)對(duì)每條指令但要準(zhǔn)確、有效地運(yùn)用這些指令,我們還要熟悉系統(tǒng)對(duì)每條指令的一些規(guī)定或約束。因此,對(duì)指令要掌握以下幾個(gè)方面內(nèi)容:的一些規(guī)定或約束。因此,對(duì)指令要掌握以下幾個(gè)方面內(nèi)容:安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 523.3. .數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令 數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令。它相對(duì)于高級(jí)語(yǔ)言里的賦值語(yǔ)句。它相對(duì)于高級(jí)語(yǔ)

55、言里的賦值語(yǔ)句。 :MOV MOV PUSH POP PUSH POP : IN OUT XLATIN OUT XLAT: LEA LEA LDS LES LDS LES: LAHF SAHF PUSHF POPFLAHF SAHF PUSHF POPF:CBW CWDCBW CWD安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 53 數(shù)據(jù)傳送是計(jì)算機(jī)中最基本、最重要的一種操作數(shù)據(jù)傳送是計(jì)算機(jī)中最基本、最重要的一種操作, ,傳送指令也是最常使用的一類指令傳送指令也是最常使用的一類指令 傳送指令把數(shù)據(jù)從一個(gè)位置傳送到另一個(gè)位置傳送指令把數(shù)據(jù)從一個(gè)

56、位置傳送到另一個(gè)位置 除標(biāo)志寄存器傳送指令外,均不影響標(biāo)志位除標(biāo)志寄存器傳送指令外,均不影響標(biāo)志位 重點(diǎn)掌握重點(diǎn)掌握MOV XCHG PUSH POP IN OUT XLAT LEA3.3. .數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 543.3. .數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令指令格式指令格式:MOV opd, ops 操作操作:opd ops 實(shí)現(xiàn)立即數(shù)、寄存器與內(nèi)存間的數(shù)據(jù)傳送(復(fù)制操作復(fù)制操作). 例: MOV AL, BL MOV DI, AX MOV CX,1000H MOV BL, 40 MOV WORD

57、 PTRSI,01HWORD PTR 字長(zhǎng)度標(biāo)記;字長(zhǎng)度標(biāo)記;BYTE PTR 字節(jié)長(zhǎng)度標(biāo)記字節(jié)長(zhǎng)度標(biāo)記DWORD PTR 雙字長(zhǎng)度標(biāo)記雙字長(zhǎng)度標(biāo)記 (偽指令)(偽指令)影響標(biāo)志的情況影響標(biāo)志的情況:所有通用傳送指令都不影響標(biāo)志位。:所有通用傳送指令都不影響標(biāo)志位。安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 55MOV指令允許傳送數(shù)據(jù)的路徑體現(xiàn)一個(gè)原則:除了立即數(shù)尋址以外,雙操作數(shù)指令至少要有一個(gè)操作數(shù)在寄存器源操作數(shù)可以是寄存器、存儲(chǔ)器、立即數(shù),目的操作數(shù)是除CS和IP以外的寄存器或存儲(chǔ)器。安徽工業(yè)大學(xué)2022-4-17第第3章章 808

58、6/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 56舉例:舉例:mov cl,4;cl4,字節(jié)傳送,字節(jié)傳送mov dx,0ffh;dx00ffh,字傳送,字傳送mov bx,al;bxal,字節(jié)傳送,字節(jié)傳送mov ds,ax;dsax,字傳送,字傳送mov al,bx;alds:bxmov dx,bp+4;dxss:bp+4mov ax,ds;axds明確指令是字節(jié)操作還是字操作明確指令是字節(jié)操作還是字操作3.3. .數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 57非法指令的主要現(xiàn)象:非法指令的主要現(xiàn)象: 兩個(gè)

59、操作數(shù)的類型不一致兩個(gè)操作數(shù)的類型不一致 無(wú)法確定是字節(jié)量還是字量操作無(wú)法確定是字節(jié)量還是字量操作 兩個(gè)操作數(shù)都是存儲(chǔ)器兩個(gè)操作數(shù)都是存儲(chǔ)器 段寄存器的操作有一些限制段寄存器的操作有一些限制3.3. .數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 58非法指令兩個(gè)操作數(shù)類型不一致非法指令兩個(gè)操作數(shù)類型不一致在絕大多數(shù)雙操作數(shù)指令中,目的操作數(shù)和源在絕大多數(shù)雙操作數(shù)指令中,目的操作數(shù)和源操作數(shù)必須具有一致的數(shù)據(jù)類型,或者同為字操作數(shù)必須具有一致的數(shù)據(jù)類型,或者同為字量,或者同為字節(jié)量,否則為非法指令量,或者同為字節(jié)量,否

60、則為非法指令MOV AL, 050AH;非法指令,;非法指令,修正:修正:;mov ax,050ahMOV SI, DL;非法指令,;非法指令,修正:修正:;mov dh,0;mov si,dx3.3. .數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令安徽工業(yè)大學(xué)2022-4-17第第3章章 8086/8088尋址方式和指令系統(tǒng)尋址方式和指令系統(tǒng) 59非法指令無(wú)法確定是字節(jié)量還是字量操作非法指令無(wú)法確定是字節(jié)量還是字量操作當(dāng)無(wú)法通過(guò)任一個(gè)操作數(shù)確定是操作類型時(shí),當(dāng)無(wú)法通過(guò)任一個(gè)操作數(shù)確定是操作類型時(shí),需要利用匯編語(yǔ)言的操作符顯式指明需要利用匯編語(yǔ)言的操作符顯式指明MOV BX+SI, 255;非法指令,;非法指令,

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論