分支程序設計

上傳人:lu****i 文檔編號:53298337 上傳時間:2022-02-10 格式:DOCX 頁數:5 大?。?8.54KB
收藏 版權申訴 舉報 下載
分支程序設計_第1頁
第1頁 / 共5頁
分支程序設計_第2頁
第2頁 / 共5頁
分支程序設計_第3頁
第3頁 / 共5頁

本資源只提供3頁預覽,全部文檔請下載后查看!喜歡就下載吧,查找使用更方便

8 積分

下載資源

資源描述:

《分支程序設計》由會員分享,可在線閱讀,更多相關《分支程序設計(5頁珍藏版)》請在裝配圖網上搜索。

1、本文格式為Word版,下載可任意編輯 分支程序設計 這種程序的思路是先推斷條件是否成立;若成立,轉到轉移指令指定的位置執(zhí)行 例:從接口 03F 0H 中取數,若此數 =90 ,則將 00H 送 03F 7H ,若此數 90 ,則將 FFH 送接口 03F 3H 。程序如下: MOV DX , 03F 0H IN AL , DX CMP AL , 90 JNC NEXT1 MOV AL , 0FFH JMP NEXT2 NEX

2、T1 : MOV AL , 00H NEXT2 : MOV DX , 03F 7H OUT DX , AL HLT 分支程序依據條件是真或假打算執(zhí)行與否 推斷的條件是各種指令,如 CMP 、 TEST 等執(zhí)行后形成的狀態(tài)標志 轉移指令 Jcc 和 JMP 可以實現分支掌握;還可以采納 MASM 6.x 供應的條件控偽指令實現 單分支程序設計 條件成立跳轉,否則挨次執(zhí)行分支語句體;留意選擇正確的條件轉移指令和轉移目標地址 cmp ax,0 jns nonneg ; 分支條件: AX ≥ 0 neg

3、ax ; 條件不滿意,求補 nonneg: mov result,ax ; 條件滿意 例:計算 AX 的肯定值 雙分支程序設計 條件成立跳轉執(zhí)行第 2 個分支語句體,否則挨次執(zhí)行第 1 個分支語句體。留意第 1 個分支體后肯定要有一個 JMP 指令跳到第 2 個分支體后 例 : 顯示 BX 最高位 shl bx,1 ;BX 最高位移入 CF jc one ;CF = 1 ,即最高位為 1 ,轉移 mov dl,' 0' ;CF = 0 ,即最高位為 0 , DL ←' 0 ' jmp two ; 肯定要跳過另一個分支體 one: mov dl, ' 1 ' ;DL

4、←' 1 ' two: mov ah,2 int 21h ; 顯示 mov dl, ' 0 ' ;DL ←' 0 ' shl bx,1 ;BX 最高位移入 CF jnc two ;CF = 0 ,最高位為 0 ,轉移 mov dl,' 1' ;CF = 1 ,最高位為 1 , DL ←' 1 ' two: mov ah,2 int 21h ; 顯示 例 : 顯示 BX 最高位 多分支程序設計 多個條件對應各自的分支語句體,哪個條件成立就轉入相應分支體執(zhí)行。多分支可以化解為雙分支或單分支結構的組合例如: or ah,ah ; 等效于 cmp ah,0 jz func

5、tion0 ;ah = 0 ,轉向 function0 dec ah ; 等效于 cmp ah,1 jz function1 ;ah = 1 ,轉向 function1 dec ah ; 等效于 cmp ah,2 jz function2 ;ah = 2 ,轉向 function2 AH=0 fuction0 Y N AH=1 fuction1 Y N AH=2 fuction2 Y N 地址表形成多分支 需要在數據段事先支配一個按挨次排列的轉移地址表,輸入的數字作為偏移量。由于只有 2 個字節(jié) 16 位偏移地址,所以偏移量需要乘 2 關鍵是要理解間接尋址

6、方式 JMP 指令 .data msg db 'Input number(1~8):',0dh,0ah,'$' msg1 db 'Chapter 1 : ...',0dh,0ah,'$' msg2 db 'Chapter 2 : ...',0dh,0ah,'$‘ ... msg8 db 'Chapter 8 : ... ',0dh,0ah,'$' table dw disp1,disp2,disp3,disp4 dw disp5,disp6,disp7,disp8 ; 取得各個標號的偏移地址 例 : 數據段 start1: mov dx,offset msg ; 提示輸入

7、數字 mov ah,9 int 21h mov ah,1 ; 等待按鍵 int 21h cmp al,'1' ; 數字 1 ? jb start1 cmp al,'8' ; 數字 8 ? ja start1 and ax,000fh ; 將 ASCII 碼轉換成數字 dec ax shl ax,1 ; 等效于 add ax,ax mov bx,ax jmp table[bx] ; (段內)間接轉移: IP ← [table+bx] start2: mov ah,9 int 21h .exit 0 disp1: mov dx,offset msg1 ; 處理程序 1 jmp start2 .. 第 5 頁 共 5 頁

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!