




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、五、程序控制指令n轉移指令轉移指令n循環控制循環控制1. 轉移指令轉移指令n無條件轉移指令無條件轉移指令n 無條件轉移到目的地址,執行新的指令無條件轉移到目的地址,執行新的指令n有條件轉移指令有條件轉移指令n 在具備一定條件的情況下轉移到目的地址在具備一定條件的情況下轉移到目的地址轉移指令的轉移原理n經過修正代碼段存放器經過修正代碼段存放器CS及指令指針及指令指針IP的內容,使程序改動順序執行的方式,轉的內容,使程序改動順序執行的方式,轉到新的目的地址執行。到新的目的地址執行。無條件轉移指令n指令格式:指令格式:n JMP OPRDn無條件轉移的目的地址可以是在當前代碼段,無條件轉移的目的地址
2、可以是在當前代碼段,也可在另一代碼段也可在另一代碼段無條件轉移指令n段內轉移段內轉移目的地址與目的地址與JMP指令在同一代碼指令在同一代碼段段n轉移方式:轉移方式:n 直接轉移直接轉移指令中直接給出轉移的目的指令中直接給出轉移的目的地址地址n 間接轉移間接轉移由指令中的存放器或存儲器由指令中的存放器或存儲器間接給出轉移間接給出轉移n 目的地址目的地址無條件段內轉移n直接轉移:直接轉移:n JMP Lablen轉移目的地址:轉移目的地址:n 段基地址不變;段基地址不變;n 偏移地址偏移地址=當前當前IP+位移量位移量JMPLabel代代碼碼段段位移量位移量近地址標號近地址標號無條件段內轉移n間接
3、轉移:間接轉移:n JMP BXn JMP WORD PTRBXJMP代代碼碼段段數數據據段段BX=1200XXHXXHIP指令碼指令碼無條件段間轉移n直接轉移:直接轉移:n JMP FAR Lable遠地址標號遠地址標號JMPLabel代代碼碼段段1代代碼碼段段2XXHXXHXXHXXHIPCS無條件段間轉移n間接轉移:間接轉移:n JMP DWORD PTRBXXXHXXHXXHXXHBXIPCSJMP指令碼指令碼代代碼碼段段1代代碼碼段段2數數據據段段條件轉移指令n在滿足一定的條件下,程序轉移到目的地址繼在滿足一定的條件下,程序轉移到目的地址繼續執行;續執行;n在條件轉移指令之前,應有一
4、條為條件轉移指在條件轉移指令之前,應有一條為條件轉移指令的執行構成條件的指令如對標志位產生影令的執行構成條件的指令如對標志位產生影響的指令;響的指令;n條件轉移指令均為段內短轉移,即轉移范圍為:條件轉移指令均為段內短轉移,即轉移范圍為:n -128-+127p206條件轉移指令舉例n例例1:在內存的數據段中存放了:在內存的數據段中存放了100個個8位帶符位帶符號數號數,其首地址為其首地址為TABLE,試統計其中正數、負試統計其中正數、負數和零的個數,并分別將個數存如數和零的個數,并分別將個數存如PLUS、MINUS和和ZERO三個單元中。三個單元中。條件轉移指令舉例n例例2:在以:在以DATA
5、為首地址的內存數據段中,為首地址的內存數據段中,存放有存放有200個個16位帶符號數,試找出其中最大位帶符號數,試找出其中最大和最小的符號數,并分別放在和最小的符號數,并分別放在MAX和和MIN為為首的內存單元中。首的內存單元中。2. 循環控制指令循環控制指令n控制程序在以當前控制程序在以當前IP為中心的為中心的-128+127范圍范圍內循環執行;內循環執行;n循環次數由循環次數由CX存放器指定。存放器指定。 循環指令循環指令無條件循環指令無條件循環指令LOOP 條件循環指令條件循環指令LOOPZE LOOPNZE對標志位不產生影響對標志位不產生影響無條件循環指令n格式:格式:n LOOP L
6、ablen循環條件:循環條件:n CX 0nLOOP指令的操作相當于:指令的操作相當于: n DEC CXn JNZ Lable條件循環指令n格式:格式:n LOOPZ Lablen LOOPE Lablen循環條件:循環條件:n CX 0 ZF=1n格式:格式:n LOOPNZ Lablen LOOPNE Lablen循環條件:循環條件:n CX 0 ZF=05.4 5.4 匯編言語源程序匯編言語源程序掌握:掌握:匯編言語與匯編程序的概念;匯編言語與匯編程序的概念;匯編言語程序設計過程;匯編言語程序設計過程;匯編言語源程序的構造框架;匯編言語源程序的構造框架;常用偽指令及根本常用偽指令及根本
7、DOS功能模塊的運用。功能模塊的運用。一、匯編言語及匯編程序n計算機言語:計算機言語:機器言語機器言語匯編言語匯編言語高級言語高級言語面向機器面向機器 的言語的言語機器言語機器言語匯編言語匯編言語高級言語高級言語匯編言語及匯編程序n匯編言語源程序匯編言語源程序 用助記符編寫的程序用助記符編寫的程序源程序的編譯程序源程序的編譯程序匯編程序匯編程序匯編言語匯編言語源程序源程序機器言語機器言語目的程序目的程序匯編言語程序設計與執行過程n輸入匯編言語源程序輸入匯編言語源程序 源文件源文件 .ASMn匯編編譯匯編編譯 目的文件目的文件 .OBJn鏈接鏈接 可執行文件可執行文件 .EXEn調試調試 最終程
8、序最終程序匯編言語的語句格式n指令性語句指令性語句 由由CPU執行的指令執行的指令n語句格式:語句格式:n標號:標號: 前綴前綴 助記符助記符 操作數操作數,操作數操作數 ;注釋注釋指令的符號地址,指令的符號地址,標號后要有冒號標號后要有冒號操作碼操作碼注釋前加分號注釋前加分號匯編言語的語句格式n指示性語句指示性語句 :n CPU不執行的指令,不生成目的代碼;不執行的指令,不生成目的代碼;n 由匯編程序執行,用于分配內存空間、定義由匯編程序執行,用于分配內存空間、定義變量、指示程序開場和終了等。變量、指示程序開場和終了等。n指令格式:指令格式:名字名字 偽指令助記符偽指令助記符 操作數操作數
9、,操作數,操作數, ;注釋;注釋變量的符號地址變量的符號地址其后不加冒號其后不加冒號指示性語句中至少有一個操作數指示性語句中至少有一個操作數操作數n常量常量 數值或字符、字符串數值或字符、字符串n存放器存放器n存儲器單元存儲器單元n變量或標號變量或標號n表達式表達式 可包括各種運算符可包括各種運算符變量n代表內存中的數據區,程序中視為存儲器代表內存中的數據區,程序中視為存儲器操作數操作數n變量的屬性:變量的屬性:n 段段 值值 變量所在段的段地址變量所在段的段地址n 偏移量偏移量 變量單元地址與段首地址變量單元地址與段首地址之之n 間的位移量。間的位移量。n 類類 型型 字節型、字型和雙字型字
10、節型、字型和雙字型二、根本偽指令n數據定義偽指令數據定義偽指令n符號定義偽指令符號定義偽指令n段定義偽指令段定義偽指令n設定段存放器偽指令設定段存放器偽指令n終了偽指令終了偽指令數據定義偽指令n用于定義數據區中變量的類型用于定義數據區中變量的類型n格式:格式:n 變量名變量名 偽指令助記符偽指令助記符 操作數,操作數, ;注釋注釋數據定義偽指令偽指令助記符偽指令助記符DB 定義的變量為字節型定義的變量為字節型DW 定義的變量為字類型雙字節定義的變量為字類型雙字節DD 定義的變量為雙字型定義的變量為雙字型4字節字節DQ 定義的變量為定義的變量為4字型字型8字節字節DT 定義的變量為定義的變量為1
11、0字節型字節型數據定義偽指令nDATA1 DB 11H,22H,33H,44HnDATA2 DW 11H,22H,3344HnDATA3 DD 11H*2,22H,33445566H思索以上變量在內思索以上變量在內存中的存放方式存中的存放方式數據定義偽指令n偽指令的性質決議所定義變量的屬性;偽指令的性質決議所定義變量的屬性;n定義字符串必需用定義字符串必需用DB偽指令偽指令n例:例:n DATA1 DB ABCD,66HABCD41H42H43H44H66H反復操作符n為一個數據區的各單元設置一樣的初值為一個數據區的各單元設置一樣的初值n格式:格式:n 變量名變量名 偽指令助記符偽指令助記符
12、n DUP初初值,值,n例:例:n BW 20 DUP0n DB 3 DUP22H,11H,?,?隨機數隨機數符號定義偽指令n格式:格式:n 符號名符號名 EQU表達式表達式n操作:操作:n 用符號名取代后邊的表達式,不可重新定義用符號名取代后邊的表達式,不可重新定義n例:例:n CONSTANTEQU 100n VAR EQU 30H+99HEQU闡明的表達式不占用內存空間闡明的表達式不占用內存空間段定義偽指令n闡明邏輯段的起始和終了;闡明邏輯段的起始和終了;n闡明不同程序模塊中同類邏輯段之間的闡明不同程序模塊中同類邏輯段之間的聯絡形狀聯絡形狀段定義偽指令段名段名 SEGMENT 定位類型定
13、位類型 組合類型組合類型 類別類別 段名段名 ENDS闡明邏輯闡明邏輯段的起點段的起點闡明不同模塊闡明不同模塊中同名段的組中同名段的組和銜接方式和銜接方式段定義偽指令例DATA SEGMENT MEM1 DB 11H,22HMEM2 DW 1234HDATA ENDS設定段存放器偽指令n闡明所定義邏輯段的性質闡明所定義邏輯段的性質n格式格式n ASSUME 段存放器名:段名段存放器名:段名n ,段存放器名:段名,段存放器名:段名,終了偽指令n表示源程序終了表示源程序終了n格式:格式:n END 標號標號一個完好源程序構造例DSEG SEGMENTDATA1 DB 1,2,DATA2 DW 12
14、34HDSEG ENDSESEG SEGMENT DB 20 DUP?ESEG ENDSSSEG SEGMENT DB 200 DUP?SSEG ENDS一個完好源程序構造例CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG, ES:ESEG,SS:SSEG START:MOV AX,DSEG MOV DS,AX MOV AX,ESEG MOV ES,AX MOV AX,SSEG MOV SS,AX CSEG ENDS END START源程序源程序 代碼代碼四、DOS功能模塊n用用 INT 21H 軟中斷指令,可調用包含多軟中斷指令,可調用包含多個子功能的功能包;個子功能
15、的功能包;n各子功能采用功能號來區分;各子功能采用功能號來區分;n功能包括:設備管理、目錄管理、文件管功能包括:設備管理、目錄管理、文件管n 理等。理等。DOS功能模塊調用格式功能模塊調用格式n調用格式:調用格式:n MOV AH,功能號,功能號n n INT 21H常用子功能n從鍵盤輸入單字符并顯示;從鍵盤輸入單字符并顯示;n從鍵盤輸入字符串并顯示;從鍵盤輸入字符串并顯示;n在屏幕上顯示單字符;在屏幕上顯示單字符;n在屏幕上顯示字符串。在屏幕上顯示字符串。從鍵盤輸入單字符并顯示n調用方法:調用方法:n MOV AH,01n INT 21Hn輸入的字符在輸入的字符在AL中中單字符輸入例GET_
16、KEY: MOVAH,1 INT21H CMPAL,Y JZ YES CMPAL,N JZ NO JNZGET_KEY YES: NO: 交互式應交互式應 答程序答程序單字符顯示輸出nAH 功能號功能號O2HnDL 待輸出字符待輸出字符nINT 21H單字符顯示輸出例nMOVAH,02nMOVDL,41HnINT21Hn 執行結果:屏幕顯示字符執行結果:屏幕顯示字符 A字符串輸出顯示nAH 功能號功能號O9HnDS:DX 待輸出字符串的偏移地址待輸出字符串的偏移地址nINT 21H字符串輸出顯例如DATA SEGMENTMESS1 DB Input String: 0DH,0AH,$DATA
17、ENDSCODE SEGMENT MOV AH,09MOV DX,OFFSET MESS1INT21H 被顯示的被顯示的字符串必字符串必需以需以$終終了了匯編言語的一個實例匯編言語的一個實例DATA SEGMENTBLOCKDB43H,0ABH,PDATADB20DUP(?)NDATADB20DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA JMP AGAINMINUS: XCHGBX,DI STOSB XCHGBX,DIAGAIN: LOOPGOONCODE ENDS END STARTSTART: MOV AX,DATA MOV DS,AX MOV ES,AX LEA SI,BLOCK LEA DI,PDATA LEA BX,NDATA CLD MOV CX,20 GOON: LODSB ;(AL) SI TEST AL,80H JNZ MINUS STOSB ;DI (AL) ;DI (DI)+1 (下接右邊下接右邊)終
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣告管理案例評析(一)
- 2025年工業互聯網平臺TEE在智能工廠設備維護中的應用分析報告
- 攪拌站業務人員管理制度
- picc管維護管理制度
- 山西村集體用工管理制度
- 三級子公司工資管理制度
- 學院圖書館采編管理制度
- 2025年福建省中考道德與法治真題(解析版)
- 星級管理動態管理制度
- 為規范公司印章管理制度
- 物業管理行業公共區域安全免責協議
- 健康管理中心崗位職責與要求
- 中國肥胖及代謝疾病外科治療指南(2024版)解讀
- 2025年西師新版四年級英語下冊階段測試試卷
- 體育場所應急預案
- 南開區2024-2025學年七年級上學期期末道德與法治試題
- 《電磁兼容性(EMC)培訓》課件
- 孕期預防產后出血
- 痛風性關節炎護理查房課件
- 國家開放大學本科《商務英語4》一平臺機考真題及答案(第五套)
- 2025陜西西安亮麗電力集團限責任公司招聘55人高頻重點提升(共500題)附帶答案詳解
評論
0/150
提交評論