控制轉移指令ppt課件.ppt
《控制轉移指令ppt課件.ppt》由會員分享,可在線閱讀,更多相關《控制轉移指令ppt課件.ppt(41頁珍藏版)》請在匯文網上搜索。
1、復習復習1、邏輯運算指令:AND OR XOR NOT TEST2、移位指令:11/29/20221移位指令小結帶進位位循環(huán)左移指令帶進位位循環(huán)左移指令RCL帶進位位循環(huán)右移指令帶進位位循環(huán)右移指令RCR將操作數(shù)的高低將操作數(shù)的高低4位或位或8位位(字節(jié))數(shù)據(jù)相交換。(字節(jié))數(shù)據(jù)相交換。循環(huán)左移指令循環(huán)左移指令ROL循環(huán)右移指令循環(huán)右移指令ROR將操作數(shù)乘以將操作數(shù)乘以2的的CL次。次。將補碼數(shù)除以將補碼數(shù)除以2的的CL次。次。算術左移指令算術左移指令SAL算術右移指令算術右移指令SAR將操作數(shù)乘以將操作數(shù)乘以2的的CL次。次。將操作數(shù)除以將操作數(shù)除以2的的CL次。次。邏輯左移指令邏輯左移指令
2、SHL邏輯右移指令邏輯右移指令SHR主要作用主要作用指指 令令保存其它指令移入保存其它指令移入CF的值的值2試分析下面的程序段完成什么功能?試分析下面的程序段完成什么功能?MOV CL,04HSHL DX,CL MOV BL,AHSHL AX,CL SHR BL,CLOR DL,BL;04H CL;DX邏輯左移邏輯左移4位,相當于位,相當于DX;低;低4位清零,位清零,DX=0H;AHBL;AX邏輯左移邏輯左移4位,相當于位,相當于AX低低4位位;清零,;清零,AX=0H;BL邏輯右移邏輯右移4位,相當于位,相當于AH=0H;現(xiàn);現(xiàn)DL的高的高4位是原來位是原來DL的低的低4位,位,;現(xiàn);現(xiàn)D
3、L的低的低4位是原位是原AH的高的高4位位所以,完成將所以,完成將DX,AX組成的雙字邏輯左移組成的雙字邏輯左移4位。位。33.8 3.8 控制轉移類指令控制轉移類指令1、無條件轉移指令、無條件轉移指令2、條件轉移指令、條件轉移指令3、循環(huán)控制指令、循環(huán)控制指令4、中斷指令、中斷指令4 控控制制轉轉移移類類指指令令通通過過改改變變IP(和和CS)值值,實現(xiàn)程序執(zhí)行順序的改變實現(xiàn)程序執(zhí)行順序的改變l用于實現(xiàn)分支、循環(huán)、過程等程序結構用于實現(xiàn)分支、循環(huán)、過程等程序結構l常用指令常用指令重點掌握:JMP/Jcc/LOOP CALL/RET一般了解:INT n/IRET INTOLOOPZ/LOOPN
4、Z51 無條件轉移指令無條件轉移指令l指令格式:指令格式:JMP labelJMP label;程序轉向;程序轉向labellabel標號指定的地址標號指定的地址l指令功能:使程序轉到指定的目標地址處,并從該指令功能:使程序轉到指定的目標地址處,并從該處開始繼續(xù)執(zhí)行,操作數(shù)處開始繼續(xù)執(zhí)行,操作數(shù)label是要轉移到的是要轉移到的目標地目標地址(目的地址、轉移地址)址(目的地址、轉移地址)執(zhí)行執(zhí)行JMP 段內轉移、直接尋址;段內轉移、直接尋址;段內轉移、間接尋址段內轉移、間接尋址 段間轉移、直接尋址;段間轉移、直接尋址;段間轉移、間接尋址段間轉移、間接尋址 JMP SHORT HELLO ;轉移
5、到目標地址是;轉移到目標地址是 ;HELLO,IP被修改了被修改了 JMP NEAR PTR ABC;轉移到目標地址;轉移到目標地址ABC,;IP被修改了被修改了6(2)段內直接近程轉移)段內直接近程轉移 格式及操作:JMPNEARPTRLabel;IPIPD16其中,NEAR PTR為近程轉移的屬性操作符。段內直接近程轉移指令控制轉移的目標地址由當前IP值與指令代碼中16位偏移量之和決定,偏移量的取值范圍為3276832767。轉移的過程和短程轉移過程基本相同(同理,屬性運算符NEAR PTR在指令中可以省略)。10(3)段內間接轉移)段內間接轉移格式及操作:格式及操作:JMP WORD P
6、TR OPD ;IP(EA)該指令將轉移的目標地址預先存放在某寄存器或存儲器的兩個連續(xù)單元中,指令中只需給出該寄存器號或存儲單元地址,OPD可為存儲器或寄存器操作數(shù)。OPD為寄存器時,不加WORD PTR。以上3種轉移方式均為段內轉移,指令執(zhí)行時,用指令提供的信息修改指令指針I(yè)P的內容,CS的值不變。11(4)段間直接轉移)段間直接轉移格式及操作:格式及操作:JMP FAR PTR Label ;IP目標標號的偏移地址,目標標號的偏移地址,;CS目標標號所在段的段基址目標標號所在段的段基址FARPTR為屬性運算符,表示轉移是在段間進行。目標標號在其他代碼段中,指令中直接給出目標標號的段基址和偏
7、移地址,分別取代當前IP及CS的值,從而轉移到另一代碼段中相應的位置去執(zhí)行(同理,F(xiàn)ARPTR在指令中也可不寫出來)。12(5)段間間接轉移)段間間接轉移 格式及操作:JMPDWORDPTROPD;IP(EA),CS(EA2)該轉移指令的執(zhí)行不影響任何標志位。指令中由操作數(shù)OPD的尋址方式確定一個有效地址EA,指向存放轉移地址的偏移地址和段基址的單元,根據(jù)尋址方式求出EA后,訪問相鄰的4B單元,低位字單元的16位數(shù)據(jù)送到IP寄存器,高位字單元中的16位數(shù)據(jù)送到CS寄存器,得到要轉移去的目標地址,實現(xiàn)段間間接轉移的目的。其中,OPR只能是存儲器操作數(shù)。例如:JMPDWORDPTRLPABPDI1
8、32.條件轉移指令條件轉移指令格式:格式:Jcc label功能:條件滿足,轉移到目的地址功能:條件滿足,轉移到目的地址labellabel去執(zhí)行;條件不滿足,順序執(zhí)行下一去執(zhí)行;條件不滿足,順序執(zhí)行下一條指令條指令,不影響標志位。不影響標志位。14Jcc指令的分類指令的分類lJcc指令不影響標志,但要利用標志位。指令不影響標志,但要利用標志位。根據(jù)利用的標志位不同,根據(jù)利用的標志位不同,16條指令分條指令分成成3種情況:種情況:(1)判斷單個標志位狀態(tài)判斷單個標志位狀態(tài)(2)比較無符號數(shù)高低比較無符號數(shù)高低(3)比較有符號數(shù)大小比較有符號數(shù)大小16(1)判斷單個標志位狀態(tài))判斷單個標志位狀態(tài)
9、功功 能能結果有進位(借位)轉移結果有進位(借位)轉移結果無進位(借位)轉移結果無進位(借位)轉移 CF=1CF=0JC dstJNC dst結果為零轉移結果為零轉移結果不為零轉移結果不為零轉移 ZF=1ZF=0JZ dstJNZ dst結果溢出轉移結果溢出轉移 結果不溢出轉移結果不溢出轉移OF=1OF=0JO dstJNO dst奇偶校驗結果為偶轉移奇偶校驗結果為偶轉移奇偶校驗結果為奇轉移奇偶校驗結果為奇轉移 PF=1PF=0JP dstJNP dst結果為負數(shù)轉移結果為負數(shù)轉移結果為正數(shù)轉移結果為正數(shù)轉移 SF=1SF=0JS dstJNS dst轉移條件轉移條件條件轉移指令條件轉移指令1
10、7例:JZ/JNZ指令test al,80h;測試;測試AL的最高位的最高位jz next1;D70(ZF1),轉移),轉移mov ah,0ffh;D71,順序執(zhí)行,順序執(zhí)行jmp done;無條件轉向;無條件轉向next1:mov ah,0done:.test al,80h ;測試最高位;測試最高位jnz next2 ;D71(ZF0),轉移),轉移mov ah,0 ;D70,順序執(zhí)行,順序執(zhí)行jmp done ;無條件轉向;無條件轉向next2:mov ah,0ffhdone:.18例:JS/JNS指令 lea si,X lea di,Ymov ax,sisub ax,dijns next
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 控制 轉移 指令 ppt 課件