計算機基礎課件第3章_7+控制轉移_第1頁
計算機基礎課件第3章_7+控制轉移_第2頁
計算機基礎課件第3章_7+控制轉移_第3頁
計算機基礎課件第3章_7+控制轉移_第4頁
計算機基礎課件第3章_7+控制轉移_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 程序控制指令用來控制程序的執(zhí)行順序,用于實現分支、循環(huán)、過程調用程序控制指令用來控制程序的執(zhí)行順序,用于實現分支、循環(huán)、過程調用/返回、返回、中斷調用中斷調用/返回等程序結構返回等程序結構 CS:IP總是指向下一條即將執(zhí)行的指令的地址,通過改變總是指向下一條即將執(zhí)行的指令的地址,通過改變IP和和CS的值,可以改變的值,可以改變程序的執(zhí)行順序,但程序中不能使用程序的執(zhí)行順序,但程序中不能使用MOV指令直接改變指令直接改變CS和和IP的值,只能通過程的值,只能通過程序控制指令實現序控制指令實現-32768+32767,轉移類型為轉移類型為NEAR PTR-128+127,轉移類型為轉移類型為SH

2、ORT 實際編程時,匯編程序會根據目標地址的屬性,實際編程時,匯編程序會根據目標地址的屬性,自動處理自動處理成短轉移、近轉移或遠轉移。成短轉移、近轉移或遠轉移。 程序員可用操作符程序員可用操作符short、near ptr 或或far ptr 強制成為需強制成為需要的轉移類型。要的轉移類型。 轉移類指令的目標地址通常采用標號,由匯編程序自動計算目標地址轉移類指令的目標地址通常采用標號,由匯編程序自動計算目標地址1、無條件轉移指令、無條件轉移指令 JMP(JuMP) 格式格式:JMP d 功能功能:程序無條件轉移到目標地址程序無條件轉移到目標地址d去執(zhí)行去執(zhí)行 說明說明:目標地址:目標地址d常常

3、用標號表示,標號是目標地址的符號表示。有常常用標號表示,標號是目標地址的符號表示。有6種目標地址種目標地址尋址方式。尋址方式。2、子程序(過程)調用指令、子程序(過程)調用指令 CALL 格式格式:CALL d 功能功能:程序無條件轉移到子程序(過程)地址程序無條件轉移到子程序(過程)地址d去執(zhí)行并保護斷點地址去執(zhí)行并保護斷點地址 說明說明:CALL指令與指令與JMP指令不同點在于指令不同點在于CALL指令包含了保護斷點地址的操作,指令包含了保護斷點地址的操作,即將斷點處的即將斷點處的IP(段內調用)值或(段內調用)值或CS、IP(段間調用)值壓入堆棧(段間調用)值壓入堆棧(PUSH IP或或

4、PUSH CS;PUSH IP)。)。CALL指令應同指令應同子程序(過程)子程序(過程)返回指令返回指令RET搭配使用。搭配使用。XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX3、子程序(過程)返回指令、子程序(過程)返回指令 RET(RETurn) 格式格式:RETRET n 功能功能:無條件從子程序返回無條件從子程序返回 說明說明:返回指令返回指令RET執(zhí)行與執(zhí)行與CALL指令相反的操作,指令相反的操作,RET指令安排在子程序中,實指令安排在子程序中,實現從子程序返回到主程序斷點處繼續(xù)執(zhí)行現從子程序返回到主程序斷點

5、處繼續(xù)執(zhí)行XXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXX4、條件轉移指令、條件轉移指令 格式格式:J條件條件 標號標號 功能功能:若滿足條件,則程序轉移到標號地址去執(zhí)行,否則繼續(xù)執(zhí)行下一條指令若滿足條件,則程序轉移到標號地址去執(zhí)行,否則繼續(xù)執(zhí)行下一條指令 說明說明:條件轉移指令是以標志位的狀態(tài),或者是以標志位的邏輯運算結果作為轉:條件轉移指令是以標志位的狀態(tài),或者是以標志位的邏輯運算結果作為轉移依據的。如果滿足轉移條件,則程序轉移到指定的目標地址,否則,繼續(xù)執(zhí)行下移依據的。如果滿足轉移條件,則程序轉移到指定的目標地址,否則,繼續(xù)執(zhí)行下一條指令一條指令條件是由

6、標志寄存器中的標志的狀態(tài)決定的轉移。條件是由標志寄存器中的標志的狀態(tài)決定的轉移。條件是由有符號數和無符號數的大小決定的轉移。條件是由有符號數和無符號數的大小決定的轉移。FRJC 標號標號 CF=1有進位,則轉移到標號所在地址有進位,則轉移到標號所在地址JNC 標號標號 CF=0無進位,則轉移到標號所在地址無進位,則轉移到標號所在地址JZ/JE 標號標號 ZF=1結果為零,則轉移到標號所在地址結果為零,則轉移到標號所在地址JNZ/JNE 標號標號 ZF=0結果為非零,則轉移到標號所在地址結果為非零,則轉移到標號所在地址JS 標號標號 SF=1結果為負,則轉移到標號所在地址結果為負,則轉移到標號所

7、在地址JNS 標號標號 SF=0結果非負,則轉移到標號所在地址結果非負,則轉移到標號所在地址 JP 標號標號 PF=1結果結果1的個數為偶數個,則轉移的個數為偶數個,則轉移JNP 標號標號 PF=0結果結果1的個數為奇數個,則轉移的個數為奇數個,則轉移JO 標號標號 OF=1結果溢出,則轉移到標號所在地址結果溢出,則轉移到標號所在地址 JNO 標號標號 OF=0結果未溢出,則轉移到標號所在地址結果未溢出,則轉移到標號所在地址條件是由標志寄存器中的標志的狀態(tài)決定的轉移。條件是由標志寄存器中的標志的狀態(tài)決定的轉移。條件是由有符號數和無符號數的大小決定的轉移。條件是由有符號數和無符號數的大小決定的轉

8、移。u無符號數轉移指令:無符號數轉移指令:比較兩個無符號數,并根據比較結果轉移比較兩個無符號數,并根據比較結果轉移JA標號標號;兩數比較,高于則轉移(;兩數比較,高于則轉移(JNBE)JNA標號標號;兩數比較,不高于則轉移(;兩數比較,不高于則轉移(JBE)JB標號標號;兩數比;兩數比較,較,低于則轉移(低于則轉移(JNAE)JNB標號標號;兩數比較,不低于則轉移(;兩數比較,不低于則轉移(JAE)u有符號數轉移指令:有符號數轉移指令:比較兩個有符號數,并根據比較結果轉移比較兩個有符號數,并根據比較結果轉移JG標號標號;兩數比較,大于則轉移(;兩數比較,大于則轉移(JNLE)JNG標號標號;兩

9、數比較,不大于則轉移(;兩數比較,不大于則轉移(JLE)JL標號標號;兩數比較,小于則轉移(;兩數比較,小于則轉移(JNGE)JNL標號標號;兩數比較,不小于則轉移(;兩數比較,不小于則轉移(JGE)5、循環(huán)指令、循環(huán)指令 LOOP 格式格式:LOOP 標號標號 功能功能:將:將CXCX1,若,若CX0則轉到標號地則轉到標號地址去執(zhí)行,否則執(zhí)行下一條指令址去執(zhí)行,否則執(zhí)行下一條指令 說明說明:LOOP指令相當于下面兩條指令的組合:指令相當于下面兩條指令的組合:6、循環(huán)指令、循環(huán)指令 LOOPZ/LOOPE 格式格式:LOOPZ/LOOPE 標號標號 功能功能:若若ZF1且且CX1CX0則轉到標

10、號地址則轉到標號地址去執(zhí)行,否則執(zhí)行去執(zhí)行,否則執(zhí)行LOOPE后面的指令后面的指令 說明說明:LOOPE指令需要同時滿足兩個條件才進行指令需要同時滿足兩個條件才進行循環(huán)轉移。注意指令中檢測的循環(huán)轉移。注意指令中檢測的ZF是前面指令影響的是前面指令影響的結果,不是本指令結果,不是本指令CX1的結果的結果LOOPE指令常用于在一個數據區(qū)中尋找內容指令常用于在一個數據區(qū)中尋找內容與規(guī)定字符與規(guī)定字符不相同不相同的單元的單元7、循環(huán)指令、循環(huán)指令 LOOPNZ/LOOPNE 格式格式:LOOPNZ/LOOPNE 標號標號 功能功能:若若ZF0且且CX1CX0則轉到標號地址則轉到標號地址去執(zhí)行,否則執(zhí)行

11、去執(zhí)行,否則執(zhí)行LOOPE后面的指令后面的指令 說明說明:該指令與:該指令與LOOPZ指令僅指令僅ZF條件標志不同。條件標志不同。LOOPE指令常用于在一個數據區(qū)中尋找內容指令常用于在一個數據區(qū)中尋找內容與規(guī)定字符與規(guī)定字符相同相同的單元的單元8、CX是是0則轉移指令則轉移指令 JCXZ 格式格式:JCXZ 標號標號 功能功能:若若CX0則轉到標號地址去執(zhí)行,否則執(zhí)行則轉到標號地址去執(zhí)行,否則執(zhí)行JCXZ后面的指令后面的指令 說明說明:JCXZ指令與指令與LOOP指令相比,都是根據指令相比,都是根據CX的內容決定是否轉移,但不同點是的內容決定是否轉移,但不同點是JCXZ指令不包含指令不包含CX減減1操作,另外轉移條件是操作,另外轉移條件是CX0,而不是,而不是CX09、中斷調用指令、中斷調用指令 INT :INT n :調用類型號為調用類型號為n的中斷服務程序的中斷服務程序,n為為0255。 XXXXXXXXXXXX11、溢出中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論