九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPTX文檔下載  

順序分支程序設(shè)計(jì)實(shí)用教案

  • 資源ID:74094922       資源大小:10.65MB        全文頁數(shù):37頁
  • 資源格式: PPTX        下載積分:20積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要20積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請(qǐng)知曉。

順序分支程序設(shè)計(jì)實(shí)用教案

第第6章微型章微型(wixng)計(jì)算機(jī)計(jì)算機(jī)的程序設(shè)計(jì)的程序設(shè)計(jì)6.1程序設(shè)計(jì)步驟(bzhu)1376.2簡單程序1386.3分支程序1406.4循環(huán)程序1436.5子程序1466.6查表程序150第1頁/共37頁第一頁,共37頁。匯編語言(hu bin y yn)程序設(shè)計(jì)歸納如下7個(gè)步驟:(1) 分析問題: 分析問題就是全面理解問題,要把解決問題所需條件、原始數(shù)據(jù)、輸入和輸出信息、運(yùn)行速度要求、運(yùn)算精度要求和結(jié)果形式(xngsh)等搞清楚。(2) 建立數(shù)學(xué)模型: 在對(duì)問題全面理解后,需要建立數(shù)學(xué)模型,這是把問題向計(jì)算機(jī)處理方式轉(zhuǎn)化的第1步驟。建立數(shù)學(xué)模型是把問題數(shù)學(xué)化、公式化第2頁/共37頁第二頁,共37頁。(3) 確定算法: 建立數(shù)學(xué)模型后,許多情況下還不能直接進(jìn)行程序設(shè)計(jì),需要確定符合計(jì)算機(jī)運(yùn)算的算法。 計(jì)算機(jī)的算法比較靈活,一般要優(yōu)選邏輯簡單、運(yùn)算速度快、精度高的算法用于程序設(shè)計(jì);此外,還要考慮占用內(nèi)存空間小、編程容易等特點(diǎn)。(4) 繪制程序流程圖: 程序流程圖是用箭頭線段、框圖及菱形(ln xn)圖等繪制的一種圖。用它能夠把程序內(nèi)容直接描述出來,第3頁/共37頁第三頁,共37頁。(5) 內(nèi)存空間分配: 匯編語言的重要特點(diǎn)之一是能夠直接用機(jī)器指令或偽指令為數(shù)據(jù)或代碼程序分配內(nèi)存空間。 86系列存儲(chǔ)器結(jié)構(gòu)是分段的,如代碼段、數(shù)據(jù)段、堆棧段或附加段,在程序設(shè)計(jì)時(shí)要考慮(kol)分段結(jié)構(gòu),(6) 編制程序與靜態(tài)檢查: 編制程序就是按計(jì)算機(jī)語法規(guī)定書寫計(jì)算機(jī)解決問題的過程。編制程序首先關(guān)心的還是程序結(jié)構(gòu),它應(yīng)是模塊化和通用子程序結(jié)構(gòu),程序的結(jié)構(gòu)要層次簡單、清楚、易讀、易維護(hù)為好。第4頁/共37頁第四頁,共37頁。(7) 程序調(diào)試(實(shí)驗(yàn)): 程序調(diào)試是程序設(shè)計(jì)最后一步,也是非常重要的一步。沒有調(diào)試過的程序,很難保證程序無錯(cuò)誤,程序調(diào)試是不可缺省的。 例如在編輯、匯編、連接或用調(diào)試軟件(如DEBUG)調(diào)試時(shí)都可以(ky)發(fā)現(xiàn)錯(cuò)誤并設(shè)法修改程序。第5頁/共37頁第五頁,共37頁。6.2 順序程序設(shè)計(jì)(shj) 沒有分支(fnzh)、循環(huán)等轉(zhuǎn)移指令的程序,會(huì)按指令書寫的前后順利依次執(zhí)行,這就是順序程序 順序結(jié)構(gòu)是最基本的程序結(jié)構(gòu) 完全采用順序結(jié)構(gòu)編寫的程序并不多見第6頁/共37頁第六頁,共37頁。【例6.1】字加法(jif)用數(shù)據(jù)運(yùn)算指令,對(duì)兩個(gè)(lin )16位數(shù)做加法運(yùn)算。這兩個(gè)(lin )數(shù)從地址10050H開始連續(xù)存放,低位在小地址一端,結(jié)果放在這兩個(gè)(lin )數(shù)之后。(1) 分析題目:它是一個(gè)16位數(shù)相加的問題。在用加法指令時(shí),必須要考慮低8位和低8位相加后產(chǎn)生的進(jìn)位問題。(2) 根據(jù)86系列指令系統(tǒng),可以直接對(duì)累加器AX做字操作,但在低位相加后,會(huì)影響標(biāo)志寄存器的進(jìn)位位CF,所以,要用帶進(jìn)位的加法指令。第7頁/共37頁第七頁,共37頁。流程圖第8頁/共37頁第八頁,共37頁。程序(chngx)MOVAX,1000HMOVDS,AX ; DS1000HMOVSI,50H ; 被加數(shù)指針SI50HMOVDI,52H ; 加數(shù)指針DI52HMOVBX,54H; 和的指針BX54HCLC ; 清CFXORAX,AX ; 清AX冗余(rn y)MOVAX,SI ; 取一個(gè)字到AXADCAX,DI ; AXAX+DI+CFMOVBX,AX ; 存一個(gè)字到BXHLT ; 暫停第9頁/共37頁第九頁,共37頁?!纠?.2】拆字節(jié)(z ji) 將內(nèi)存(10050)單元的內(nèi)容拆成兩段,每段4位,并將它們分別(fnbi)存入內(nèi)存(10051)和(10052)單元。 即(10050)單元中的低4位放入(10051)的低4位,(10050)單元中的高4位放入(10052)的低4位,而(10051)和(10052)的高4位均為零。第10頁/共37頁第十頁,共37頁。流程圖第11頁/共37頁第十一頁,共37頁。MOV AX, 1000HMOV DS,AXMOV SI, 50H ;需拆字節(jié)的指針MOV AL,SIAND AL,0FH ;高4位清0MOV SI+1,AL ;保存(bocn)MOV AL,SIMOV CL,4SHR AL,CL ;高4位移到低4位MOV SI+2,AL ;保存(bocn)第12頁/共37頁第十二頁,共37頁。補(bǔ)充例題(lt):查表程序采用查表法,實(shí)現(xiàn)(shxin)一位16進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼顯示第13頁/共37頁第十三頁,共37頁。例 數(shù)據(jù)(shj)段、代碼段 ;數(shù)據(jù)段ASCIIdb 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h ;對(duì)應(yīng)0 9的ASCII碼db 41h,42h,43h,44h,45h,46h ;對(duì)應(yīng)A F的ASCII碼hexdb 04h,0bh ;假設(shè)(jish)兩個(gè)數(shù)據(jù);代碼段mov bx,offset ASCII ;BX指向ASCII碼表mov al,hex ;AL取得一位16進(jìn)制數(shù) ;恰好就是ASCII碼表中的位移and al,0fh ;只有低4位是有效的,高4位清0Xlat ;換碼:ALDS:BXALXLAT第14頁/共37頁第十四頁,共37頁。例 代碼段(續(xù))mov dl,al;入口參數(shù)(cnsh):DLALmov ah,2;02號(hào)DOS功能調(diào)用int 21h;顯示一個(gè)ASCII碼字符mov al,hex+1;轉(zhuǎn)換并顯示下一個(gè)數(shù)據(jù)and al,0fhxlatmov dl,almov ah,2int 21hXLAT第15頁/共37頁第十五頁,共37頁。chaobiao.asm源程序stack segment stackdb 100 dup(?)stack endsdata segment ;數(shù)據(jù)段ASCII db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h ;對(duì)應(yīng)(duyng)0 9的ASCII碼db 41h,42h,43h,44h,45h,46h ;對(duì)應(yīng)(duyng)A F的ASCII碼hexdb 04h,0bh ;假設(shè)兩個(gè)數(shù)據(jù)data endscode segment ;代碼段assume cs:code,ds:data,ss:stackstart: mov ax,datamov ds,ax第16頁/共37頁第十六頁,共37頁。mov bx,offset ASCII ;BX指向ASCII碼表mov al,hex ;AL取得一位16進(jìn)制數(shù) ;恰好就是ASCII碼表中的位移and al,0fh ;只有低4位是有效(yuxio)的,高4位清0Xlat ;換碼:ALDS:BXALmov dl,al;入口參數(shù):DLALmov ah,2;02號(hào)DOS功能調(diào)用int 21h ;顯示一個(gè)ASCII碼字符mov al,hex+1 ;轉(zhuǎn)換并顯示下一個(gè)數(shù)據(jù)and al,0fhxlatmov dl,almov ah,2int 21hmov ax,4c00hint 21h ;返回;返回(fnhu)操作操作系統(tǒng)系統(tǒng)code endsend start第17頁/共37頁第十七頁,共37頁。6.3 分支(fnzh)程序設(shè)計(jì) 分支程序根據(jù)條件是真或假?zèng)Q定執(zhí)行與否 判斷的條件是各種指令,如CMP、TEST等執(zhí)行后形成的狀態(tài)標(biāo)志 轉(zhuǎn)移指令Jcc和JMP可以(ky)實(shí)現(xiàn)分支控制 分支結(jié)構(gòu)有 單分支結(jié)構(gòu) 雙分支結(jié)構(gòu) 多分支結(jié)構(gòu)第18頁/共37頁第十八頁,共37頁。Jcc指令(zhlng)的分類(P133 表) Jcc指令不影響標(biāo)志,但要利用標(biāo)志(表2-4) 根據(jù)利用的標(biāo)志位不同(b tn),分成三種情況: 判斷單個(gè)標(biāo)志位狀態(tài) 比較無符號(hào)數(shù)高低(above, belowe) 比較有符號(hào)數(shù)大小(greater, less) Jcc指令實(shí)際雖然(surn)只有16條,但卻有30個(gè)助記符 采用多個(gè)助記符,目的是為了方便記憶和使用第19頁/共37頁第十九頁,共37頁。1、單分支(fnzh)結(jié)構(gòu) 條件成立跳轉(zhuǎn),否則順序(shnx)執(zhí)行分支語句體 注意選擇正確的條件轉(zhuǎn)移指令和轉(zhuǎn)移目標(biāo)地址補(bǔ)充(bchng)例:求絕對(duì)值第20頁/共37頁第二十頁,共37頁。計(jì)算(j sun)AX中有符號(hào)數(shù)的絕對(duì)值cmp ax,0jge nonneg;條件滿足(AX0),轉(zhuǎn)移neg ax;條件不滿足,求補(bǔ)nonneg: mov result,ax ;保存(bocn)結(jié)果;不恰當(dāng)?shù)姆种?fnzh)(fnzh)cmp ax,0cmp ax,0jl yesnegjl yesneg;條件滿足(AXAX0 0),轉(zhuǎn)移jmp nonnegjmp nonnegyesneg:yesneg:neg axneg ax;條件滿足,求補(bǔ)nonneg:nonneg:mov result,axmov result,ax;保存結(jié)果第21頁/共37頁第二十一頁,共37頁。2、雙分支(fnzh)結(jié)構(gòu)條件(tiojin)成立跳轉(zhuǎn)執(zhí)行第2個(gè)分支語句體,否則順序執(zhí)行第1個(gè)分支語句體注意第1個(gè)分支體后一定要有一個(gè)JMP指令跳到第2個(gè)分支體后補(bǔ)充(bchng)例:顯示BX的最高位第22頁/共37頁第二十二頁,共37頁。顯示(xinsh)BX的最高位shl bx,1;BX最高位移入CF標(biāo)志jc one;CF1,即最高位為1,轉(zhuǎn)移(zhuny)mov dl,30h;CF0,即最高位為0:DL30H0jmp two;一定要跳過另一個(gè)分支體one:mov dl,31h;DL 31H1two:mov ah,2int 21h;顯示可以(ky)用JNC替換JC第23頁/共37頁第二十三頁,共37頁。顯示(xinsh)BX的最高位(續(xù))shl bx,1;BX最高位移入CF標(biāo)志(biozh)jnc one;CF0,即最高位為0,轉(zhuǎn)移mov dl,31h;CF1,即最高位為1:DL31H1jmp two;一定要跳過另一個(gè)分支體one:mov dl,30h ;DL 30H0two:mov ah,2int 21h;顯示轉(zhuǎn)換(zhunhun)為單分支結(jié)構(gòu)第24頁/共37頁第二十四頁,共37頁。顯示(xinsh)BX的最高位(另解)mov dl,0 ;DL30H0shl bx,1;BX最高位移入CF標(biāo)志(biozh)jnc two;CF0,即最高位為0,轉(zhuǎn)移mov dl,1;CF1,即最高位為1:DL31H1two:mov ah,2int 21h;顯示 編寫(binxi)分支程序,需留心分支的開始和結(jié)束第25頁/共37頁第二十五頁,共37頁。顯示(xinsh)BX的最高位(無分支)mov dl,0shl bx,1;BX最高位移(wiy)入CF標(biāo)志adc dl,30h;CF0,DL030h030H0;CF1,DL030h131H1two:mov ah,2int 21h;顯示第26頁/共37頁第二十六頁,共37頁?!纠?.3】求AX累加器和BX寄存器中兩個(gè)無符號(hào)(fho)數(shù)之差的絕對(duì)值,結(jié)果放在內(nèi)存(2800)單元中。(1) 分析題目:AX累加器和BX寄存器中的數(shù)是不知道的。顯然應(yīng)該先解決哪一個(gè)值稍大些,然后再用大數(shù)減小數(shù)的方法,才可求得絕對(duì)值。(2) 根據(jù)指令系統(tǒng)中的比較指令,編出判斷大小的環(huán)節(jié),即可解決問題,第27頁/共37頁第二十七頁,共37頁。 CLC; 清除(qngch)CFSUBAX,BX; AXAX-BXJCAA ; CF轉(zhuǎn)AA去執(zhí)行(即AXBX時(shí)轉(zhuǎn)移)MOVDI,2800H; 結(jié)果指針DI2800H 冗余MOVDI,AX; 結(jié)果送到2800H和2801H單元HLT; 暫停AA:SUBBX,AX; BXBX-AX?MOVDI,2800H ;冗余MOVDI,BXHLT第28頁/共37頁第二十八頁,共37頁。修改(xigi):MOVDI,2800H; 結(jié)果指針DI2800H CLC; 清除CFSUBAX,BX; AXAX-BXJCAA ; CF轉(zhuǎn)AA去執(zhí)行(即AXBX時(shí)轉(zhuǎn)移(zhuny)MOVDI,AX; 結(jié)果送到2800H和2801H單元HLT ; 暫停AA:NEG AX ;求補(bǔ)MOVDI,AXHLT第29頁/共37頁第二十九頁,共37頁?!纠?.4】 從外設(shè)71H號(hào)中取一個(gè)數(shù)M,判斷其值是否在10和20之間,即10M20。如果M20H,則送0FFH給外設(shè)73H;如果M10,則送00H給外設(shè)73H;如果10M20,則送88H給外設(shè)73H。(1) 分析題目(tm):根據(jù)題意,我們可以看出這是一個(gè)需要兩次判斷M大小的問題。我們可以先判M是否大于10,再判M是否大于20。(2) 根據(jù)解決問題的思路,我們先畫出程序流程圖,如圖6.6所示。 流程圖來看,兩個(gè)分支都要“回歸”原程序。第30頁/共37頁第三十頁,共37頁。流程圖第31頁/共37頁第三十一頁,共37頁。例6.4 程序(chngx)START:INAL,71H; 將71H端口的字節(jié)(z ji)讀入ALCLC ; 清除CFCMPAL,10; 將AL的內(nèi)容和10相比較JCLP1 ; 小于10轉(zhuǎn)LP1CMPAL,20; 將AL的內(nèi)容和20相比較JCLP2 ; 10AL20轉(zhuǎn)LP2MOVBL,0FFH; 將0FFH送入BL寄存器LP3:OUT73H,BL; 將0FFH輸出到73H端口HLT ; 暫停LP1: MOVBL,00 JMPLP3LP2: MOVBL,88H JMPLP3第32頁/共37頁第三十二頁,共37頁。3、多分支(fnzh)結(jié)構(gòu)多分支結(jié)構(gòu)(jigu)是多個(gè)條件對(duì)應(yīng)各自的分支語句體,哪個(gè)條件成立就轉(zhuǎn)入相應(yīng)分支體執(zhí)行AH=0fuction0YNAH=1fuction1YNAH=2fuction2YNcmp ah,0 jz function0cmp ah,1 jz function1cmp ah,2 jz function2第33頁/共37頁第三十三頁,共37頁。小節(jié)(xioji): 程序設(shè)計(jì)(chn x sh j)步驟 順序程序設(shè)計(jì)(chn x sh j) 分支程序設(shè)計(jì)(chn x sh j) (復(fù)習(xí)條件轉(zhuǎn)移指令)下周二下午下周二下午7、8節(jié),節(jié),4班實(shí)驗(yàn),班實(shí)驗(yàn),硬件硬件(yn jin)實(shí)驗(yàn)室(實(shí)驗(yàn)室(9-408)請(qǐng)一定帶鞋套!請(qǐng)一定帶鞋套!第34頁/共37頁第三十四頁,共37頁。XLAT指令(zhlng)的功能第35頁/共37頁第三十五頁,共37頁。條件轉(zhuǎn)移(zhuny)指令的含義JZ/JEJump on Zero/EqualJNZ/JNEJump on Not Zero/EqualJSJump on SignJNSJump on Not SignJP/JPEJump on Parity(奇偶)/Parity Even(偶數(shù)(u sh))JNP/JPOJump on Not Parity/Parity Odd(奇數(shù))JOJump on OverflowJNOJump on Not OverflowJC/JB/JNAEJump on Carry/Below/Not Above or EqualJNC/JNB/JAEJump on Not Carry/Not Below/Above or EqualJBE/JNAJump on Below or Equal/Not AboveJNBE/JAJump on Not Below or Equal/AboveJL/JNGEJump on Less/Not Greater or EqualJNL/JGEJump on Not Less/Greater or EqualJLE/JNGJump on Less or Equal/Not GreaterJNLE/JGJump on Not Less or Equal/Greater第36頁/共37頁第三十六頁,共37頁。感謝您的觀看(gunkn)!第37頁/共37頁第三十七頁,共37頁。

注意事項(xiàng)

本文(順序分支程序設(shè)計(jì)實(shí)用教案)為本站會(huì)員(牛***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


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