版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
3.0尋址方式預(yù)備知識(shí)指令由操作碼和操作數(shù)兩部分組成;操作碼說明計(jì)算機(jī)要執(zhí)行哪種操作,用一個(gè)唯一的助記符表示,對(duì)應(yīng)著一個(gè)機(jī)器指令的二進(jìn)制編碼;操作數(shù)是指令執(zhí)行的參與者,即各種操作的對(duì)象;指令中操作碼是不可缺少的,但操作數(shù)則是可選部分;16位系統(tǒng)中,操作數(shù)的數(shù)目一般為0~2個(gè),用逗號(hào)分隔。05一月20231操作碼操作數(shù)指令格式3.0尋址方式預(yù)備知識(shí)指令由操作碼和操作數(shù)兩部分組成;2尋址方式尋址方式可分為指令尋址和數(shù)據(jù)尋址兩種類型;
本章主要介紹數(shù)據(jù)尋址方式。數(shù)據(jù)尋址方式在指令中,指定操作數(shù)或操作數(shù)存放位置的方法。一般,指令系統(tǒng)中會(huì)設(shè)計(jì)多種操作數(shù)的尋址方式;操作數(shù)采取不同的尋址方式,指令的執(zhí)行速度也會(huì)不同。05一月20232答:由控制器區(qū)分,通過CS和IP尋址的為指令,其他為數(shù)據(jù)。思考:數(shù)據(jù)、程序都在存儲(chǔ)器中,如何區(qū)分?尋址方式尋址方式可分為指令尋址和數(shù)據(jù)尋址兩種類型;
本章主要示例指令數(shù)據(jù)傳送指令MOV<目的操作數(shù)>,<源操作數(shù)>例如:MOVAX,1234HMOVAX,BXMOVAX,[BX]注意:尋址方式是針對(duì)操作數(shù)的,而不是指令的。指定操作數(shù)的尋址方式時(shí),一定要指明是對(duì)源操作數(shù)還是對(duì)目的操作數(shù)而言。05一月20233示例指令數(shù)據(jù)傳送指令28十二月20223指令中數(shù)據(jù)的位置指令中立即數(shù)尋址方式;寄存器中寄存器尋址方式;存儲(chǔ)單元中直接、間接、相對(duì)、基址變址、相對(duì)基址變址尋址方式;區(qū)別在于:形成操作數(shù)有效地址的方式不同;05一月20234指令中數(shù)據(jù)的位置指令中28十二月20224內(nèi)部暫存器
IPESSSDSCS輸入/輸出控制電路外部總線執(zhí)行部分控制電路123456∑ALU標(biāo)志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令隊(duì)列緩沖器執(zhí)行部件(EU)總線接口部件(BIU)16位20位16位8位①M(fèi)OVAX,1234H②MOVAX,BX③MOVAX,[BX]內(nèi)部暫存器IPESSSDSCS輸入尋址方式中的符號(hào)表示(BX)=1000H[BX]=……[2000H]=……(AX)=(AX)+(BX)符號(hào)含義Imm立即數(shù)R寄存器SR段寄存器M存儲(chǔ)單元S源操作數(shù)D目的操作數(shù)()…中的數(shù)據(jù)[]地址單元05一月20236尋址方式中的符號(hào)表示(BX)=1000H符號(hào)含義Imm立即數(shù)3.1立即數(shù)尋址方式立即數(shù)尋址方式操作數(shù)的數(shù)值緊跟在操作碼之后,直接在指令中出現(xiàn)。特點(diǎn)優(yōu)點(diǎn):執(zhí)行速度快;缺點(diǎn):立即數(shù)不能修改,通用性差(適用于常數(shù))。注意:立即數(shù)不能作為目的操作數(shù);可以為8位也可以為16位,常用于給寄存器賦值。05一月20237不需訪存即可執(zhí)行3.1立即數(shù)尋址方式立即數(shù)尋址方式28十二月202立即數(shù)尋址方式舉例MOVBL,12HMOVX1,34
MOVBX,3478H機(jī)器指令:BB7834在存儲(chǔ)器中的存放格式05一月20238BLBH……3478BB低地址單元高地址單元操作碼MOVAL,300正確嗎?位數(shù)不匹配,不正確!代碼段立即數(shù)尋址方式舉例MOVBL,12H3.2寄存器尋址方式寄存器尋址方式操作數(shù)在寄存器中,指令的操作碼之后給出該寄存器的編號(hào)或名稱。某些系統(tǒng)的指令是將寄存器編號(hào)與操作碼一起編碼的。除IP、FR外的所有寄存器(包括段寄存器)都可以用作寄存器尋址方式。由于操作數(shù)存在于CPU中,指令執(zhí)行時(shí)不需訪存,因此具有較快的執(zhí)行速度。05一月202393.2寄存器尋址方式寄存器尋址方式28十二月202寄存器尋址方式舉例MOVAX,1234H;(AX)=1234H源操作數(shù)是立即數(shù)尋址方式;目的操作數(shù)是寄存器尋址方式。MOVBX,AX;(BX)=(AX)=1234H源操作數(shù)及目的操作數(shù)均為寄存器尋址方式。MOVX,AX源操作數(shù)是寄存器尋址方式;目的操作數(shù)是直接尋址方式。05一月202310寄存器尋址方式舉例MOVAX,1234H;(AX)3.3直接尋址方式直接尋址方式操作數(shù)在存儲(chǔ)單元中,指令的操作碼之后給出該存儲(chǔ)單元的有效地址。有效地址EA也稱為偏移地址,是相對(duì)于段起始地址的偏移量;指令中,EA可以是數(shù)值形式,也可以是符號(hào)地址形式;例如:MOVAX,[100H] ;數(shù)值地址必須加方括號(hào)
MOVAX,DATA ;符號(hào)地址必須事先定義05一月2023113.3直接尋址方式直接尋址方式28十二月202211直接尋址方式——物理地址的形成
在默認(rèn)情況下,數(shù)據(jù)在DS段中物理地址PA=(DS)×16
+EA
若數(shù)據(jù)不在DS段,可用顯式指明段寄存器的段超越方式。指令形式:MOVES:[100H],AL物理地址PA=(ES)×16
+100H
指令MOVAX,[100H]與MOVAX,SS:[100H]執(zhí)行結(jié)果是否相同?不相同!所訪問存儲(chǔ)單元不同。05一月202312直接尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在DS段中直接尋址方式——舉例……13H52H……05一月202313執(zhí)行指令MOVBX,[1234H]時(shí),(DS)=2000H,存儲(chǔ)單元21234H的值為5213H,問執(zhí)行該指令后BX的值是什么?該指令源操作數(shù)的尋址方式為直接尋址方式;有效地址EA=1234H,無段超越,為默認(rèn)的DS段;物理地址PA=2000H×16+1234H=21234H所以,該指令執(zhí)行后(BX)=5213H21234H21235H直接尋址方式——舉例……13H52H……28十二月202思考問題問1:右邊所示的三條指令有何不同?源操作數(shù)的尋址方式不同:第一條指令為直接尋址方式;后兩條指令為立即數(shù)尋址方式;數(shù)據(jù)數(shù)制不同:前兩條為十六進(jìn)制;第三條為十進(jìn)制。問2:MOVAX,X和MOVAX,[X]效果一樣嗎?一樣。符號(hào)地址加不加括號(hào)指的都是之前定義的單元。問3:高級(jí)語言的y=x;用匯編指令如何實(shí)現(xiàn)?需要使用兩條指令完成賦值。05一月202314MOVAX,[2000H]MOVAX,2000HMOVAX,2000MOVAX,XMOVY,AX思考問題問1:右邊所示的三條指令有何不同?28十二月203.4寄存器間接尋址方式寄存器間接尋址方式操作數(shù)在存儲(chǔ)單元中,指令的操作碼之后給出存放該單元有效地址的寄存器編碼或名稱。注意:可以用于這種尋址方式的寄存器稱為間址寄存器。間址寄存器有:BX、BP、SI、DI例如:MOVAX,[BX]05一月2023153.4寄存器間接尋址方式寄存器間接尋址方式28十二月寄存器間接尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在DS段或SS段中,由尋址所用的間址寄存器決定;物理地址PA=(DS)×16+(BX/SI/DI) ;DS段物理地址PA=(SS)×16+(BP) ;SS段若需要尋址其他段,則可使用段超越方式;MOVAX,ES:[BX]MOVAX,ES:[BP]操作數(shù)的尋址過程05一月202316寄存器間接尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在DS05一月20231728十二月202217寄存器間接尋址方式——舉例例3.2執(zhí)行指令MOVBX,[DI]時(shí),(DS)=1000H,(DI)=2345H,存儲(chǔ)單元12345H的值為4354H,則指令執(zhí)行后BX的值為多少?該指令源操作數(shù)的尋址方式為寄存器間接尋址方式;有效地址EA=(DI)=2345H,無段超越,為默認(rèn)的DS段;物理地址PA=(DS)×16+EA =1000H×16+2345H=12345H所以,該指令執(zhí)行后(BX)=(12345H)=4354H05一月202318……54H43H……12345H12346H寄存器間接尋址方式——舉例例3.2執(zhí)行指令MOV尋址方式判斷正誤MOVAX,[SP]錯(cuò)誤!間址寄存器錯(cuò)誤。MOVAX,SP正確!寄存器尋址。MOVAX,[SI]正確!寄存器間接尋址。MOVAX,SI正確!寄存器尋址。MOVAX,[BX]正確!寄存器間接尋址。MOVAX,BX正確!寄存器尋址。MOVAX,[BP]正確!寄存器間接尋址。MOVAX,BP正確!寄存器尋址。MOVAX,[DS]錯(cuò)誤!間址寄存器錯(cuò)誤。MOVAX,DS正確!寄存器尋址。05一月202319尋址方式判斷正誤MOVAX,[SP]MOVAX3.5寄存器相對(duì)尋址方式寄存器相對(duì)尋址方式操作數(shù)在存儲(chǔ)單元中,操作數(shù)的有效地址為指令中指定間址寄存器的值與指令中給出的偏移量(DISP)之和。指令格式間址寄存器:BX、BP、SI、DI;偏移量:數(shù)值形式、或符號(hào)地址形式;例如:05一月202320MOVAX,[BX+100H]MOVAX,[BX][100H]MOVAX,100H[BX]3.5寄存器相對(duì)尋址方式寄存器相對(duì)尋址方式28十二月寄存器相對(duì)尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在DS段或SS段中,由尋址所用的間址寄存器決定;物理地址PA=(DS)×16+(BX/SI/DI)+DISP ;DS段物理地址PA=(SS)×16+(BP)+DISP ;SS段若需要尋址其他段,則可使用段超越方式;MOVAX,ES:[BX+100H]MOVAX,ES:[BP+100H]操作數(shù)的尋址過程05一月202321寄存器相對(duì)尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在DS05一月20232228十二月202222計(jì)算有效地址的注意事項(xiàng)如果偏移量是8位,則應(yīng)先進(jìn)行16位符號(hào)擴(kuò)展,再進(jìn)行計(jì)算。MOVAX,[BX+0FFH]中參與計(jì)算的偏移地址為0FFFFH;當(dāng)計(jì)算所得的有效地址超過0FFFFH時(shí),則將其對(duì)64K取模的結(jié)果作為有效地址。MOVAX,[BX+100H],若(BX)=0FFFFH,則
EA=0FFFFH+100H=100FFH(mod64K)=0FFH以上對(duì)其他由多個(gè)部分計(jì)算形成EA的尋址方式也同樣適用。05一月202323計(jì)算有效地址的注意事項(xiàng)如果偏移量是8位,則應(yīng)先進(jìn)行16位符號(hào)寄存器相對(duì)尋址方式舉例例3.3執(zhí)行指令MOVBX,[SI+100H]時(shí),(DS)=1000H,(SI)=2345H,存儲(chǔ)單元12445H的值為2715H,則指令執(zhí)行后BX的值為多少?該指令源操作數(shù)的尋址方式為寄存器相對(duì)尋址方式;有效地址EA=(SI)+100H=2445H,為默認(rèn)的DS段;物理地址PA=(DS)×16+EA =1000H×16+2445H=12445H所以,該指令執(zhí)行后(BX)=(12445H)=2715H05一月202324……15H27H……12445H12446H寄存器相對(duì)尋址方式舉例例3.3執(zhí)行指令MOVBX,[寄存器相對(duì)尋址方式判斷正誤MOVAX,[DI+06H]正確!AX←DS:[DI+06H]MOVAX,[BP+06H]正確!AX←SS:[BP+06H]MOVAX,[SP+10H]錯(cuò)誤!間址寄存器使用不正確!05一月202325寄存器相對(duì)尋址方式判斷正誤MOVAX,[DI+06H]3.6基址變址尋址方式基址變址尋址方式操作數(shù)在存儲(chǔ)單元中,操作數(shù)的有效地址為指令中指定的基址寄存器的值與變址寄存器的值之和。指令格式基址寄存器:BX、BP;變址寄存器:SI、DI;例如:05一月202326MOVAX,[BX+SI]
MOVAX,[BP][SI]
MOVAX,[BX]+[SI]3.6基址變址尋址方式基址變址尋址方式28十二月20基址變址尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在DS段或SS段中,由尋址所用的基址寄存器決定;物理地址PA=(DS)×16+(BX)+(SI/DI)物理地址PA=(SS)×16+(BP)+(SI/DI)若需要尋址其他段,則可使用段超越方式;MOVAX,ES:[BX+SI]MOVAX,ES:[BP+SI]操作數(shù)的尋址過程05一月202327基址變址尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在DS段05一月20232828十二月202228基址變址尋址方式舉例例3.4執(zhí)行指令MOVBX,[BX+SI]時(shí),(DS)=1000H,(BX)=2100H,(SI)=0011H,存儲(chǔ)單元12111H的值為1234H,則指令執(zhí)行后BX的值為多少?該指令源操作數(shù)的尋址方式為基址變址尋址方式;有效地址EA=(BX)+(SI)=2100H+0011H=2111H物理地址PA=(DS)×16+EA =1000H×16+2111H=12111H所以,該指令執(zhí)行后(BX)=(12111H)=1234H05一月202329……34H12H……12111H12112H基址變址尋址方式舉例例3.4執(zhí)行指令MOVBX,3.7相對(duì)基址變址尋址方式相對(duì)基址變址尋址方式操作數(shù)在存儲(chǔ)單元中,操作數(shù)的有效地址為指令中指定的基址寄存器的值、變址寄存器的值和位移量(DISP)三者之和。指令格式基址寄存器:BX、BP;變址寄存器:SI、DI;偏移量:數(shù)值形式、或符號(hào)地址形式;例如:05一月202330MOVAX,[BX+SI+100]MOVAX,100[BX][SI]MOVAX,100[BX+SI]3.7相對(duì)基址變址尋址方式相對(duì)基址變址尋址方式28十二月相對(duì)基址變址尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在DS段或SS段中,由尋址所用的基址寄存器決定;物理地址PA=(DS)×16+(BX)+(SI/DI)+DISP物理地址PA=(SS)×16+(BP)+(SI/DI)+DISP若需要尋址其他段,則可使用段超越方式;MOVAX,ES:[BX+SI+10H]MOVAX,ES:[BP+SI+10H]操作數(shù)的尋址過程05一月202331相對(duì)基址變址尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在D05一月20233228十二月202232相對(duì)基址變址尋址方式舉例例3.5執(zhí)行指令MOVAX,[BX+SI+200H]時(shí),(DS)=1000H,(BX)=2100H,(SI)=0010H,存儲(chǔ)單元12310H的值為1234H,則指令執(zhí)行后AX的值為多少?該指令源操作數(shù)的尋址方式為相對(duì)基址變址尋址方式;有效地址EA=(BX)+(SI)+200H =2100H+0010H+200H=2310H物理地址PA=(DS)×16+EA =1000H×16+2310H=12310H所以,該指令執(zhí)行后(AX)=(12310H)=1234H05一月202333……34H12H……12310H12311H相對(duì)基址變址尋址方式舉例例3.5執(zhí)行指令MOVAX,練習(xí)試說明下列指令中源操作數(shù)的尋址方式,并指出指令執(zhí)行后寄存器AX中的值或所要尋找操作數(shù)的EA值。設(shè)(BX)=2000H,(SI)=40H05一月202334MOVAX,[1234H]MOVAX,1234HMOVAX,BXMOVAX,[BX]MOVAX,[BX+1234H]MOVAX,[BX+SI]MOVAX,[BX+SI+1234H]直接尋址方式,EA=1234H立即數(shù)尋址方式,(AX)=1234H寄存器尋址方式,(AX)=2000H寄存器間接尋址方式,EA=2000H寄存器相對(duì)尋址方式,EA=3234H基址加變址尋址方式,EA=2040H相對(duì)基址加變址尋址方式,EA=3274H練習(xí)試說明下列指令中源操作數(shù)的尋址方式,并指出指令執(zhí)行后尋址方式練習(xí)MOVAX,2000HMOVDS,AXMOVBX,100HMOVAX,[150H]ADDBX,AXMOVAL,[BX]ADDAL,[BX+1]MOVSI,2ADDAL,[BX+SI]MOVAH,0MOVCH,0MOVCL,[BX+SI+1]ADDAX,CX05一月202335源操作數(shù)為立即數(shù)尋址方式源操作數(shù)為寄存器尋址方式源操作數(shù)為立即數(shù)尋址方式源操作數(shù)為直接尋址方式源操作數(shù)為寄存器尋址方式源操作數(shù)為寄存器間接尋址方式源操作數(shù)為寄存器相對(duì)尋址方式源操作數(shù)為立即數(shù)尋址方式源操作數(shù)為基址加變址尋址方式源操作數(shù)為立即數(shù)尋址方式源操作數(shù)為立即數(shù)尋址方式源操作數(shù)為相對(duì)基址加變址尋址方式源操作數(shù)為寄存器尋址方式尋址方式練習(xí)MOVAX,2000H28十二月20總結(jié)(1/4)三大類尋址方式——按操作數(shù)的存放位置分類立即數(shù)尋址方式寄存器尋址方式存儲(chǔ)器尋址方式(共5種)指令中凡是加有方括號(hào)”[]”的立即數(shù)或寄存器,其值均表示為地址信息;例如:MOVAX,[1000H]MOVAX,[BX]05一月202336總結(jié)(1/4)三大類尋址方式——按操作數(shù)的存放位置分類205一月20233728十二月202237總結(jié)(2/4)存儲(chǔ)器尋址方式中,在取操作數(shù)之前需要計(jì)算有效地址;有效地址EA是將指令中所有地址信息相加之和;注意事項(xiàng):
1.有偏移量的,應(yīng)將偏移量按補(bǔ)碼轉(zhuǎn)換為16位再計(jì)算;
2.有效地址應(yīng)為16位,多于16位應(yīng)按64K取模;存儲(chǔ)器尋址方式中,默認(rèn)情況下均在DS段/SS段中,使用段超越的方式可改變默認(rèn)段寄存器;例如:MOVAX,ES:[BP][DI]05一月202338總結(jié)(2/4)存儲(chǔ)器尋址方式中,在取操作數(shù)之前需要計(jì)算有總結(jié)(3/4)間址寄存器——BX、BP、SI、DI間址寄存器又可分為基址寄存器(BX、BP)和變址寄存器(SI、DI)兩類;方括號(hào)”[]”中的寄存器只能是一個(gè)或兩個(gè)間址寄存器,且不能同時(shí)為基址寄存器或變址寄存器;05一月202339總結(jié)(3/4)間址寄存器——BX、BP、SI、DI28總結(jié)(4/4)相對(duì)基址加變址尋址方式與其他尋址方式之間的變形關(guān)系 MOVAX,[BX+SI+100H]05一月202340源操作數(shù)尋址特點(diǎn)指令的變形源操作數(shù)尋址方式只有一個(gè)偏移量MOVAX,[100H]只有一個(gè)間址寄存器MOVAX,[BX]MOVAX,[SI]有一個(gè)間址寄存器和一個(gè)偏移量MOVAX,[BX+100H]MOVAX,[SI+100H]有兩個(gè)間址寄存器MOVAX,[BX+SI]直接尋址方式寄存器間接尋址方式寄存器相對(duì)尋址方式基址加變址尋址方式總結(jié)(4/4)相對(duì)基址加變址尋址方式與其他尋址方式之間的2.指出下列各種操作數(shù)的尋址方式:[BX]SI435H [BP+DI+123] [23] data [DI+32] [BX+SI] [EAX+90] [BP+4] 05一月202341寄存器間接尋址方式寄存器尋址方式立即數(shù)尋址方式相對(duì)基址加變址尋址方式直接尋址方式寄存器相對(duì)尋址方式基址加變址尋址方式32位系統(tǒng)的寄存器相對(duì)尋址方式寄存器相對(duì)尋址方式直接尋址方式2.指出下列各種操作數(shù)的尋址方式:[BX]28十二月24.判斷下列操作數(shù)的尋址方式的正確性[AX] [EAX] BP [SI+DI] DS BH [BX+BP+32] [BL+44] 05一月202342錯(cuò)誤,16位間址寄存器只有BX,BP,SI,DI正確,32位系統(tǒng)的寄存器間接尋址方式正確,寄存器尋址方式錯(cuò)誤,間址寄存器不能同時(shí)為變址寄存器正確,寄存器尋址;如:MOVDS,AX正確,寄存器尋址錯(cuò)誤,間址寄存器不能同時(shí)為基址寄存器
錯(cuò)誤,16位間址寄存器只有BX,BP,SI,DI4.判斷下列操作數(shù)的尋址方式的正確性[AX] 28十二4.判斷下列操作數(shù)的尋址方式的正確性(續(xù))[CX+90H] EDX BX+90H [DX] SI[100H] [BX*4] [EAX+EBX*6] [DX+90H] 05一月202343錯(cuò)誤,CX不可作為間址寄存器正確,32位系統(tǒng)的寄存器尋址方式錯(cuò)誤,應(yīng)為[BX+90H]錯(cuò)誤,DX不能作間址寄存器錯(cuò)誤,書寫格式應(yīng)為100H[SI]或[SI+100H]錯(cuò)誤,16位系統(tǒng)中沒有比例因子尋址方式錯(cuò)誤,只能乘1、2、4、8等比例因子錯(cuò)誤,DX不能作間址寄存器4.判斷下列操作數(shù)的尋址方式的正確性(續(xù))[CX+905.已知寄存器EBX、DI和BP的值分別為12345H、0FFF0H和42H,試分別計(jì)算各操作數(shù)的有效地址。[BX] EA=2345H[DI+123H] EA=(DI)+123H=10113H(mod64K)=0113H[BP+DI] EA=(BP)+(DI)=10032H(mod64K)=0032H[BX+DI+200H] EA=(BX)+(DI)+200H=12535H(mod64K)=2535H[1234H] EA=1234H[EBX*2+345H] EA=(EBX*2)+345H=2468AH+345H=249CFH05一月20234416位系統(tǒng)的EA為16位,32位系統(tǒng)EA為32位。5.已知寄存器EBX、DI和BP的值分別為12345H、6.指出下列各尋址方式所使用的段寄存器[SI+34H] [456H] ES:[BP+DI] [BX+DI+200H] [BP+1234H] FS:[EBX*2+345H] 05一月202345DSDSESDSSSFS6.指出下列各尋址方式所使用的段寄存器[SI+34H] 第3章作業(yè)附加作業(yè):見郵箱中的文檔05一月202346第3章作業(yè)附加作業(yè):見郵箱中的文檔28十二月2022463.0尋址方式預(yù)備知識(shí)指令由操作碼和操作數(shù)兩部分組成;操作碼說明計(jì)算機(jī)要執(zhí)行哪種操作,用一個(gè)唯一的助記符表示,對(duì)應(yīng)著一個(gè)機(jī)器指令的二進(jìn)制編碼;操作數(shù)是指令執(zhí)行的參與者,即各種操作的對(duì)象;指令中操作碼是不可缺少的,但操作數(shù)則是可選部分;16位系統(tǒng)中,操作數(shù)的數(shù)目一般為0~2個(gè),用逗號(hào)分隔。05一月202347操作碼操作數(shù)指令格式3.0尋址方式預(yù)備知識(shí)指令由操作碼和操作數(shù)兩部分組成;2尋址方式尋址方式可分為指令尋址和數(shù)據(jù)尋址兩種類型;
本章主要介紹數(shù)據(jù)尋址方式。數(shù)據(jù)尋址方式在指令中,指定操作數(shù)或操作數(shù)存放位置的方法。一般,指令系統(tǒng)中會(huì)設(shè)計(jì)多種操作數(shù)的尋址方式;操作數(shù)采取不同的尋址方式,指令的執(zhí)行速度也會(huì)不同。05一月202348答:由控制器區(qū)分,通過CS和IP尋址的為指令,其他為數(shù)據(jù)。思考:數(shù)據(jù)、程序都在存儲(chǔ)器中,如何區(qū)分?尋址方式尋址方式可分為指令尋址和數(shù)據(jù)尋址兩種類型;
本章主要示例指令數(shù)據(jù)傳送指令MOV<目的操作數(shù)>,<源操作數(shù)>例如:MOVAX,1234HMOVAX,BXMOVAX,[BX]注意:尋址方式是針對(duì)操作數(shù)的,而不是指令的。指定操作數(shù)的尋址方式時(shí),一定要指明是對(duì)源操作數(shù)還是對(duì)目的操作數(shù)而言。05一月202349示例指令數(shù)據(jù)傳送指令28十二月20223指令中數(shù)據(jù)的位置指令中立即數(shù)尋址方式;寄存器中寄存器尋址方式;存儲(chǔ)單元中直接、間接、相對(duì)、基址變址、相對(duì)基址變址尋址方式;區(qū)別在于:形成操作數(shù)有效地址的方式不同;05一月202350指令中數(shù)據(jù)的位置指令中28十二月20224內(nèi)部暫存器
IPESSSDSCS輸入/輸出控制電路外部總線執(zhí)行部分控制電路123456∑ALU標(biāo)志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令隊(duì)列緩沖器執(zhí)行部件(EU)總線接口部件(BIU)16位20位16位8位①M(fèi)OVAX,1234H②MOVAX,BX③MOVAX,[BX]內(nèi)部暫存器IPESSSDSCS輸入尋址方式中的符號(hào)表示(BX)=1000H[BX]=……[2000H]=……(AX)=(AX)+(BX)符號(hào)含義Imm立即數(shù)R寄存器SR段寄存器M存儲(chǔ)單元S源操作數(shù)D目的操作數(shù)()…中的數(shù)據(jù)[]地址單元05一月202352尋址方式中的符號(hào)表示(BX)=1000H符號(hào)含義Imm立即數(shù)3.1立即數(shù)尋址方式立即數(shù)尋址方式操作數(shù)的數(shù)值緊跟在操作碼之后,直接在指令中出現(xiàn)。特點(diǎn)優(yōu)點(diǎn):執(zhí)行速度快;缺點(diǎn):立即數(shù)不能修改,通用性差(適用于常數(shù))。注意:立即數(shù)不能作為目的操作數(shù);可以為8位也可以為16位,常用于給寄存器賦值。05一月202353不需訪存即可執(zhí)行3.1立即數(shù)尋址方式立即數(shù)尋址方式28十二月202立即數(shù)尋址方式舉例MOVBL,12HMOVX1,34
MOVBX,3478H機(jī)器指令:BB7834在存儲(chǔ)器中的存放格式05一月202354BLBH……3478BB低地址單元高地址單元操作碼MOVAL,300正確嗎?位數(shù)不匹配,不正確!代碼段立即數(shù)尋址方式舉例MOVBL,12H3.2寄存器尋址方式寄存器尋址方式操作數(shù)在寄存器中,指令的操作碼之后給出該寄存器的編號(hào)或名稱。某些系統(tǒng)的指令是將寄存器編號(hào)與操作碼一起編碼的。除IP、FR外的所有寄存器(包括段寄存器)都可以用作寄存器尋址方式。由于操作數(shù)存在于CPU中,指令執(zhí)行時(shí)不需訪存,因此具有較快的執(zhí)行速度。05一月2023553.2寄存器尋址方式寄存器尋址方式28十二月202寄存器尋址方式舉例MOVAX,1234H;(AX)=1234H源操作數(shù)是立即數(shù)尋址方式;目的操作數(shù)是寄存器尋址方式。MOVBX,AX;(BX)=(AX)=1234H源操作數(shù)及目的操作數(shù)均為寄存器尋址方式。MOVX,AX源操作數(shù)是寄存器尋址方式;目的操作數(shù)是直接尋址方式。05一月202356寄存器尋址方式舉例MOVAX,1234H;(AX)3.3直接尋址方式直接尋址方式操作數(shù)在存儲(chǔ)單元中,指令的操作碼之后給出該存儲(chǔ)單元的有效地址。有效地址EA也稱為偏移地址,是相對(duì)于段起始地址的偏移量;指令中,EA可以是數(shù)值形式,也可以是符號(hào)地址形式;例如:MOVAX,[100H] ;數(shù)值地址必須加方括號(hào)
MOVAX,DATA ;符號(hào)地址必須事先定義05一月2023573.3直接尋址方式直接尋址方式28十二月202211直接尋址方式——物理地址的形成
在默認(rèn)情況下,數(shù)據(jù)在DS段中物理地址PA=(DS)×16
+EA
若數(shù)據(jù)不在DS段,可用顯式指明段寄存器的段超越方式。指令形式:MOVES:[100H],AL物理地址PA=(ES)×16
+100H
指令MOVAX,[100H]與MOVAX,SS:[100H]執(zhí)行結(jié)果是否相同?不相同!所訪問存儲(chǔ)單元不同。05一月202358直接尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在DS段中直接尋址方式——舉例……13H52H……05一月202359執(zhí)行指令MOVBX,[1234H]時(shí),(DS)=2000H,存儲(chǔ)單元21234H的值為5213H,問執(zhí)行該指令后BX的值是什么?該指令源操作數(shù)的尋址方式為直接尋址方式;有效地址EA=1234H,無段超越,為默認(rèn)的DS段;物理地址PA=2000H×16+1234H=21234H所以,該指令執(zhí)行后(BX)=5213H21234H21235H直接尋址方式——舉例……13H52H……28十二月202思考問題問1:右邊所示的三條指令有何不同?源操作數(shù)的尋址方式不同:第一條指令為直接尋址方式;后兩條指令為立即數(shù)尋址方式;數(shù)據(jù)數(shù)制不同:前兩條為十六進(jìn)制;第三條為十進(jìn)制。問2:MOVAX,X和MOVAX,[X]效果一樣嗎?一樣。符號(hào)地址加不加括號(hào)指的都是之前定義的單元。問3:高級(jí)語言的y=x;用匯編指令如何實(shí)現(xiàn)?需要使用兩條指令完成賦值。05一月202360MOVAX,[2000H]MOVAX,2000HMOVAX,2000MOVAX,XMOVY,AX思考問題問1:右邊所示的三條指令有何不同?28十二月203.4寄存器間接尋址方式寄存器間接尋址方式操作數(shù)在存儲(chǔ)單元中,指令的操作碼之后給出存放該單元有效地址的寄存器編碼或名稱。注意:可以用于這種尋址方式的寄存器稱為間址寄存器。間址寄存器有:BX、BP、SI、DI例如:MOVAX,[BX]05一月2023613.4寄存器間接尋址方式寄存器間接尋址方式28十二月寄存器間接尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在DS段或SS段中,由尋址所用的間址寄存器決定;物理地址PA=(DS)×16+(BX/SI/DI) ;DS段物理地址PA=(SS)×16+(BP) ;SS段若需要尋址其他段,則可使用段超越方式;MOVAX,ES:[BX]MOVAX,ES:[BP]操作數(shù)的尋址過程05一月202362寄存器間接尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在DS05一月20236328十二月202217寄存器間接尋址方式——舉例例3.2執(zhí)行指令MOVBX,[DI]時(shí),(DS)=1000H,(DI)=2345H,存儲(chǔ)單元12345H的值為4354H,則指令執(zhí)行后BX的值為多少?該指令源操作數(shù)的尋址方式為寄存器間接尋址方式;有效地址EA=(DI)=2345H,無段超越,為默認(rèn)的DS段;物理地址PA=(DS)×16+EA =1000H×16+2345H=12345H所以,該指令執(zhí)行后(BX)=(12345H)=4354H05一月202364……54H43H……12345H12346H寄存器間接尋址方式——舉例例3.2執(zhí)行指令MOV尋址方式判斷正誤MOVAX,[SP]錯(cuò)誤!間址寄存器錯(cuò)誤。MOVAX,SP正確!寄存器尋址。MOVAX,[SI]正確!寄存器間接尋址。MOVAX,SI正確!寄存器尋址。MOVAX,[BX]正確!寄存器間接尋址。MOVAX,BX正確!寄存器尋址。MOVAX,[BP]正確!寄存器間接尋址。MOVAX,BP正確!寄存器尋址。MOVAX,[DS]錯(cuò)誤!間址寄存器錯(cuò)誤。MOVAX,DS正確!寄存器尋址。05一月202365尋址方式判斷正誤MOVAX,[SP]MOVAX3.5寄存器相對(duì)尋址方式寄存器相對(duì)尋址方式操作數(shù)在存儲(chǔ)單元中,操作數(shù)的有效地址為指令中指定間址寄存器的值與指令中給出的偏移量(DISP)之和。指令格式間址寄存器:BX、BP、SI、DI;偏移量:數(shù)值形式、或符號(hào)地址形式;例如:05一月202366MOVAX,[BX+100H]MOVAX,[BX][100H]MOVAX,100H[BX]3.5寄存器相對(duì)尋址方式寄存器相對(duì)尋址方式28十二月寄存器相對(duì)尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在DS段或SS段中,由尋址所用的間址寄存器決定;物理地址PA=(DS)×16+(BX/SI/DI)+DISP ;DS段物理地址PA=(SS)×16+(BP)+DISP ;SS段若需要尋址其他段,則可使用段超越方式;MOVAX,ES:[BX+100H]MOVAX,ES:[BP+100H]操作數(shù)的尋址過程05一月202367寄存器相對(duì)尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在DS05一月20236828十二月202222計(jì)算有效地址的注意事項(xiàng)如果偏移量是8位,則應(yīng)先進(jìn)行16位符號(hào)擴(kuò)展,再進(jìn)行計(jì)算。MOVAX,[BX+0FFH]中參與計(jì)算的偏移地址為0FFFFH;當(dāng)計(jì)算所得的有效地址超過0FFFFH時(shí),則將其對(duì)64K取模的結(jié)果作為有效地址。MOVAX,[BX+100H],若(BX)=0FFFFH,則
EA=0FFFFH+100H=100FFH(mod64K)=0FFH以上對(duì)其他由多個(gè)部分計(jì)算形成EA的尋址方式也同樣適用。05一月202369計(jì)算有效地址的注意事項(xiàng)如果偏移量是8位,則應(yīng)先進(jìn)行16位符號(hào)寄存器相對(duì)尋址方式舉例例3.3執(zhí)行指令MOVBX,[SI+100H]時(shí),(DS)=1000H,(SI)=2345H,存儲(chǔ)單元12445H的值為2715H,則指令執(zhí)行后BX的值為多少?該指令源操作數(shù)的尋址方式為寄存器相對(duì)尋址方式;有效地址EA=(SI)+100H=2445H,為默認(rèn)的DS段;物理地址PA=(DS)×16+EA =1000H×16+2445H=12445H所以,該指令執(zhí)行后(BX)=(12445H)=2715H05一月202370……15H27H……12445H12446H寄存器相對(duì)尋址方式舉例例3.3執(zhí)行指令MOVBX,[寄存器相對(duì)尋址方式判斷正誤MOVAX,[DI+06H]正確!AX←DS:[DI+06H]MOVAX,[BP+06H]正確!AX←SS:[BP+06H]MOVAX,[SP+10H]錯(cuò)誤!間址寄存器使用不正確!05一月202371寄存器相對(duì)尋址方式判斷正誤MOVAX,[DI+06H]3.6基址變址尋址方式基址變址尋址方式操作數(shù)在存儲(chǔ)單元中,操作數(shù)的有效地址為指令中指定的基址寄存器的值與變址寄存器的值之和。指令格式基址寄存器:BX、BP;變址寄存器:SI、DI;例如:05一月202372MOVAX,[BX+SI]
MOVAX,[BP][SI]
MOVAX,[BX]+[SI]3.6基址變址尋址方式基址變址尋址方式28十二月20基址變址尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在DS段或SS段中,由尋址所用的基址寄存器決定;物理地址PA=(DS)×16+(BX)+(SI/DI)物理地址PA=(SS)×16+(BP)+(SI/DI)若需要尋址其他段,則可使用段超越方式;MOVAX,ES:[BX+SI]MOVAX,ES:[BP+SI]操作數(shù)的尋址過程05一月202373基址變址尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在DS段05一月20237428十二月202228基址變址尋址方式舉例例3.4執(zhí)行指令MOVBX,[BX+SI]時(shí),(DS)=1000H,(BX)=2100H,(SI)=0011H,存儲(chǔ)單元12111H的值為1234H,則指令執(zhí)行后BX的值為多少?該指令源操作數(shù)的尋址方式為基址變址尋址方式;有效地址EA=(BX)+(SI)=2100H+0011H=2111H物理地址PA=(DS)×16+EA =1000H×16+2111H=12111H所以,該指令執(zhí)行后(BX)=(12111H)=1234H05一月202375……34H12H……12111H12112H基址變址尋址方式舉例例3.4執(zhí)行指令MOVBX,3.7相對(duì)基址變址尋址方式相對(duì)基址變址尋址方式操作數(shù)在存儲(chǔ)單元中,操作數(shù)的有效地址為指令中指定的基址寄存器的值、變址寄存器的值和位移量(DISP)三者之和。指令格式基址寄存器:BX、BP;變址寄存器:SI、DI;偏移量:數(shù)值形式、或符號(hào)地址形式;例如:05一月202376MOVAX,[BX+SI+100]MOVAX,100[BX][SI]MOVAX,100[BX+SI]3.7相對(duì)基址變址尋址方式相對(duì)基址變址尋址方式28十二月相對(duì)基址變址尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在DS段或SS段中,由尋址所用的基址寄存器決定;物理地址PA=(DS)×16+(BX)+(SI/DI)+DISP物理地址PA=(SS)×16+(BP)+(SI/DI)+DISP若需要尋址其他段,則可使用段超越方式;MOVAX,ES:[BX+SI+10H]MOVAX,ES:[BP+SI+10H]操作數(shù)的尋址過程05一月202377相對(duì)基址變址尋址方式——物理地址的形成在默認(rèn)情況下,數(shù)據(jù)在D05一月20237828十二月202232相對(duì)基址變址尋址方式舉例例3.5執(zhí)行指令MOVAX,[BX+SI+200H]時(shí),(DS)=1000H,(BX)=2100H,(SI)=0010H,存儲(chǔ)單元12310H的值為1234H,則指令執(zhí)行后AX的值為多少?該指令源操作數(shù)的尋址方式為相對(duì)基址變址尋址方式;有效地址EA=(BX)+(SI)+200H =2100H+0010H+200H=2310H物理地址PA=(DS)×16+EA =1000H×16+2310H=12310H所以,該指令執(zhí)行后(AX)=(12310H)=1234H05一月202379……34H12H……12310H12311H相對(duì)基址變址尋址方式舉例例3.5執(zhí)行指令MOVAX,練習(xí)試說明下列指令中源操作數(shù)的尋址方式,并指出指令執(zhí)行后寄存器AX中的值或所要尋找操作數(shù)的EA值。設(shè)(BX)=2000H,(SI)=40H05一月202380MOVAX,[1234H]MOVAX,1234HMOVAX,BXMOVAX,[BX]MOVAX,[BX+1234H]MOVAX,[BX+SI]MOVAX,[BX+SI+1234H]直接尋址方式,EA=1234H立即數(shù)尋址方式,(AX)=1234H寄存器尋址方式,(AX)=2000H寄存器間接尋址方式,EA=2000H寄存器相對(duì)尋址方式,EA=3234H基址加變址尋址方式,EA=2040H相對(duì)基址加變址尋址方式,EA=3274H練習(xí)試說明下列指令中源操作數(shù)的尋址方式,并指出指令執(zhí)行后尋址方式練習(xí)MOVAX,2000HMOVDS,AXMOVBX,100HMOVAX,[150H]ADDBX,AXMOVAL,[BX]ADDAL,[BX+1]MOVSI,2ADDAL,[BX+SI]MOVAH,0MOVCH,0MOVCL,[BX+SI+1]ADDAX,CX05一月202381源操作數(shù)為立即數(shù)尋址方式源操作數(shù)為寄存器尋址方式源操作數(shù)為立即數(shù)尋址方式源操作數(shù)為直接尋址方式源操作數(shù)為寄存器尋址方式源操作數(shù)為寄存器間接尋址方式源操作數(shù)為寄存器相對(duì)尋址方式源操作數(shù)為立即數(shù)尋址方式源操作數(shù)為基址加變址尋址方式源操作數(shù)為立即數(shù)尋址方式源操作數(shù)為立即數(shù)尋址方式源操作數(shù)為相對(duì)基址加變址尋址方式源操作數(shù)為寄存器尋址方式尋址方式練習(xí)MOVAX,2000H28十二月20總結(jié)(1/4)三大類尋址方式——按操作數(shù)的存放位置分類立即數(shù)尋址方式寄存器尋址方式存儲(chǔ)器尋址方式(共5種)指令中凡是加有方括號(hào)”[]”的立即數(shù)或寄存器,其值均表示為地址信息;例如:MOVAX,[1000H]MOVAX,[BX]05一月202382總結(jié)(1/4)三大類尋址方式——按操作數(shù)的存放位置分類205一月20238328十二月202237總結(jié)(2/4)存儲(chǔ)器尋址方式中,在取操作數(shù)之前需要計(jì)算有效地址;有效地址EA是將指令中所有地址信息相加之和;注意事項(xiàng):
1.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴陽道路施工方案(3篇)
- 細(xì)胞的增殖課件2025-2026學(xué)年高一上學(xué)期生物人教版必修1
- 2026山東事業(yè)單位統(tǒng)考東營市廣饒縣招聘考試備考題庫及答案解析
- 2026廣西南寧市橫州市總工會(huì)招聘社會(huì)化工會(huì)工作者8人備考考試試題及答案解析
- 2026臺(tái)州市水利水電勘測(cè)設(shè)計(jì)院有限公司招聘參考考試題庫及答案解析
- 2026年濟(jì)寧微山縣事業(yè)單位公開招聘初級(jí)綜合類崗位人員(45人)備考考試試題及答案解析
- 2026河南許昌煙草機(jī)械有限責(zé)任公司招聘38人考試參考試題及答案解析
- 2026綿陽農(nóng)商銀行寒假實(shí)習(xí)生招聘備考考試題庫及答案解析
- 2026年聊城市第二人民醫(yī)院“水城優(yōu)才”青年人才引進(jìn)參考考試題庫及答案解析
- 2026山東大學(xué)齊魯?shù)诙t(yī)院北院區(qū)綜合服務(wù)中心結(jié)算崗位(勞務(wù)派遣)補(bǔ)充招聘參考考試題庫及答案解析
- 2025-2026學(xué)年天津市河?xùn)|區(qū)八年級(jí)(上)期末英語試卷
- 規(guī)范外賣企業(yè)管理制度
- 2026年公共部門人力資源管理試題含答案
- 2026年中國數(shù)聯(lián)物流備考題庫有限公司招聘備考題庫有答案詳解
- 2025年大學(xué)醫(yī)學(xué)(人體解剖學(xué))試題及答案
- DB32/T+5311-2025+港口與道路工程+固化土施工技術(shù)規(guī)范
- 2025年河南農(nóng)業(yè)大學(xué)輔導(dǎo)員考試真題
- 2025鄭州餐飲行業(yè)市場深度調(diào)研及發(fā)展前景與投資前景研究報(bào)告
- 早產(chǎn)的臨床診斷與治療指南(2025年)
- 2025年黑龍江省大慶市檢察官逐級(jí)遴選筆試題目及答案
- JBP計(jì)劃培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論