版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第3章80 x86指令系統(tǒng)及尋址方式,教學(xué)要求:1 .掌握指令系統(tǒng)的基本概念:指令格式、尋址方式和指令類型;掌握8086/8088指令系統(tǒng)中每條指令的格式、功能和注意事項。2.了解其他尋址方法和指令類型。首先,什么是指令系統(tǒng)?計算機(jī)的指令系統(tǒng)是指計算機(jī)可以執(zhí)行的所有指令的集合。每種計算機(jī)都有自己支持的指令集。16位8086指令系統(tǒng)是整個英特爾80 x86系列微處理器指令系統(tǒng)的基礎(chǔ)。2.指令格式指令由操作碼和操作數(shù)組成。操作碼描述了計算機(jī)應(yīng)該執(zhí)行的操作,如轉(zhuǎn)移、操作、移位、跳轉(zhuǎn)等。這是說明書中不可缺少的一部分。操作數(shù)是指令執(zhí)行的參與者,即各種操作的對象。有些指令不需要操作數(shù),普通指令有一個或兩個
2、操作數(shù),有些指令有三個甚至四個操作數(shù),這些操作數(shù)通常成為一個地址指令、兩個地址指令、三個、三個學(xué)習(xí)指令的函數(shù)。這個指令能實現(xiàn)什么樣的操作?通常,指令助記符是英語單詞或其指令功能的縮寫。指令支持的尋址模式該指令中的操作數(shù)可以使用何種尋址模式。指令對標(biāo)志的影響:指令在執(zhí)行后是否影響每個標(biāo)志位,以及如何影響。指令的其他方面需要特別注意,例如指令執(zhí)行時的約定設(shè)置、必須預(yù)設(shè)的參數(shù)以及隱式使用的寄存器。3.1 80 x86尋址模式,尋址,尋址模式的概念指令中的操作數(shù)字段本質(zhì)上指示操作數(shù)的存儲位置。一般來說,操作數(shù)可以跟隨指令操作碼,這被稱為立即數(shù);操作數(shù)也可以存儲在中央處理器內(nèi)部的寄存器中,稱為寄存器操作
3、數(shù)。大多數(shù)操作數(shù)存儲在內(nèi)部存儲器中,稱為內(nèi)存操作數(shù)。指令指定操作數(shù)的位置,即給出地址信息,執(zhí)行時需要根據(jù)地址信息找到所需的操作數(shù)。這個尋找操作數(shù)的過程叫做尋址,而尋找操作數(shù)的方法叫做尋址。指令的助記格式:指令助記操作數(shù)1、操作數(shù)2、操作數(shù)3;注釋指令助記符反映了指令的功能,對應(yīng)于二進(jìn)制編碼的機(jī)器指令。指令的操作數(shù)數(shù)量由指令決定,指令可以沒有操作數(shù),也可以有一個、兩個或三個操作數(shù)。大多數(shù)指令的操作數(shù)應(yīng)該顯式寫入,但也有一些指令的操作數(shù)是隱式的,不需要寫入指令中。注意:當(dāng)指令包含操作數(shù)時,寫時必須注意:指令助記符和操作數(shù)之間必須有分隔符,分隔符可以是幾個空格或制表符;如果指令包含多個操作數(shù),操作數(shù)
4、應(yīng)該用逗號分隔。注釋也可以寫在指令之后,但是要用分號“;”應(yīng)該寫在評論之前。3.1.1與數(shù)據(jù)相關(guān)的尋址方式,以MOV指令為例:立即尋址movax,3069H寄存器尋址MOV AL,BH直接尋址MOV AX,2000H寄存器間接尋址MOV AX,bx寄存器相對尋址莫瓦克斯,countsi基址索引尋址莫瓦克斯,BP DI相對基址索引MOV AX,MASK BX SI,1。立即尋址模式,定義:操作數(shù)作為指令的一部分直接寫入指令,這個操作數(shù)稱為立即數(shù),這個尋址模式也稱為立即數(shù)尋址模式。匯編格式:n(n是直接操作數(shù),是用8位或16位二進(jìn)制補碼表示的有符號數(shù))。函數(shù):操作數(shù)存儲在內(nèi)存中,下一個指令單元的內(nèi)
5、容是直接操作數(shù)n。圖形表示:例3.14576小時執(zhí)行后的最大值=?在這個例子中,源操作數(shù)被立即尋址,并且立即數(shù)是4576H,它被存儲在指令的下一個單元中。執(zhí)行:在執(zhí)行4576HAX之后:(AX)=4576H,2。寄存器尋址模式,定義:指令所需的操作數(shù)已存儲在寄存器中,或者目標(biāo)操作數(shù)已存儲在寄存器中。指令中指示的寄存器尋址模式(即寄存器的助記符)稱為寄存器尋址模式。匯編格式:r,其中r代表寄存器名稱。功能:操作數(shù)直接存儲在寄存器r中。圖形表示:指令中可以引用的寄存器及其符號名如下:8位寄存器包括AH、AL、BH、BL、CH、cl、DH和DL;16位寄存器:AX、BX、CX、DX、SI、DI、SP
6、、BP和段寄存器;源操作數(shù)是寄存器尋址模式,如加法變量、加法VARB、加法移位等。其中:VARW和VARB是字和字節(jié)類型的存儲變量。目標(biāo)操作數(shù)是寄存器尋址模式,例如:ADD BH,78hADD AX,1234h。源操作數(shù)和目標(biāo)操作數(shù)都是寄存器尋址模式,例如:MOV AX、BX MOV DH、BL等。注意:由于指令所需的操作數(shù)已經(jīng)存儲在寄存器中,或者運算結(jié)果已經(jīng)存儲在寄存器中,因此在指令執(zhí)行過程中,讀/寫存儲單元的次數(shù)將會減少,因此使用寄存器尋址模式的指令具有更快的執(zhí)行速度。一般來說,在編譯匯編語言程序時,應(yīng)該盡可能多地使用寄存器尋址,但它不應(yīng)該是絕對的。示例3.2執(zhí)行以下程序后,(AX)=?(
7、BX)=?MOV AX,1234H MOVAX,5678H ADD AX,BX解釋:本程序中的MOV指令是數(shù)據(jù)傳輸指令操作符,ADD指令是加法指令操作符,三個指令都是雙操作數(shù)指令。第一和第二指令A(yù)X和BX是目的操作數(shù)地址,它們是寄存器尋址模式。在第三條指令中,AX是目標(biāo)操作數(shù)地址,BX是源操作數(shù)地址。源地址和目的地址是寄存器尋址方法。執(zhí)行:在執(zhí)行1234HAX 5678HBX (AX) (BX)AX之后:(AX)=68ACH,(BX)=5678小時。3.直接尋址模式,定義:指令所需的操作數(shù)存儲在內(nèi)存中,操作數(shù)的有效地址直接在指令中給出。帶變量的地址表達(dá)式。函數(shù):指令的下一個字單元的內(nèi)容是操作數(shù)
8、的偏移地址EA。圖形表示:示例3.3執(zhí)行指令:MOVBX,在1234H設(shè)置(DS)=2000H。執(zhí)行后:(AX)=?說明:執(zhí)行:(21234H)BX執(zhí)行后:(BX)=5312H,通常,操作數(shù)存儲在數(shù)據(jù)段中,因此其物理地址將直接由數(shù)據(jù)段寄存器ds和指令中給出的有效地址形成,但如果數(shù)據(jù)段超過前綴,操作數(shù)可以存儲在其他數(shù)據(jù)段中。例如:MOVES:1000H,AX注意:立即尋址模式的寫入格式與直接尋址模式不同,直接尋址的地址應(yīng)寫在括號“、”中。在程序中,直接地址通常由內(nèi)存變量名來表示,如movbx和varw,其中VARW是一個內(nèi)存字變量。比較以下指令中源操作數(shù)的尋址模式(VARW是一個存儲字變量):4
9、。寄存器間接尋址模式,意思是:操作數(shù)在內(nèi)存中,操作數(shù)的有效地址由四個寄存器中的一個指定,如SI、DI、BX和BP,稱為寄存器間接尋址模式。匯編格式:r函數(shù):操作數(shù)存儲在內(nèi)存中,寄存器r存儲操作數(shù)的偏移地址EA。圖形表示:示例3.4假設(shè)有指令:MOVBX,當(dāng)執(zhí)行時,DI,(DS)=1000H,(DI)=2345H,存儲單元12345H的內(nèi)容是4354H。執(zhí)行指令后,BX值多少?解決方案:寄存器DI的值不是操作數(shù),而是操作數(shù)的地址。操作數(shù)的物理地址應(yīng)該由DS和DI的值構(gòu)成,即pa=(DS)* 16DI=1000h * 162345h=12345h。因此,該指令的執(zhí)行效果是將一個字的值從物理地址12
10、345H傳輸?shù)紹X。在不使用段覆蓋前綴的情況下,有以下規(guī)定:如果有效地址由si、DI和BX之一指定,則其默認(rèn)段寄存器為ds;如果有效地址由業(yè)務(wù)伙伴指定,則其缺省段寄存器為ss(即堆棧段)。這種尋址方式的物理地址計算方法如下:BX物理地址PA=16DS SI DI或物理地址pa=16ssbp,5。寄存器相對尋址模式,意思是:操作數(shù)在內(nèi)存中,其有效地址是基址寄存器(BX,英國石油公司)或索引寄存器(si,DI)的內(nèi)容和指令中8位/16位偏移量的總和。匯編格式:XR(X表示位移,是由8位或16位二進(jìn)制補碼表示的有符號數(shù))函數(shù):操作數(shù)存儲在內(nèi)存中,寄存器R的內(nèi)容加上位移X就是操作數(shù)的偏移地址EA。圖形
11、表示如下:例3.5假設(shè)指令:MOVBX,SI 100H,執(zhí)行時,(DS)=1000H,(SI)=2345H,存儲單元12445H的內(nèi)容是2715H,指令執(zhí)行后BX的值是多少?等式為:ea=(si)100h=2345h 100h=2445 HPA=(ds)* 16ea=1000h * 162445h=12445h。因此,該指令的執(zhí)行效果是將一個字的值從物理地址12445H傳輸?shù)紹X。6.基址索引尋址模式,意思是:操作數(shù)在內(nèi)存中,其有效地址是基址寄存器(BX,英國石油公司)和索引寄存器(國際單位制,德國石油公司)內(nèi)容的總和。匯編格式:BR加IR函數(shù):操作數(shù)存儲在內(nèi)存中,BR加IR的內(nèi)容是操作數(shù)的偏
12、移地址EA。圖形表示:示例3.6假設(shè)指令是BX MOVBX的SI,當(dāng)執(zhí)行時,(DS)=1000H,(BX)=2100H,(SI)=0011H,并且存儲單元12111H的內(nèi)容是1234H。指令執(zhí)行后,BX值多少?解決方案:操作數(shù)的物理地址PA為:PA=(ds)* 16(BX)(si)=1000h * 16 2100h 0011h=12111h。因此,該指令的執(zhí)行效果是將一個字的值從物理地址12111h傳送到bx。7。相對于基址索引尋址模式,定義:操作數(shù)在內(nèi)存中,其有效地址是基址寄存器的值(BX,英國石油公司)、索引寄存器的值(國際單位制,德國石油公司)和指令中8位/16位偏移量的總和。匯編格式:
13、X BR IR函數(shù):操作數(shù)存儲在內(nèi)存中,BR內(nèi)容加上IR內(nèi)容加上位移X是操作數(shù)的偏移地址EA。圖形表示:內(nèi)存,例3.7假設(shè)指令為MOV AX,BX SI 200H,執(zhí)行時,(DS)=1000H,(BX)=2100H,(SI)=0010H,內(nèi)存單元12310H的內(nèi)容為1234H。指令執(zhí)行后,AX的值是多少?解決方案:操作數(shù)的物理地址應(yīng)該由直接序列和間接序列的值組成,即,功率放大器=12310小時。因此,該指令的執(zhí)行效果是將一個字的值從物理地址12310H傳輸?shù)紸X??缍谓徊娴膯栴},當(dāng)使用的寄存器是BX,國際單位制和國際單位制時,缺省段是直接序列,而當(dāng)使用反向序列時,缺省段是直接序列。該規(guī)定是系統(tǒng)
14、的默認(rèn)狀態(tài)。當(dāng)您想要拒絕默認(rèn)狀態(tài)并在非常規(guī)段中查找操作數(shù)時,您必須用跨段前綴指示操作數(shù)的段寄存器名稱。匯編格式:段寄存器名稱:操作數(shù)地址。函數(shù):冒號“:”前的段寄存器名表示操作數(shù)所在的段。示例3.8 movax,DS: BP movcx,SS: si在本示例中,DS:SS:是跨段前綴,此時默認(rèn)狀態(tài)無效,操作數(shù)的物理地址PA是通過將段寄存器的內(nèi)容向左移動4位加上偏移量EA而形成的。上述兩條指令的源操作數(shù)的物理地址為:PA1=(DS)左移4位,PA2=(SS)左移4位,SI,3.1.2與轉(zhuǎn)移地址相關(guān)的尋址方式用于確定轉(zhuǎn)移指令和調(diào)用指令的轉(zhuǎn)向地址。傳輸?shù)刂肥峭ㄟ^各種尋址方法獲得的有效地址和段地址的總
15、和。有效地址存儲在IP寄存器中,段地址被指定為CS段寄存器內(nèi)容。段內(nèi)尋址段內(nèi)直接尋址JMP臨近PTR下一段內(nèi)間接尋址JMP表BX段間直接尋址JMP遠(yuǎn)PTR下一段間間接尋址JMP DWORD PTR BX,(1)段內(nèi)直接尋址,轉(zhuǎn)移的有效地址=當(dāng)前(IP)位移(8位/16位),示例3.8 (1) JMP SHORT QUEST,其中QUEST代表轉(zhuǎn)移的符號地址,運算符SHORT代表8位有符號數(shù)字,范圍為80H 7FH,即-128 128它只能在相對于當(dāng)前IP(分支指令的下一條指令的第一個地址)所指示的位置的-128到127的范圍內(nèi)跳轉(zhuǎn),所以它被稱為短跳轉(zhuǎn)。(2)JMP NEAR PTR PROGA
16、,其中PROGA表示傳輸符號地址,運算符NEAR PRT表示16位有符號數(shù),該數(shù)的范圍是8000H 7FFFH,即-32768 32767。相對于當(dāng)前IP所指向的位置,它只能在-32768到32767的范圍內(nèi)跳轉(zhuǎn),所以稱為近跳轉(zhuǎn)。(2)段內(nèi)的間接尋址,有效地址是寄存器或存儲器的內(nèi)容它可以通過除立即數(shù)以外的任何數(shù)據(jù)尋址方法獲得,并且所獲得的有效地址代替了IP寄存器的內(nèi)容。例3.9已知表=20A2H,(BX)=1256H,(西)=528EH,(直)=2000H,(232F8H)=3280H,(264 E4H)=2450H JMP BX;(知識產(chǎn)權(quán))=1256小時JMP字表;(知識產(chǎn)權(quán))=3280 JMP字PTR BXSI(知識產(chǎn)權(quán))=2450小時,(3)段間直接尋址,用指令中提供的轉(zhuǎn)向段地址和偏移地址替換控制系統(tǒng)和知識產(chǎn)權(quán)。示例3.9 jmp farptr next rough,32,ea,01,00,10,10,cs=0000h,CS,00000,02000,IP,IP=2000h,CS,cs=10000。(4)段間間接尋址,用存儲器中兩個連續(xù)字的內(nèi)容代替控制系統(tǒng)和控制協(xié)議,通過存儲器尋址獲得存儲單元的地址。示例3.10如
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 金箔制作工班組建設(shè)知識考核試卷含答案
- 制線工8S執(zhí)行考核試卷含答案
- 租賃業(yè)務(wù)員安全防護(hù)考核試卷含答案
- 長度計量員安全生產(chǎn)意識知識考核試卷含答案
- 寵物健康護(hù)理員崗前理論實操考核試卷含答案
- 香料合成工崗前安全行為考核試卷含答案
- 石墨化工安全強(qiáng)化考核試卷含答案
- 苯乙烯-丙烯腈樹脂(SAN)裝置操作工操作水平模擬考核試卷含答案
- 2024年石家莊鐵道大學(xué)輔導(dǎo)員招聘備考題庫附答案
- 2025年三明市特崗教師筆試真題題庫附答案
- 2026年甘肅省蘭州市皋蘭縣蘭泉污水處理有限責(zé)任公司招聘筆試參考題庫及答案解析
- 2025年全國高壓電工操作證理論考試題庫(含答案)
- 居間合同2026年工作協(xié)議
- 2025-2026學(xué)年(通*用版)高二上學(xué)期期末測試【英語】試卷(含聽力音頻、答案)
- 翻車機(jī)工操作技能水平考核試卷含答案
- 員工宿舍安全培訓(xùn)資料課件
- 化工設(shè)備培訓(xùn)課件教學(xué)
- 舞臺燈光音響控制系統(tǒng)及視頻顯示系統(tǒng)安裝施工方案
- 2025福建省能源石化集團(tuán)有限責(zé)任公司秋季招聘416人參考考試試題及答案解析
- 煤礦三違行為界定標(biāo)準(zhǔn)及處罰細(xì)則
- 服裝廠安全生產(chǎn)責(zé)任制度制定
評論
0/150
提交評論