![匯編語(yǔ)言課件:第5章循環(huán)與分支程序設(shè)計(jì)_第1頁(yè)](http://file4.renrendoc.com/view/8eb319a014d4306978d7d344ffda2f33/8eb319a014d4306978d7d344ffda2f331.gif)
![匯編語(yǔ)言課件:第5章循環(huán)與分支程序設(shè)計(jì)_第2頁(yè)](http://file4.renrendoc.com/view/8eb319a014d4306978d7d344ffda2f33/8eb319a014d4306978d7d344ffda2f332.gif)
![匯編語(yǔ)言課件:第5章循環(huán)與分支程序設(shè)計(jì)_第3頁(yè)](http://file4.renrendoc.com/view/8eb319a014d4306978d7d344ffda2f33/8eb319a014d4306978d7d344ffda2f333.gif)
![匯編語(yǔ)言課件:第5章循環(huán)與分支程序設(shè)計(jì)_第4頁(yè)](http://file4.renrendoc.com/view/8eb319a014d4306978d7d344ffda2f33/8eb319a014d4306978d7d344ffda2f334.gif)
![匯編語(yǔ)言課件:第5章循環(huán)與分支程序設(shè)計(jì)_第5頁(yè)](http://file4.renrendoc.com/view/8eb319a014d4306978d7d344ffda2f33/8eb319a014d4306978d7d344ffda2f335.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 循環(huán)程序設(shè)計(jì) 分支程序設(shè)計(jì)第5章 循環(huán)與分支程序設(shè)計(jì)分支結(jié)構(gòu) 子程序結(jié)構(gòu)程序結(jié)構(gòu): 復(fù)合結(jié)構(gòu):多種程序結(jié)構(gòu)的組合 順序結(jié)構(gòu) 循環(huán)結(jié)構(gòu)編制匯編語(yǔ)言程序的步驟:(1) 分析題意,確定算法(2) 根據(jù)算法畫(huà)出程序框圖(3) 根據(jù)框圖編寫程序(4) 上機(jī)調(diào)試程序1. 循環(huán)程序設(shè)計(jì)DO-WHILE 結(jié)構(gòu) DO-UNTIL 結(jié)構(gòu)控制條件初始化循環(huán)體YN控制條件初始化循環(huán)體YN初始化:設(shè)置循環(huán)的初始狀態(tài)循環(huán)體:循環(huán)的工作部分及修改部分控制條件:計(jì)數(shù)控制 特征值控制 地址邊界控制 BX1234例:把 BX 中的二進(jìn)制數(shù)以十六進(jìn)制的形式顯示在屏幕上 mov ch, 4rotate: mov cl, 4 rol
2、 bx, cl mov al, bl and al, 0fh add al, 30h ; 09 ASCII 30H39H cmp al, 3ah jl printit add al, 7h ; AF ASCII 41H46Hprintit: mov dl, al mov ah, 2 int 21h dec ch jnz rotate mov bx, 0newchar: mov ah, 1 ;鍵盤輸入 int 21h sub al, 30h jl exit ; 9退出 cbw xchg ax, bx mov cx, 10 mul cx xchg ax, bx add bx, ax jmp new
3、charexit: 例:從鍵盤接收十進(jìn)制數(shù)并存入 BX( ( 010)+1 )10+2 )10+5 1 2 531 32 35 mov bx, 0newchar: mov ah, 1 ;鍵盤輸入 int 21h sub al, 30h jl exit ; 0退出 cmp al, 10 jl add_to sub al, 27h ; af cmp al, 0ah jl exit ; f退出add_to: mov cl, 4 shl bx, cl mov ah, 0 add bx, ax jmp newcharexit: 例:從鍵盤接收十六進(jìn)制數(shù)并存入 BX 1 a f31 61 66(016)+
4、1) 16+0a) 16+0fx dw ?array_head dw 3,5,15,23,37,49,52,65,78,99array_end dw 105n dw 32 例:將正數(shù) n 插入一個(gè)已整序的正數(shù)字?jǐn)?shù)組 mov ax, n mov array_head-2, 0ffffh mov si, 0compare: cmp array_end si, ax jle insert mov bx, array_end si mov array_end si+2, bx sub si, 2 jmp short compareinsert: mov array_end si+2, ax 35152
5、337495265789910532-1array_headarray_endn x 例: 將首地址為A的字?jǐn)?shù)組從小到大排序(氣泡算法,多重循環(huán)) 32,85,16,15, 8 序號(hào) 地址 數(shù)比 較 遍 數(shù)12341 A 322 A+2 853 A+4 164 A+6 155 A+8 8321615885161583285158163285815163285 mov cx, 5 ;元素個(gè)數(shù) dec cx ;比較遍數(shù)loop1: mov di, cx ;比較次數(shù) mov bx, 0loop2: mov ax, Abx ;相鄰兩數(shù) cmp ax, Abx+2 ; 比較 jle continue x
6、chg ax, Abx+2 ;交換位置 mov Abx, axcontinue: add bx, 2 loop loop2 mov cx, di loop loop12. 分支程序設(shè)計(jì) case 1 case 2 case n? case 1 case 2 case n CASE 結(jié)構(gòu) IF-THEN-ELSE 結(jié)構(gòu)(1) 邏輯尺控制(2) 條件控制(3) 地址跳躍表(值與地址有對(duì)應(yīng)關(guān)系的表)例:有數(shù)組 x(x1,x2,x10) 和 y(y1,y2,y10), 編程計(jì)算 z(z1,z2,z10)z1 = x1 + y1z2 = x2 + y2z3 = x3 - y3z4 = x4 - y4z5
7、 = x5 - y5z6 = x6 + y6z7 = x7 - y7z8 = x8 - y8z9 = x9 + y9z10= x10 + y10 邏輯尺:0 0 1 1 0 1 1 1 0 01 減法0 加法 x dw x1,x2,x3,x4,x5,x6,x7,x8,x9,x10 y dw y1,y2,y3,y4,y5,y6,y7,y8,y9,y10 z dw z1,z2,z3,z4,z5,z6,z7,z8,z9,z10logic_rule dw 00dch ;0000,0000,1101,1100 mov bx, 0 mov cx, 10 mov dx, logic_rulenext: mo
8、v ax, xbx shr dx, 1 jc subtract add ax, ybx jmp short result ; 向前引用subtract: sub ax, ybxresult: mov zbx, ax add bx, 2 loop next data segment array dw 12,11,22,33,44,55,66, 77,88,99,111,222,333 number dw 55 low_idx dw ? high_idx dw ?data ends例:折半查找算法 12 11 22 33 44 55 66 77 88 99111222333 0 1 2 3 4 5
9、 6 7 8 9101112(ax)=55low_idx 1 1 4 5 high_idx 12555(si)=0ahCf=0(ax)=90low_idx 1 7 7 8 9 high_idx 1212888(si)=10hCf=1折半算法1 lea di, array mov ax, number ;要查找數(shù) cmp ax, di+2 ; (ax)與第一個(gè)元素比較 ja chk_last lea si, di+2 je exit ; (ax)第一個(gè)元素,找到退出 stc jmp exit ; (ax)最后一個(gè)元素,未找到退出算法1compare: cmp ax, bx+si je exit
10、ja higher dec cx mov high_idx, cx jmp midhigher: inc cx mov low_idx, cx jmp midno_match: stcexit: search: mov low_idx, 1 mov bx, di ;個(gè)數(shù) mov high_idx, bx mov bx, dimid: mov cx, low_idx mov dx, high_idx cmp cx, dx ja no_match add cx, dx shr cx, 1 mov si, cx shl si, 1 12 11 22 33 44 55 66 77 88 9911122
11、2333 0 1 2 3 4 5 6 7 8 9101112(ax)=55 di 12 6 10si 1264(si)=0ah(di)=0ahCf=0(ax)=90 di 12 18 14 16 si 12642(si)=2(di)=10hCf=1折半算法2算法2idx_ok: shr si, 1 test si, 1 jz sub_idx inc sisub_idx: sub di, si jmp short comparehigher: cmp si, 2 je no_match shr si, 1 jmp short even_idxall_done: mov si, diexit: s
12、earch: mov si, dieven_idx: test si, 1 jz add_idx inc siadd_idx: add di, sicompare: cmp ax, di je all_done ja higher cmp si, 2 jne idx_okno_match: stc jmp exit例:根據(jù) AL 寄存器中哪一位為 1(從低位到高位), 把程序轉(zhuǎn)移到 8 個(gè)不同的程序分支branch_table dw routine1 dw routine2 dw routine3 dw routine4 dw routine5 dw routine6 dw routine7
13、dw routine8 cmp al, 0 ;AL為邏輯尺 je continue lea bx, branch_tableL: shr al, 1 ;邏輯右移 jnc add1 jmp word ptrbx ;段內(nèi)間接轉(zhuǎn)移add1: add bx, type branch_table ;add bx,2 jmp Lcontinue: routine1: routine2: (寄存器間接尋址)(寄存器相對(duì)尋址) cmp al, 0 je continue mov si, 0 L: shr al, 1 ;邏輯右移 jnc add1 jmp branch_tablesi ;段內(nèi)間接轉(zhuǎn)移add1: add si, type branch_table jmp Lcontinue: routine1: routine2: (基址變址尋址) cmp al, 0 je continue lea bx, br
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代企業(yè)現(xiàn)金流分析與優(yōu)化策略
- 國(guó)慶節(jié)漢服節(jié)活動(dòng)方案
- 環(huán)境安全教育在校園的推廣與實(shí)踐
- Unit 4 Natural disasters Project 說(shuō)課稿-2024-2025學(xué)年高中英語(yǔ)人教版(2019)必修第一冊(cè)
- 3 地球的形狀說(shuō)課稿-2023-2024學(xué)年大象版科學(xué)四年級(jí)下冊(cè)
- 2023六年級(jí)語(yǔ)文上冊(cè) 第三單元 12 故宮博物院說(shuō)課稿新人教版
- Unit1 Making friends Part C(說(shuō)課稿)-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)001
- 2024年四年級(jí)品社下冊(cè)《第三單元 交通連著你我他》說(shuō)課稿 山東版
- 27巨人的花園 說(shuō)課稿 -2023-2024學(xué)年語(yǔ)文四年級(jí)下冊(cè)統(tǒng)編版
- Module 3 Unit 2 You can use the computers.(說(shuō)課稿)-2023-2024學(xué)年外研版(一起)英語(yǔ)五年級(jí)下冊(cè)001
- 2023年北京市平谷區(qū)中考英語(yǔ)二模試卷
- 變壓器更換施工方案
- 【高分復(fù)習(xí)筆記】陳澄《新編地理教學(xué)論》筆記和課后習(xí)題詳解
- 安徽新宸新材料有限公司年產(chǎn)6000噸鋰離子電池材料雙氟磺酰亞胺鋰項(xiàng)目環(huán)境影響報(bào)告書(shū)
- 日本酒類消費(fèi)行業(yè)市場(chǎng)分析報(bào)告
- GB/T 29594-2013可再分散性乳膠粉
- 西子奧的斯電梯ACD2調(diào)試說(shuō)明書(shū)
- 成長(zhǎng)感恩責(zé)任高中主題班會(huì)-課件
- 建設(shè)項(xiàng)目全過(guò)程工程咨詢服務(wù)指引(咨詢企業(yè)版)(征求意見(jiàn)稿)
- 分手的協(xié)議書(shū)模板(5篇)
- 2020年度安徽省中考數(shù)學(xué)科目試卷
評(píng)論
0/150
提交評(píng)論