![匯編語言與匯編程序課件_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/1b127ab7-3611-42bd-a8b8-25aa081e3e2d/1b127ab7-3611-42bd-a8b8-25aa081e3e2d1.gif)
![匯編語言與匯編程序課件_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/1b127ab7-3611-42bd-a8b8-25aa081e3e2d/1b127ab7-3611-42bd-a8b8-25aa081e3e2d2.gif)
![匯編語言與匯編程序課件_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/1b127ab7-3611-42bd-a8b8-25aa081e3e2d/1b127ab7-3611-42bd-a8b8-25aa081e3e2d3.gif)
![匯編語言與匯編程序課件_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/1b127ab7-3611-42bd-a8b8-25aa081e3e2d/1b127ab7-3611-42bd-a8b8-25aa081e3e2d4.gif)
![匯編語言與匯編程序課件_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/10/1b127ab7-3611-42bd-a8b8-25aa081e3e2d/1b127ab7-3611-42bd-a8b8-25aa081e3e2d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1第二章第二章匯編語言與匯編語言與匯 編 程 序匯 編 程 序2二、匯編語言與匯編程序2.1 符號指令中的表達(dá)式;符號指令中的表達(dá)式;2.2 符號指令的尋址方式;符號指令的尋址方式;2.3 常用指令;常用指令;2.4 偽指令;偽指令;2.5 常用系統(tǒng)功能調(diào)用與常用系統(tǒng)功能調(diào)用與BIOS。32.1 符號指令中的表達(dá)式1. 常量和數(shù)值表達(dá)式;常量和數(shù)值表達(dá)式;2. 變量和地址表達(dá)式;變量和地址表達(dá)式;3. 標(biāo)號;標(biāo)號;4. 標(biāo)量和標(biāo)號類型的變更。標(biāo)量和標(biāo)號類型的變更。41. 常量和數(shù)值表達(dá)式1.1.常量:常量:指在匯編時已經(jīng)有確定數(shù)值,程序指在匯編時已經(jīng)有確定數(shù)值,程序執(zhí)行期間不變的量執(zhí)行期間不變
2、的量. .(1)匯編語言使用的常量:匯編語言使用的常量:2進(jìn)制(進(jìn)制(10110110B)、)、8進(jìn)制進(jìn)制(1234Q)、10進(jìn)制進(jìn)制(123D)、16進(jìn)制進(jìn)制(01A8H)、ASCII碼字符(碼字符(welcome , 1234 )(2)應(yīng)用:用于偽指令給變量賦值、或機(jī)器指令語應(yīng)用:用于偽指令給變量賦值、或機(jī)器指令語句中的操作數(shù)、尋址方式中的位移量等句中的操作數(shù)、尋址方式中的位移量等5(3)分類:分類: 數(shù)值常量:直接以數(shù)值出現(xiàn),如數(shù)值常量:直接以數(shù)值出現(xiàn),如0B7H 符號常量:由符號常量:由括起來的一串字符,括起來的一串字符,最最 長長225個字符,個字符,如如12345678,hello
3、(4)符號常量的定義:偽指令符號常量的定義:偽指令EQU或或“” eg: P EQU 314 ; P3142.2.數(shù)值表達(dá)式:數(shù)值表達(dá)式:是由常量和算術(shù)、邏輯、關(guān)系等運是由常量和算術(shù)、邏輯、關(guān)系等運算符組成的有意義的式子。算符組成的有意義的式子。62. 變量和地址表達(dá)式變量:變量:存儲器中的數(shù)據(jù)或數(shù)據(jù)區(qū)的符號表示。存儲器中的數(shù)據(jù)或數(shù)據(jù)區(qū)的符號表示。變量名變量名:是數(shù)據(jù)的地址或數(shù)據(jù)區(qū)的首地址。:是數(shù)據(jù)的地址或數(shù)據(jù)區(qū)的首地址。 地址表達(dá)式地址表達(dá)式:由變量、常量、寄存器:由變量、常量、寄存器(SI、DI、BX、BP)的內(nèi)容和運算符組成的有意義的式子。的內(nèi)容和運算符組成的有意義的式子。變量或地址表達(dá)
4、式可給出指令中的變量或地址表達(dá)式可給出指令中的存儲器的地址存儲器的地址。由于存儲器是分段使用的,因此變量或地址表達(dá)式由于存儲器是分段使用的,因此變量或地址表達(dá)式都具有都具有3重屬性:重屬性:段地址、偏移地址和類型段地址、偏移地址和類型。7 變量的段地址變量的段地址:變量所在段的段首地址除:變量所在段的段首地址除以以10H之商;當(dāng)要訪問某變量時,其段地之商;當(dāng)要訪問某變量時,其段地址一定要在相應(yīng)的段寄存器中。址一定要在相應(yīng)的段寄存器中。 變量的偏移地址變量的偏移地址:變量所在段的段首址到:變量所在段的段首址到該變量所在存儲單元的字節(jié)距離,即該變量所在存儲單元的字節(jié)距離,即EA。 變量的段地址和偏
5、移地址分別用變量的段地址和偏移地址分別用SEG或或OFFSET兩個算符來指定。兩個算符來指定。例如:變量例如:變量W的段地址和偏移地址分別表示為的段地址和偏移地址分別表示為SEG W和和OFFSET W。變量的類型:變量的類型:存取某變量的字節(jié)數(shù),存取某變量的字節(jié)數(shù),Byte、Word、Dword、Qword、Tbyte8變量的定義變量名變量名 數(shù)據(jù)定義偽指令數(shù)據(jù)定義偽指令 表達(dá)式表達(dá)式, 變量名變量名:數(shù)據(jù)的地址或數(shù)據(jù)區(qū)的首地址數(shù)據(jù)的地址或數(shù)據(jù)區(qū)的首地址 數(shù)據(jù)定義偽指令:數(shù)據(jù)定義偽指令:DB(定義字節(jié)定義字節(jié))、DW(定義定義字字)、DD(定義雙字定義雙字)、DQ(定義定義4字字)、DT(定
6、定義義10字節(jié)字節(jié)),根據(jù)定義的字節(jié)數(shù)自動給變量分根據(jù)定義的字節(jié)數(shù)自動給變量分配存儲單元。配存儲單元。表達(dá)式表達(dá)式:數(shù)值表達(dá)式、數(shù)值表達(dá)式、ASCII碼字符串、地址碼字符串、地址表達(dá)式、?及表達(dá)式、?及n DUP(表達(dá)式)(表達(dá)式)9數(shù)值表達(dá)式:數(shù)值表達(dá)式: A1 DB (1*3), (15/3)ASCII碼字符串碼字符串: B2 DB 1234,ABCD(DB給每個字節(jié)分配一個單元,字符從左至右按地址遞增順序排列)地址表達(dá)式:只能用于DW或DD,表達(dá)式為一變量或標(biāo)號DW定義:取其偏移地址初始化變量, eg A DW VALUE ; 取 VALUE偏移地址初始化ADD定義:取其段地址和偏移地址
7、初始化變量, eg A DD VALUE ;取 VALUE段地址和偏移地址初 始化A,髙位字為VALUE段地址,低位字為其偏移地址?:變量無確定的值,用于預(yù)留若干字節(jié)存儲單元以存放結(jié)果 n DUP : DUP為重復(fù)字句,為重復(fù)字句,n為重復(fù)因子為重復(fù)因子eg A DB 2 DUP(0,3DUP(1) ; 01110111 10 例如,在數(shù)據(jù)段例如,在數(shù)據(jù)段DATAl中中定義的變量如下:定義的變量如下: Wl DW B3; B1 DB AB$; W2 DW -5,1994H; B2 DB 4 DUP(?) ; D DD EB ; B3 DB 2 DUP(-1) DB l DUP(10,E) ;
8、DB 13,1,3在附加數(shù)據(jù)段在附加數(shù)據(jù)段DATA2中定中定義的變量如下:義的變量如下: EB DB 8 DUP(?) EW DW AB,CD 113. 標(biāo)號標(biāo)號標(biāo)號是指令地址的符號表示,也可以是過程名。過程是指令地址的符號表示,也可以是過程名。過程名是過程入口地址的符號表示,即過程的第一條指令名是過程入口地址的符號表示,即過程的第一條指令的地址。的地址。 標(biāo)號的標(biāo)號的定義方式定義方式有兩種:有兩種: (1)用用“:”定義,直接寫在指令助記符前。定義,直接寫在指令助記符前。 如如 CYCLE:MOV AL,SI (2)用用PROC和和ENDP偽指令定義過程。偽指令定義過程。 標(biāo)號代表指令的地址
9、,因而它也有標(biāo)號代表指令的地址,因而它也有3個屬性:個屬性:段地址、段地址、偏移地址和類型。偏移地址和類型。 標(biāo)號的段地址標(biāo)號的段地址:定義該標(biāo)號所在段的段地址。:定義該標(biāo)號所在段的段地址。 標(biāo)號的偏移地址標(biāo)號的偏移地址:標(biāo)號所在段的段首址到該標(biāo)號定:標(biāo)號所在段的段首址到該標(biāo)號定 義指令的字節(jié)距離。義指令的字節(jié)距離。 標(biāo)號的類型標(biāo)號的類型有有NEAR和和FAR兩種。兩種。124. 變量和標(biāo)號類型的變更格式格式: 類型類型 PTR 地址表達(dá)式地址表達(dá)式PTR算符用來明確指出某個變量、標(biāo)號或地址表達(dá)式算符用來明確指出某個變量、標(biāo)號或地址表達(dá)式的類型屬性,或者使它們臨時兼有與原定義所不同的的類型屬性
10、,或者使它們臨時兼有與原定義所不同的類型屬性類型屬性,但仍保持它們原來的,但仍保持它們原來的段地址段地址和和偏移地址偏移地址屬屬性不變。性不變。 如:如:BYTE PTR W1 WORD PTR B3 BYTE PTR BX+313指令指令 (Instruction): 讓計算機(jī)完成某種操作的命令。指令系統(tǒng)指令系統(tǒng) (Instruction System): 指令的集合。2.2 符號指令的尋址方式一、概一、概 述述指令指令控制計算機(jī)完成指定操作的命令控制計算機(jī)完成指定操作的命令機(jī)器指令機(jī)器指令指令的二進(jìn)制代碼形式。例如:指令的二進(jìn)制代碼形式。例如:CD21H匯編指令匯編指令助記符形式的指令。例
11、如:助記符形式的指令。例如:INT 21H指令系統(tǒng)指令系統(tǒng)CPU所有指令及其使用規(guī)則的集合所有指令及其使用規(guī)則的集合148086匯編語言指令的語句格式匯編語言指令的語句格式標(biāo)號標(biāo)號: 指令助記符指令助記符 操作數(shù)操作數(shù) ;注釋;注釋(1) 標(biāo)號:指令所在地址的符號,符合以下規(guī)則:標(biāo)號:指令所在地址的符號,符合以下規(guī)則: 由字母由字母(az, AZ)、數(shù)字、數(shù)字(09)或某些特殊或某些特殊字符字符(,_,?) 等組成;等組成; 首字符是字母或某些特殊字符,但首字符是字母或某些特殊字符,但“?”不能不能單獨作標(biāo)識符;單獨作標(biāo)識符; 有效長度為有效長度為131個字符。個字符。15(2) 指令助記符:
12、指令助記符:指出指令的操作類型。(3) 操作數(shù):操作數(shù):參加本指令運算的數(shù)據(jù)。(4) 注釋:注釋:指令功能的說明。16有效地址有效地址EA(Effective Address)內(nèi)存單元的地址:段基址內(nèi)存單元的地址:段基址 16 + 段內(nèi)偏移量段內(nèi)偏移量EA17指令包含的信息指令包含的信息(1) 做什么操作做什么操作(2) 操作數(shù)的來源操作數(shù)的來源(3) 操作結(jié)果的存數(shù)操作結(jié)果的存數(shù)(4) 下一條指令的位置下一條指令的位置18指令的基本構(gòu)成說明要執(zhí)說明要執(zhí)行的是什行的是什么操作么操作操作對象,操作對象,可以有可以有0個、個、1個或個或2個個目的目的源源19指令舉例:ADD AX,SI+6MOV
13、AX , BX操作碼 操作數(shù)INC BXHLT20雙操作數(shù)指令雙操作數(shù)指令 ADD AX, BX 大多數(shù)運算型指令都是雙操作數(shù)指令,對這種大多數(shù)運算型指令都是雙操作數(shù)指令,對這種指令,有的機(jī)器(大中型)使用指令,有的機(jī)器(大中型)使用“三地址三地址”指令:指令:除給出參加運算的兩個操作數(shù)外,還要指出運算結(jié)除給出參加運算的兩個操作數(shù)外,還要指出運算結(jié)果的存放地址。果的存放地址。 現(xiàn)代微型計算機(jī)中多采用二地址指令,兩現(xiàn)代微型計算機(jī)中多采用二地址指令,兩個操作數(shù)分別稱為個操作數(shù)分別稱為“源操作數(shù)源操作數(shù)”和和“目的操目的操作數(shù)作數(shù)”,指令執(zhí)行后,把運算結(jié)果放到目的操,指令執(zhí)行后,把運算結(jié)果放到目的操
14、作數(shù)的地址之中。作數(shù)的地址之中。21指令系統(tǒng)設(shè)計一個指令系統(tǒng)能夠提供哪些尋址方式,能否為一個指令系統(tǒng)能夠提供哪些尋址方式,能否為編制程序提供方便,這是指令系統(tǒng)設(shè)計的關(guān)編制程序提供方便,這是指令系統(tǒng)設(shè)計的關(guān)鍵。鍵。需要說明的是,在不同的計算機(jī)系統(tǒng)中,尋址需要說明的是,在不同的計算機(jī)系統(tǒng)中,尋址方式的名稱和分類并不統(tǒng)一,但基本可以歸方式的名稱和分類并不統(tǒng)一,但基本可以歸結(jié)為以下幾種方式或它們的變型或組合:結(jié)為以下幾種方式或它們的變型或組合:22二、二、8088/8086的操作數(shù)分為的操作數(shù)分為3類類1 1、立即數(shù)(常數(shù))立即數(shù)(常數(shù))取值范圍如下表:8位16位無符號數(shù)00H-FFH(0-255)0
15、000H-FFFFH(0-65535)帶符號數(shù)80H-7FH(-128127)8000H-7FFFH(-3276832767)MOV AX,0FA00H;正確正確MOV 8000H,DX;錯誤錯誤232 2、寄存器操作數(shù)寄存器操作數(shù)放在放在8個個通用寄存器通用寄存器或或4個個段寄存器段寄存器中的操作數(shù)中的操作數(shù)1 6 位位A XA HA L1 6 位位B XB HB L1 6 位位C XC HC L1 6 位位D XD HD L24只能存放字操作數(shù)只能存放字操作數(shù)段寄存器存放段寄存器存放當(dāng)前操作數(shù)的當(dāng)前操作數(shù)的段基地址段基地址不允許將立即數(shù)傳送到段寄存器不允許將立即數(shù)傳送到段寄存器SIDIBP
16、SPCSDSESSS253 3、存儲器操作數(shù)存儲器操作數(shù)存儲器操作數(shù)存儲器操作數(shù)字節(jié)字節(jié)字字雙字雙字124類型類型 存儲單元個數(shù)存儲單元個數(shù)一般不允許一般不允許兩個兩個操作數(shù)同時為存儲器操作數(shù)操作數(shù)同時為存儲器操作數(shù)26存儲單元的物理地址存儲單元的物理地址 = 段基地址段基地址16 + 偏移地址偏移地址若指令中沒有指明所涉及的段寄存器,CPU就采用默認(rèn)的段寄存器來確定操作數(shù)所在的段。存儲器操作數(shù)的偏移地址(也稱有效地址)可以通過存儲器操作數(shù)的偏移地址(也稱有效地址)可以通過不同的尋址方式由指令給出。不同的尋址方式由指令給出。例如,若例如,若(BX)=2000H, (SI)=0A00H, (DI
17、)=2A00H,則以下指令,則以下指令的結(jié)果是一樣的:的結(jié)果是一樣的:MOV AL, 2A00HMOV AL, BX+0A00HMOV AL, BXSIMOV AL, DI27一條指令的執(zhí)行時間一條指令的執(zhí)行時間=指令的執(zhí)行時間指令的執(zhí)行時間取指令取指令取操作數(shù)取操作數(shù)執(zhí)行指令執(zhí)行指令傳送結(jié)果傳送結(jié)果單位用時鐘周期數(shù)表示單位用時鐘周期數(shù)表示結(jié)論:結(jié)論: 1)盡量使用寄存器作為操作數(shù))盡量使用寄存器作為操作數(shù) 2)若有可能,用移位代替乘除法)若有可能,用移位代替乘除法 3)盡量使用簡單的尋址方式)盡量使用簡單的尋址方式28尋址方式尋址方式尋找操作數(shù)的方法尋找操作數(shù)的方法l 尋找操作數(shù)的地址尋找操
18、作數(shù)的地址在在8086指令系統(tǒng)中,說明操作數(shù)所在地指令系統(tǒng)中,說明操作數(shù)所在地址的尋址方式可分為址的尋址方式可分為8種:種: 立即尋址立即尋址 寄存器相對尋址寄存器相對尋址 寄存器尋址寄存器尋址 基址基址-變址尋址變址尋址 直接直接尋址尋址 相對的基址相對的基址-變址尋址變址尋址 間接尋址間接尋址 隱含尋址隱含尋址三、三、80868086的尋址方式的尋址方式29l 操作數(shù)操作數(shù)(為一常數(shù)為一常數(shù))直接由指令給出直接由指令給出 (此操作數(shù)稱為立即數(shù)此操作數(shù)稱為立即數(shù))l 立即尋址只能用于源操作數(shù)立即尋址只能用于源操作數(shù),用于寄存器或用于寄存器或存儲器賦初值,與寄存器或存儲器操作數(shù)進(jìn)存儲器賦初值,
19、與寄存器或存儲器操作數(shù)進(jìn)行算術(shù)邏輯運算行算術(shù)邏輯運算l 例:例:MOV AX, 1C8FH MOV AL, 8FH ADD AX ,100H 錯誤例:錯誤例: MOV 2A00H, AX 1. 立即尋址立即尋址30立即數(shù)立即數(shù)操作碼操作碼低低8位位高高8位位存儲器存儲器MOV操作碼操作碼02H31HAHAL代碼段代碼段立即尋址指令在存立即尋址指令在存儲器中的存放形式儲器中的存放形式AX指令操作例:指令操作例:MOV AX,3102H ; AX 3102H 執(zhí)行后,執(zhí)行后,(AH) = 31H,(AL) = 02H312. 寄存器尋址寄存器尋址l 操作數(shù)放在某個寄存器中操作數(shù)放在某個寄存器中l(wèi)
20、源操作數(shù)與目的操作數(shù)字長要相同源操作數(shù)與目的操作數(shù)字長要相同l 寄存器尋址與段地址無關(guān)寄存器尋址與段地址無關(guān)l 例:例: MOV AX, BX MOV 3F00H, AX MOV CL, AL 錯誤例:錯誤例: MOV AX, BL ; 字長不同字長不同 MOV ES: AX, DX ; 寄存器與段無關(guān)寄存器與段無關(guān)32AXSI2233H2233H指令操作例:指令操作例:MOV SI,AX ; SI (AX) 指令執(zhí)行前:(AX)=2233H 指令執(zhí)行后:(AX)=2233H,(SI)=2233HAX是累加器,結(jié)果存放在是累加器,結(jié)果存放在AX的話,執(zhí)行時間要短些。的話,執(zhí)行時間要短些。通用寄
21、存器是處理器的一部分,采用寄存器尋址方式可通用寄存器是處理器的一部分,采用寄存器尋址方式可以提高效率。以提高效率。333. 直接尋址直接尋址l 指令指令中直接給出操作數(shù)的中直接給出操作數(shù)的16位位偏移地址偏移地址 偏移地址也稱為有效地址偏移地址也稱為有效地址(EA, Effective Address)l 默認(rèn)的段寄存器為默認(rèn)的段寄存器為DS,但也可以顯式地指定其他,但也可以顯式地指定其他段寄存器段寄存器稱為段超越前綴稱為段超越前綴l 偏移地址也可用偏移地址也可用符號地址符號地址來表示,如來表示,如ADDR、VARl 例:例: MOV AX , 2A00H MOV DX , ES: 2A00H
22、 MOV ES: 2A00H,DX MOV SI , TABLE_PTR34指令操作例:指令操作例:MOV AX,3102H AL (3102H) , AH (3103H)如果(DS)=2000H, (23102H) = CDH, (23103H) = ABH則操作數(shù)的物理地址為: 20000H+3102H = 23102H指令執(zhí)行后:(AX) = ABCDHMOV操作碼操作碼02H31HAHAL23102HCDHABH存儲器存儲器代碼段數(shù)據(jù)段.354. 寄存器間接尋址寄存器間接尋址l 操作數(shù)的操作數(shù)的偏移地址偏移地址( (有效地址有效地址EA) )放在放在寄存器寄存器中中l(wèi) 只有只有SISI
23、、DIDI、BXBX和和BPBP可作間址寄存器可作間址寄存器 l 例:例: MOV AX, BX MOV CL, CS:DI 錯誤例錯誤例 : MOV AX, DX MOV CL, AXEA = (BX)(BP)(SI)(DI)36(1) EA = BXSIDI若沒有前綴指明具體的段寄存器,若沒有前綴指明具體的段寄存器,則操作數(shù)在數(shù)據(jù)段則操作數(shù)在數(shù)據(jù)段DS中中(2) EA = BP 若沒有前綴指明具體的段寄存器,若沒有前綴指明具體的段寄存器,則操作數(shù)在堆棧段則操作數(shù)在堆棧段SS。37指令操作例指令操作例:MOV AX,SI若若 (DS)=6000H, (SI)=1200H, (61200H)=
24、44H, (61201H)=33H則指令執(zhí)行后,則指令執(zhí)行后,(AX)=3344H。44H33H60001200DSSI6000061200 61200HAX存儲器存儲器數(shù)據(jù)段 +) 120044H33H385. 寄存器相對尋址(包括基址尋址和變址尋址)寄存器相對尋址(包括基址尋址和變址尋址)l EA=間址寄存器的間址寄存器的內(nèi)容加上內(nèi)容加上一個一個8或或16位的位的位移量位移量寄存器相對尋址寄存器相對尋址常用于存取表格或一維數(shù)組中的常用于存取表格或一維數(shù)組中的元素元素把把表格的起始地址作為位移量表格的起始地址作為位移量,元素的元素的下標(biāo)值放在間址寄存器中下標(biāo)值放在間址寄存器中(或反之)(或反
25、之)EA = (BX)(BP)(SI)(DI)+ 8位位16位位位移量位移量 39(1) 若若EA = BXSIDI+ 8位或位或16位偏移量位偏移量則操作數(shù)地址則操作數(shù)地址 DS: EA(2) 若若EA = BP + 8位或位或16位偏移量位偏移量則操作數(shù)地址:則操作數(shù)地址:SS: EA40l 例:例: MOV AX, BX+8 MOV CX, TABLESI MOV AX, BP ; 默認(rèn)段寄存器為默認(rèn)段寄存器為SSl 指令操作例:指令操作例:MOV AX,DATABX 若若(DS)=6000H, (BX)=1000H, DATA=2A00H, (63A00H)=66H, (63A01H)
26、=55H 則物理地址則物理地址 = 60000H + 1000H + 2A00H = 63A00H 指令執(zhí)行后指令執(zhí)行后:(AX)=5566H(見下頁圖示)(見下頁圖示) 41操作碼操作碼00 偏移量低2A 偏移量高DS 6000BX 1000 + DATA 2A0063A0063A00HAHALAX代碼段數(shù)據(jù)段.66H55HMOV AX,DATABX426. 基址基址-變址尋址變址尋址l 若操作數(shù)的偏移地址:若操作數(shù)的偏移地址: 由由基址寄存器基址寄存器(BX(BX或或BP)BP)給出給出 基址尋址方式基址尋址方式 由由變址寄存器變址寄存器(SI(SI或或DI)DI)給出給出 變址尋址方式變
27、址尋址方式l 由一個基址寄存器由一個基址寄存器的的內(nèi)容內(nèi)容和一個變址寄存器和一個變址寄存器的的內(nèi)內(nèi)容相加容相加而而形成形成操作數(shù)的操作數(shù)的偏移地址偏移地址,稱為稱為基址基址-變址尋變址尋址。址。EA = (BX)(BP)+ (SI)(DI)l 同一組內(nèi)的寄存器不能同時出現(xiàn)同一組內(nèi)的寄存器不能同時出現(xiàn)。43例:例: MOV AX, BX SI MOV AX, BX+SI MOV AX, DS: BP DI錯誤例:錯誤例: MOV AX, BX BP MOV AX, DI SI44 83000操作碼操作碼DS 8000BX 2000 + SI 100083000HAHALAX代碼段數(shù)據(jù)段.YYXX
28、指令操作例:指令操作例:MOV AX,BXSI假定:假定:(DS)=8000H, (BX)=2000H, SI=1000H則物理地址則物理地址 = 80000H + 2000H + 1000H = 83000H= 80000H + 2000H + 1000H = 83000H指令執(zhí)行后指令執(zhí)行后: (: (AL)AL)=83000H83000H ( (AH)AH)=83001H83001H 457. 相對的基址相對的基址-變址尋址變址尋址l 在在基址基址-變址尋址的基礎(chǔ)上再加上一個相對位變址尋址的基礎(chǔ)上再加上一個相對位移量移量l 注意事項同注意事項同基址基址-變址尋址變址尋址EA = (BX)
29、(BP)+ (SI)(DI)+ 8位位16位位位移量位移量 l 例:例:MOV AX,BASE SI BXMOV AX,BX+BASE SIMOV AX,BX+SI+BASEMOV AX,BX BASE SIMOV AX,BX+SI BASE46指令指令操作例:操作例:MOV AX,DATADIBX若若(DS)=8000H, (BX)=2000H, (DI)=1000H, DATA=200H則指令執(zhí)行后則指令執(zhí)行后(AH)=83201H, (AL)=83200H8320083200HAHALAX+ DATA 0200操作碼操作碼代碼段數(shù)據(jù)段.YYXXDS 8000BX 2000 DI 100047使用相對的基址使用相對的基址-變址尋址方式可以很方便地訪變址尋址方式可以很方便地訪問二維數(shù)組。問二維數(shù)組?;芳拇嫫骰芳拇嫫鲾?shù)組首地址數(shù)組首地址變址寄存器變址寄存器數(shù)組元素數(shù)組元素行行址址位移量位移量數(shù)組元素數(shù)組元素列列址址(偏移地址)(偏移地址)488. 隱含尋址隱含尋址l 指令操作數(shù)是隱含的,在指令中未顯式地指明。指令操作數(shù)是隱含的,在指令中未顯式地指明。l 例:例:MUL BL 指令隱含了被乘數(shù)指令隱含了被乘數(shù)AL及乘積及乘積AXl 類似的指令還有:類似的指令還有:DIV、CBW、MOVS
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 450億廣告投放框架合同正式簽署
- 人力資源和社會保障局與勞動合同法改革探討
- 個體戶全職員工標(biāo)準(zhǔn)勞動合同合同范本
- 個人小型店面租賃合同樣本
- 個體藥店并購轉(zhuǎn)讓合同及附件
- 產(chǎn)業(yè)合作投資合同
- 交通事故賠償合同范本大全
- 個人家政服務(wù)勞務(wù)合同
- 喪葬禮儀服務(wù)合同模板
- 二手拖拉機(jī)買賣合同協(xié)議書范本
- 班級管理交流-班主任工作經(jīng)驗交流課件(共28張ppt)
- 建筑裝飾工程計量與計價試題一及答案
- 簡易勞務(wù)合同電子版
- 明代文學(xué)緒論
- 通用稅務(wù)自查情況說明報告(7篇)
- 體育賽事的策劃、組織與實施 體育賽事利益相關(guān)者
- 分析化學(xué)(高職)PPT完整版全套教學(xué)課件
- 晚熟的人(莫言諾獎后首部作品)
- m拱頂儲罐設(shè)計計算書
- 2023外貿(mào)業(yè)務(wù)協(xié)調(diào)期中試卷
- 新人教鄂教版(2017)五年級下冊科學(xué)全冊教學(xué)課件
評論
0/150
提交評論