版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
控制轉移指令無條件轉移指令條件轉移指令循環(huán)指令子程序調用和返回指令中斷調用和返回指令1、無條件轉移指令格式:
JMP目標說明:目標通常用標號來表達,根據轉移的遠/近、直接/間接不同,可有以下幾種格式:JMP標號;段內直接轉移JMPCX;段內間接轉移JMPWORDPTR[BX];段內間接轉移JMP
FARPTR標號;段間直接轉移JMPDWORDPTR[BX][SI];段間間接轉移列表文件行號偏移量機器碼程序10000CODESEGMENT2ASSUMECS:CODE300000405PROG_S:ADDAL,05H4000290NOP50003EBFBJMPSHORTPROG_S6000590NOP70006CODEENDS8END例1例2JMPDWORDPTR[SI+0125H]CS=1200H,IP=05H,DS=2500H,SI=1300H內存單元(26425H)=4500H(26427H)=32F0H機器碼為FFAC2501H2、條件轉移指令基本格式:
JXX
目標說明:字母“J”后面的“XX”是指“條件”,如果條件成立,則轉移至“目標”處執(zhí)行,否則順序執(zhí)行。條件轉移指令共18條,它們均以F寄存器中狀態(tài)標志位作為判斷條件,但執(zhí)行后均不影響各標志位。此類指令都只能在以當前IP內容為中心的-128至+127字節(jié)范圍內轉移(短轉移)。超過要修改程序。2、條件轉移指令這18條指令又可分為三大類:簡單條件轉移指令無符號數條件轉移指令帶符號數條件轉移指令表一簡單條件轉移指令標志位指令轉移條件含義JCJNCCF=1CF=0有進/借位無進/借位CFZFSFOFPFJE/JZJNE/JNZZF=1ZF=0相等/等于0不相等/不等于0JSJNSSF=1SF=0是負數是正數或0JOJNOOF=1OF=0有溢出無溢出JP/JPEJNP/JPOPF=1PF=0有偶數個‘1’有奇數個‘1’表二無符號數條件轉移指令指令轉移條件含義JA/JNBECF=0且ZF=0JAE/JNBA<BJB/JNAEJBE/JNACF=0A
BCF=1CF=1或ZF=1A>BA
B表三有符號數條件轉移指令指令轉移條件含義JG/JNLESF=OF且ZF=0JGE/JNLA<BJL/JNGEJLE/JNGSF=OFA
BSF
OFSF
OF或ZF=1A>BA
B例1:已知三個帶符號數存放在AX、BX、CX寄存器中,編程求這三個數的最大值,并存放在AX寄存器中。CMPAX,BXJGCMPAXCXMOVAX,BXCMPAXCX:CMPAX,CXJGEXITMOVAX,CXEXIT:
CMPAX,BXJGCMPAXCXMOVAX,BXCMPAXCX:CMPAX,CXJLNEXTJMPEXITNEXT:MOVAX,CXEXIT:例2:設某個學生的英語成績已存放在AL寄存器中,如果低于60分,那么打印F(FAIL);若高于或等于85分,則打印G(GOOD);當在60分和84分之間時,打印P(PASS)。
CMPAL,60JBFAILCMPAL,85JAEGOODMOVDL,’P’JMPPRINTFAIL:MOVDL,’F’JMPPRINTGOOD:MOVDL,’G’PRINT:….3、循環(huán)指令(1).循環(huán)程序結構初始化部分處理部分修改計數器及指針循環(huán)結束?結束處理部分YN循環(huán)控制部分(2).為何需要循環(huán)?簡化程序的編程簡少程序對內存的占用。(3).如何實現循環(huán)?使用條件轉移指令:Jxx
目標使用循環(huán)控制指令:LOOP目標等
8086/8088循環(huán)控制指令共有四條,下面介紹其中一條最常用指令:
LOOP指令:指令格式:
LOOP目標
指令功能:自動進行循環(huán)次數的計數(即CXCX-1)后,如計數寄存器CX≠0,則轉移到目標單元,否則順序執(zhí)行。相當于這兩條指令:
DECCXJNZ/JNE目標說明:此指令隱含使用CX作為循環(huán)計數器;因此應注意先設置好CX的初始值。LOOP指令工作流程NYCX=0?循環(huán)體CXCX-1例1:計算:1+2+3+...+20。結果存入AX寄存器。MOVCX,0014HMOVAX,0A:ADDAX,CXLOOPA初始化部分
處理部分
循環(huán)控制部分例2:設商店里有8種商品,它們的價格分別為83元,76元,65元,84元,71元,49元,62元,58元,現要將每種商品提價7元,編程計算每種商品提價后的價格。OLDDB83H,76H,65H,84H,71H,49H,62H,58HNEWDB8DUP(?)MOVCX,8MOVBX,0NEXT:MOVAL,OLD[BX]ADDAL,7DAAMOVNEW[BX],ALINCBXLOOPNEXT
循環(huán)體內也可以只有一條指令,即LOOP本身,這樣的程序段常用來實現延時。例:MOVCX,100DELAY:LOOPDELAYLOOPE/LOOPZ指令工作流程YNCX=0?循環(huán)體CXCX-1ZF=1?NYLOOPNE/LOOPNZ指令工作流程YNCX=0?循環(huán)體CXCX-1ZF=0?NY舉例例1:設有一個由50個字節(jié)組成的數組存放在ARRAY開始的內存單元中,現對該數組中的元素進行測試,若元素為0,而且不是最后一個元素,則繼續(xù)進行下一個元素的測試,直到找到第一個非零元素或查完為止。(提示:用LOOPE指令實現循環(huán))DATASEGMENTARRAYDB50DUP(?)DATAEDNS……MOVBX,OFFSETARRAYDECBXMOVCX,50NEXT:INCBXCMP[BX],00hLOOPENEXT…………例2:設一個由17個字符組成的字符串存放在STRING開始的內存中,查看該字符串是否有空格符。若沒有找到和尚未查完,則繼續(xù),直到找到第一個空格符或查完了才退出程序。(提示用LOOPNE指令實現循環(huán))DATASEGMENTSTRINGDB‘PersonalComputer’DATAENDS………
MOVBX,OFFSETSTRINGDECBXMOVCX,17NEXT:INCBXCMP[BX],20HLOOPNENEXTJCXZ指令:指令格式:
JCXZ標號指令功能:若CX為0,則轉移到指令中標號所指定的地址處,否則將往下順序執(zhí)行,它不對CX進行自動減一的操作
說明:這條指令主要用在循環(huán)指令開始處。為了使程序跳過循環(huán),只要先將CX清零。4、子程序調用和返回指令在編寫程序時,往往把某些能完成特定功能而又經常用的的程序段,編寫成獨立的模塊,稱為過程或子程序。過程調用由近調用和遠調用兩種類型。CALL指令分兩步執(zhí)行第一步是將返回地址,推出堆棧。第二步是轉到子程序的入口地址去執(zhí)行相應的子程序。RET指令,從棧中彈出返回地址,使程序返回主程序繼續(xù)執(zhí)行。4、子程序調用和返回指令4、子程序調用和返回指令名稱格式執(zhí)行的操作段內直接近調用CALLNEARPTRDST(IP)入棧(IP)←(IP)+16位位移量
間接近調用CALLWORDPTRDSTCALLBX(IP)入棧(IP)←(EA)
段間直接遠調用CALLFARPTRDST(CS)入棧(IP)入棧(IP)←DST指定的偏移地址(CS)←DST指定的段地址
間接遠調用CALLDWORDPTRDST(CS)入棧(IP)入棧(IP)←(EA)(CS)←(EA+2)
4、子程序調用和返回指令名稱格式執(zhí)行的操作段內近返回RET(IP)出棧
帶參數近返回RETexpression(IP)出棧(SP)←(SP)+16位位移量
段間遠返回RET(IP)出棧(CS)出棧
帶參數遠返回RETexpression(IP)出棧(CS)出棧(S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度太陽能暖氣系統設計與施工合同2篇
- 二零二五年度學生營養(yǎng)餐食品安全供應合同3篇
- 二零二五年度生態(tài)停車場綠化設計與養(yǎng)護合同4篇
- 二零二五年度城市地下綜合管廊電纜電線采購合同3篇
- 2025年專業(yè)打印機設備租賃及維護服務合同4篇
- 2025年增資協議合同文案簡介
- 2025年工程合同保險
- 專業(yè)化2024年度物流服務貨運承包合同
- 2025年健身健康食譜合同
- 二零二五年度環(huán)保型水鉆施工承包合同示范文本3篇
- 《醫(yī)院財務分析報告》課件
- 2025老年公寓合同管理制度
- 2024-2025學年人教版數學六年級上冊 期末綜合卷(含答案)
- 2024中國汽車后市場年度發(fā)展報告
- 感染性腹瀉的護理查房
- 天津市部分區(qū)2023-2024學年高二上學期期末考試 物理 含解析
- 《人工智能基礎》全套英語教學課件(共7章)
- 廢鐵收購廠管理制度
- 物品賠償單范本
- 《水和廢水監(jiān)測》課件
- 滬教版六年級數學下冊課件【全冊】
評論
0/150
提交評論