版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第 08 講講 8086 / 8088指令系統(tǒng)指令系統(tǒng) 算術運算算術運算&邏輯運算類指令邏輯運算類指令1.數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令2.算術運算類指令算術運算類指令3.邏輯運算邏輯運算類類指令指令4.串處理串處理類類指令指令5.控制轉移控制轉移類類指令指令6.處理機控制指令處理機控制指令8086/8088的指令系統(tǒng)的指令系統(tǒng)重點關注重點關注: 指令的指令的匯編格式匯編格式 指令的指令的基本功能基本功能 指令指令支持的尋址方式支持的尋址方式 指令的執(zhí)行指令的執(zhí)行對標志位的影響對標志位的影響 指令的指令的特殊要求特殊要求算術運算類指令:算術運算類指令: 加法指令加法指令 ADD、ADC、INC
2、 減法指令減法指令 SUB、SBB、DEC、NEG、CMP 乘法指令乘法指令 MUL、IMUL 除法指令除法指令 DIV、IDIV 十進制調整指令十進制調整指令 DAA、DAS、 AAA、AAS、AAM、AAD 加法指令加法指令 加法指令:加法指令: ADD DST, SRC 執(zhí)行操作:執(zhí)行操作: (DST) (SRC) + (DST) 帶進位加法指令:帶進位加法指令: ADC DST, SRC 執(zhí)行操作:執(zhí)行操作: (DST) (SRC) + (DST) + CF 加加1指令:指令: INC OPR 執(zhí)行操作:執(zhí)行操作: (OPR) (OPR) + 1注意注意: * 都影響狀態(tài)標志位,但都影
3、響狀態(tài)標志位,但 INC指令指令不影響不影響CF標志位。標志位。 減法指令減法指令減法指令:減法指令: SUB DST, SRC 執(zhí)行操作:執(zhí)行操作: (DST) (DST) - (SRC)帶借位減法指令:帶借位減法指令: SBB DST, SRC 執(zhí)行操作:執(zhí)行操作: (DST) (DST) - (SRC) - CF減減1指令:指令: DEC OPR 執(zhí)行操作:執(zhí)行操作: (OPR) (OPR) - 1求補指令:求補指令: NEG OPR 執(zhí)行操作:執(zhí)行操作: (OPR) - (OPR)比較指令:比較指令: CMP OPR1, OPR2 執(zhí)行操作:執(zhí)行操作: (OPR1) - (OPR2)注
4、意注意: * 除除DEC指令指令不影響不影響 CF標志外,均對狀標志外,均對狀 態(tài)標志位有影響態(tài)標志位有影響。【例例 2 17】 試分析如下指令執(zhí)行結果及標志位的狀態(tài)試分析如下指令執(zhí)行結果及標志位的狀態(tài)MOV BX,0 ; (BX)=0,不影響標志位,不影響標志位DEC BX ; (BX)=0FFFFH,CF不影響、不影響、PF=1、AF=1、ZF=0、SF=1、OF=0INC BX ; (BX)=0,CF不影響、不影響、PF=1、AF=1、ZF=1、SF=0、OF=0SUB BX,1 ; (BX)=0FFFFH,CF=1、PF=1、AF=1、ZF=0、SF=1、OF=0NEG BX ; (B
5、X)=1,CF=1、PF=0、AF=1、ZF=0、SF=0、OF=0例:例:x、y、z 均為雙字數(shù)據(jù),分別存放在地址為均為雙字數(shù)據(jù),分別存放在地址為X, X+2; Y, Y+2;Z, Z+2的存儲單元中,用指令序列實現(xiàn)的存儲單元中,用指令序列實現(xiàn) w x + y + 24 - z ,并用,并用W, W+2單元存放單元存放wMOV AX, XMOV AX, XMOV DX, X+2MOV DX, X+2ADD AX, YADD AX, YADCADC DX, Y+2 ; x+y DX, Y+2 ; x+yADD AX, 24ADD AX, 24ADC DX, 0 ; x+y+24ADC DX,
6、0 ; x+y+24SUB AX, ZSUB AX, ZSBBSBB DX, Z+2 ; x+y+24-z DX, Z+2 ; x+y+24-zMOV W, AXMOV W, AXMOV W+2, DX ; MOV W+2, DX ; 結果存入結果存入W, W+2W, W+2單元單元 乘法指令乘法指令 無符號數(shù)乘法指令:無符號數(shù)乘法指令: MUL SRC 帶符號數(shù)乘法指令:帶符號數(shù)乘法指令: IMUL SRC 執(zhí)行操作:字節(jié)操作數(shù)執(zhí)行操作:字節(jié)操作數(shù) (AX) (AL) * (SRC) 字操作數(shù)字操作數(shù) (DX, AX) (AX) * (SRC)注意注意: * AL (AX) 為隱含的乘數(shù)。為
7、隱含的乘數(shù)。 AX (DX,AX) 為隱含的乘積。為隱含的乘積。* src若為存儲器操作數(shù)時,注意用若為存儲器操作數(shù)時,注意用ptr明確類型。明確類型。 如:如:MUL WORD PTR BPDI ; 字乘,乘積送字乘,乘積送DX:AX* SRC不能為立即數(shù)和段寄存器不能為立即數(shù)和段寄存器。除除CF和和OF外,對外,對其它狀態(tài)其它狀態(tài)標志位標志位無定義無定義。乘法指令對乘法指令對 CF/OF 的影響:的影響:例例 2 19 : 已知(已知(AL)=0FFH,(,(BL)=2, MUL BL;乘積乘積(AX)= 01FEH,(2552 = 510), CF=OF=1IMUL BL;乘積乘積(AX
8、)= 0FFFEH,(-12 = -2), CF=OF=0 00 乘積的高一半為零乘積的高一半為零11 否則否則MUL指令指令: CF,OF =00 乘積的高一半是低一半的符號擴展乘積的高一半是低一半的符號擴展11 否則否則 IMUL指令指令: CF,OF = 對標志對標志沒有定義沒有定義:指令執(zhí)行后這些標志是任意的、:指令執(zhí)行后這些標志是任意的、不可預測(就是不知道是不可預測(就是不知道是0還是還是1) 對標志對標志沒有影響沒有影響:指令執(zhí)行不改變標志狀態(tài):指令執(zhí)行不改變標志狀態(tài) 除法指令除法指令 無符號數(shù)除法指令:無符號數(shù)除法指令: DIV SRC 帶符號數(shù)除法指令:帶符號數(shù)除法指令: I
9、DIV SRC 執(zhí)行操作:執(zhí)行操作: 字節(jié)操作字節(jié)操作 (AL) (AX) / (SRC) 的商的商 (AH) (AX) / (SRC) 的余數(shù)的余數(shù) 字操作字操作 (AX) (DX, AX) / (SRC) 的商的商 (DX) (DX, AX) / (SRC) 的余數(shù)的余數(shù)注意注意: * AX (DX,AX) 為隱含的被除數(shù)寄存器。為隱含的被除數(shù)寄存器。 * AL (AX) 為隱含的商寄存器。為隱含的商寄存器。 * AH (DX) 為隱含的余數(shù)寄存器。為隱含的余數(shù)寄存器。 * SRC不能為立即數(shù)不能為立即數(shù)。 * 對所有對所有狀態(tài)狀態(tài)標志位標志位均無定義均無定義。 * 兩個兩個N位操作數(shù)相除
10、,應首先把被除數(shù)符號擴展為位操作數(shù)相除,應首先把被除數(shù)符號擴展為2N位。位。 * src若為存儲器操作數(shù)時,注意用若為存儲器操作數(shù)時,注意用ptr明確類型。明確類型。如:如:IDIV BYTE PTR DI ;AX除以除以8 位存儲器操作數(shù)位存儲器操作數(shù)例例 2-20:已知(已知(AX)=0410H,(,(BL)= 0B8H。DIV BL ;商商AL=05H ,余數(shù),余數(shù)AH=78H IDIV BL ;商商AL=F2H(即即14),余數(shù),余數(shù)AH=20H(即即32) ;有符號數(shù)有符號數(shù)0410H真值為真值為1040,B8H 真值為真值為72。 ;注意注意DIV和和I DIV的區(qū)別。的區(qū)別?!纠?/p>
11、【例 2-21】X、Y、Z、V、W均為均為16位有符號數(shù),位有符號數(shù),計算計算W(V-(X*Y+Z-1234)/X確定計算順序如下確定計算順序如下: X*Y 暫存中間結果。暫存中間結果。 X*Y+Z X*Y+Z-1234 暫存中間結果。暫存中間結果。 V-(X*Y+Z-1234) (V-(X*Y+Z-1234)/X 保存最終結果。保存最終結果。確定各次運算的數(shù)據(jù)類型確定各次運算的數(shù)據(jù)類型: X*Y 乘積為乘積為32位。位。 X*Y結果為結果為32位,位,Z進行符號擴展成進行符號擴展成32位,位, X*Y+Z-1234 結果為結果為32位。位。 X*Y+Z-1234的結果是的結果是32位,位,V
12、需擴展到需擴展到32位位,(V-(X*Y+Z-1234)結果為結果為32位,位,X為為16位,因此,位,因此,(V-(X*Y+Z-1234)/X最終結果為最終結果為16位。位。表達式計算表達式計算 MOV AX, X IMUL Y ; X*Y MOV CX, AX ; X*Y(32位位)暫存入暫存入BX:CX。DX:AX需用于需用于Z的符號擴展的符號擴展 MOV BX, DX MOV AX, Z ; Z置入置入AX進行符號擴展至進行符號擴展至DX:AX,擴展為,擴展為32位位 CWD ADD CX, AX ADC BX, DX ; X*Y+Z SUB CX, 1234 SBB BX, 0 ;
13、X*Y+Z-1234 MOV AX, V ; V置入置入AX進行符號擴展至進行符號擴展至DX:AX,擴展為,擴展為32位位 CWD SUB AX, CX SBB DX, BX ; V-(X*Y+Z-1234) IDIV X ; (V-(X*Y+Z-1234)/X,商在,商在AX中,余數(shù)在中,余數(shù)在DX中。中。 MOV W, AX; 保存最終結果保存最終結果2.7.3 邏輯運算類指令:邏輯運算類指令: 邏輯運算指令邏輯運算指令 AND、OR、NOT、XOR、TEST 移位指令移位指令 SHL、SHR 、 SAL 、SAR、 ROL、ROR、RCL、RCR邏輯非指令:邏輯非指令:NOT OPR *
14、 OPR不能為立即數(shù)不能為立即數(shù)執(zhí)行操作:執(zhí)行操作: (OPR) (OPR) * 不影響標志位不影響標志位 邏輯與指令:邏輯與指令:AND DST, SRC執(zhí)行操作:執(zhí)行操作: (DST) (DST) (SRC)邏輯或指令:邏輯或指令:OR DST, SRC執(zhí)行操作:執(zhí)行操作: (DST) (DST) (SRC)異或指令:異或指令: XOR DST, SRC執(zhí)行操作:執(zhí)行操作: (DST) (DST) (SRC)測試指令:測試指令: TEST OPR1, OPR2執(zhí)行操作:執(zhí)行操作: (OPR1) (OPR2)CF OF SF ZF PF AF 0 0 * * * 無定義無定義 根據(jù)運算結果設
15、置根據(jù)運算結果設置 邏輯運算指令邏輯運算指令例:例:屏蔽屏蔽AL的第的第0、1兩位兩位 AND AL, 0FCH例:例:置置AL的第的第5位為位為1 OR AL, 20H 例:例:使使AL的第的第0、1位變反位變反 XOR AL, 3例:例:測試某些位是測試某些位是0是是1 TEST AL, 1 JZ EVEN * * * * * * * * OR 0 0 1 0 0 0 0 0 * * 1 * * * * * * * * * * * 0 1 XOR 0 0 0 0 0 0 1 1 * * * * * * 1 0 * * * * * * * * AND 1 1 1 1 1 1 0 0 * *
16、* * * * 0 0 * * * * * * * * AND 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 *nAND指令一般用來屏蔽、保留一些位,其中指令一般用來屏蔽、保留一些位,其中要屏蔽的位可以和要屏蔽的位可以和“0 ”進行邏輯進行邏輯“與與”,而,而要保留的位可以和要保留的位可以和“1 ”進行邏輯進行邏輯“與與”。 n【例例 2 23】 將將AX中的最高位和最低位保留中的最高位和最低位保留,其余位清零,可用下面的指令:,其余位清零,可用下面的指令: AND AX, 8001H nOR指令常用來將某些位置位,同時使其余位指令常用來將某些位置位,同時使其余位保持不變,其中需
17、要置位的位可以和保持不變,其中需要置位的位可以和“1”進行進行邏輯邏輯“或或”,而保持不變的位可以和,而保持不變的位可以和“0”進行進行邏輯邏輯“或或”。 n【例例 2 24】 將將BX中的低中的低4 位置位,而其余位置位,而其余位不變,可以使用下面的指令:位不變,可以使用下面的指令: OR BX, 000FH nXOR指令常用來將某些特定位指令常用來將某些特定位“求反求反”,而其余位則保持,而其余位則保持不變,其中要不變,其中要“求反求反”的位和的位和“1 ”進行邏輯進行邏輯“異或異或”,要保持不變的位和要保持不變的位和“0 ”進行邏輯進行邏輯“異或異或”。 n【例例 2 25】 假設(假設
18、(BH)= 10110010B,分析以下指令,分析以下指令執(zhí)行后執(zhí)行后BH中的內容。中的內容。 XOR BH,01011011B 指令執(zhí)行后,指令執(zhí)行后,(BH)=11101001B。 nXOR指令的另一個重要應用是,一個寄存器操作數(shù)自身與指令的另一個重要應用是,一個寄存器操作數(shù)自身與自身進行邏輯自身進行邏輯“異或異或”實現(xiàn)清零,例如:實現(xiàn)清零,例如:qXOR BH,BH ;BH清零清零qXOR SI,SI ;SI清零清零n當然,使用其他指令也能實現(xiàn)寄存器內容的清零,例如:當然,使用其他指令也能實現(xiàn)寄存器內容的清零,例如:qMOV SI,0 ;SI清零清零qSUB SI,SI ;SI清零清零q
19、AND SI,0 ;SI清零清零nTEST 指令常常用于位測試,并與條件轉移指令一起共同完成對特指令常常用于位測試,并與條件轉移指令一起共同完成對特定位的判斷,并實現(xiàn)相應的程序轉移。定位的判斷,并實現(xiàn)相應的程序轉移。這與比較指令這與比較指令 CMP類似,不類似,不過過TEST指令只比較某些特定的位,而指令只比較某些特定的位,而CMP指令比較整個操作數(shù)。指令比較整個操作數(shù)。n例如:例如: n若要檢測若要檢測AL中的最低位是否為中的最低位是否為1,若為,若為1則轉移,可用以下指令:則轉移,可用以下指令: TEST AL,01H JNZ NEXT NEXT: n若要檢測若要檢測BX中的內容是否為中的
20、內容是否為0,若為,若為0則轉移,可用以下指令:則轉移,可用以下指令: TEST BX,0FFFFH JZ NEXT NEXT:邏輯左移邏輯左移 SHL OPR, CNT邏輯右移邏輯右移 SHR OPR, CNT算術左移算術左移 SAL OPR, CNT(同邏輯左移)(同邏輯左移)算術右移算術右移 SAR OPR, CNT CF 0 0 CFCF 移位指令移位指令循環(huán)左移循環(huán)左移 ROL OPR, CNT循環(huán)右移循環(huán)右移 ROR OPR, CNT帶進位循環(huán)左移帶進位循環(huán)左移 RCL OPR, CNT帶進位循環(huán)右移帶進位循環(huán)右移 RCR OPR, CNTCF CFCFCF注意注意: * OPR可
21、用除立即數(shù)以外的任何尋址方式可用除立即數(shù)以外的任何尋址方式 * CNT=1,SHL OPR, 1 CNT1,MOV CL, CNT SHL OPR, CL ; 以以SHL為例為例* 狀態(tài)標志位:狀態(tài)標志位: CF = 移出的數(shù)值移出的數(shù)值 1 CNT=1時,最高有效位的值發(fā)生變化時,最高有效位的值發(fā)生變化 0 CNT=1時,最高有效位的值不變時,最高有效位的值不變當移位次數(shù)大于當移位次數(shù)大于1時,時,OF不確定不確定* 移位指令:移位指令: SF、ZF、PF 根據(jù)移位結果設置,根據(jù)移位結果設置,AF無定義無定義* 循環(huán)移位指令:循環(huán)移位指令: 不影響不影響 SF、ZF、PF、AFOF =例:例
22、:(AX)= 0012H,(BX)= 0034H,把它們裝配成,把它們裝配成(AX)= 1234H 例:例:(BX) = 84F0H (1) (BX) 為無符號數(shù),求為無符號數(shù),求 (BX) / 2 SHR BX, 1SHR BX, 1 ; (BX) = 4278H; (BX) = 4278H (2) (BX) 為帶符號數(shù),求為帶符號數(shù),求 (BX) 2 SAL BX, 1SAL BX, 1 ; (BX) = 09E0H, OF=1; (BX) = 09E0H, OF=1 (3) (BX) 為帶符號數(shù),求為帶符號數(shù),求 (BX) / 4 MOV CL, 2 MOV CL, 2 SAR BX, CL SAR BX, CL ; (BX) = 0E13CH ; (BX) = 0E13CHMOV CL, 8MOV CL, 8ROL AX, CLROL AX, CLADD AX, BXADD AX, BX 邏輯左移一位相當于無符號
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美食家常菜課程設計
- 2025年讀書的演講稿范文(2篇)
- 二零二五年度農(nóng)業(yè)技術出口許可協(xié)議3篇
- 醫(yī)務人員職業(yè)安全保護制度范文(2篇)
- 2025年度線上線下銷售合同規(guī)范化管理實施細則(2025版)
- 融合課程設計案例
- 單臂吊的安全技術操作規(guī)程(2篇)
- 二零二五年度智能家居系統(tǒng)智能語音交互服務合同3篇
- 牛肉拉面課程設計理念
- 2025年滬教版四年級語文下冊階段測試試卷含答案
- 湖北省襄樊市襄陽古城旅游區(qū)總體重點規(guī)劃
- 消火栓月檢查表
- 項目財務核算業(yè)務藍圖
- 8.臺球助教速成培訓手冊0.9萬字
- 無縫鋼管焊接作業(yè)指導書(1)
- 零缺陷與質量成本
- 網(wǎng)吧企業(yè)章程范本
- 安徽省書法家協(xié)會會員登記表
- 五格數(shù)理解釋及吉兇對照
- 婚姻狀況聲明書
- 新課程理念下的班主任工作藝術
評論
0/150
提交評論