




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 在了解和熟悉了8086/8088指令系統(tǒng)的基礎(chǔ)上,本章將介紹程序設(shè)計(jì)的一般過程,以及幾種典型的程序形成的編寫方法。 程序是計(jì)算機(jī)命令(語句)的有序集合,當(dāng)用計(jì)算機(jī)求解某些問題時(shí)需要編制程序。匯編語言程序設(shè)計(jì)步驟如下:分析問題分析問題建立數(shù)學(xué)模型建立數(shù)學(xué)模型確定算確定算法法繪制程序流程圖繪制程序流程圖內(nèi)存空間分內(nèi)存空間分配配編制程序與靜態(tài)檢查編制程序與靜態(tài)檢查程序調(diào)試程序調(diào)試 這種程序的形式最簡(jiǎn)單,計(jì)算機(jī)執(zhí)行程序的方式是“從頭到尾”,逐條執(zhí)行指令語句,直到程序結(jié)束,這是程序的最基本形式。 例6.1:用數(shù)據(jù)運(yùn)算指令,對(duì)兩個(gè)16位數(shù)相加運(yùn)算。這兩個(gè)數(shù)從地址10050開始連續(xù)存放,結(jié)果放在這兩個(gè)數(shù)之
2、后。 解:(1)分析題目 (2)確定算法 (3)繪制流程圖(見圖見圖6-26-2) (4)內(nèi)存空間分配(見表見表6-16-1)(5)編制的程序如下: MOV AXMOV AX,1000H1000H MOV DS MOV DS,AX AX ;DS=1000HDS=1000H MOV SI MOV SI,50H 50H ;被加數(shù)指針;被加數(shù)指針SI=50HSI=50H MOV DI MOV DI,52H 52H ;加數(shù)指針;加數(shù)指針DI=52HDI=52H MOV BX MOV BX,54H 54H ;和的指針;和的指針BX=54HBX=54H CLC CLC ;清;清CFCF X0R AX X0
3、R AX,AX AX ; MOV AXMOV AX,SI SI ;取一個(gè)字到;取一個(gè)字到AXAX ADC AX ADC AX,DIDI ;AXAX+DI+CFAXAX+DI+CF MOV MOV BXBX,AX AX ;存一個(gè)字到;存一個(gè)字到BXBX HLT HLT ;暫停;暫停 分支程序是利用條件轉(zhuǎn)移指令,使程序執(zhí)行到某一指令后,根據(jù)條件(即上面運(yùn)算的情況)是否滿足,來改變程序執(zhí)行的次序,這類程序使計(jì)算機(jī)有了判斷作用。 分支程序執(zhí)行完后可以立即結(jié)束,也可以轉(zhuǎn)到公共點(diǎn)結(jié)束,見圖圖6-46-4所示。 分支程序可以再分支,各分支程序之間沒有對(duì)應(yīng)關(guān)系,分支程序只要求在轉(zhuǎn)移指令分支程序只要求在轉(zhuǎn)移指令
4、中給出目標(biāo)地址,即可實(shí)現(xiàn)程序分支。中給出目標(biāo)地址,即可實(shí)現(xiàn)程序分支。 【例【例6.36.3】求AX累加器和BX寄存器中兩個(gè)無符號(hào)數(shù)之差的絕對(duì)值,結(jié)果放在內(nèi)存(2800)單元中。 (1)分析題目:此題目中,AX累加器和BX寄存器中的數(shù)是不知道的。對(duì)兩個(gè)不知大小的數(shù)相減并求絕對(duì)值,顯然應(yīng)該先解決哪一個(gè)值稍大些,然后再用大數(shù)減小數(shù)的方法,才可求得絕對(duì)值。(2)根據(jù)指令系統(tǒng)中的比較指令,編出判斷大小的環(huán)節(jié),即可解決問題。圖6-5為該例題的程序流程圖。(3)根據(jù)流程圖編制程序如下: CLC ;清除;清除CFCF CMP AX,BX ;AX-BXAX-BX,結(jié)果不返回,結(jié)果不返回 JC AA ;CF=1C
5、F=1轉(zhuǎn)轉(zhuǎn)AAAA去執(zhí)行(即去執(zhí)行(即 AXBXAX1,并且放在內(nèi)存(2001)單元中,而數(shù)據(jù)塊本身是從(2002)單元開始存放的,最后,把找出的最大值放到(2000)單元中。假設(shè)這段數(shù)據(jù)塊中的數(shù)都是無符號(hào)的8位數(shù)。 (1 1)分析題目)分析題目:此題必定是個(gè)循環(huán)程序,而且在處理部分應(yīng)包括判斷分支環(huán)節(jié)。 (2)根據(jù)指令系統(tǒng),我們可以采用尋找最尋找最大值大值的計(jì)算方法。 (3 3)繪制出此計(jì)算過程的程序流程如圖)繪制出此計(jì)算過程的程序流程如圖6-6-l5l5所示。所示。(4) 編制的程序如下編制的程序如下(未作為子程序時(shí)未作為子程序時(shí)): MOVSI,2001H ; 指針指向放數(shù)據(jù)塊長(zhǎng)度的單元指針指向放數(shù)據(jù)塊長(zhǎng)度的單元 MOVCL,SI ; 取出來作為循環(huán)次數(shù)取出來作為循環(huán)次數(shù) INCSI ; 指針指向第一個(gè)數(shù)指針指向第一個(gè)數(shù) MOVAL,00 ; 設(shè)置最大值設(shè)置最大值00 MOVCH,00 ; 初始化初始化LP:CLC ; 清除進(jìn)位位清除進(jìn)位位 CMPAL,SI ; 取出數(shù)與最大值比較取出數(shù)與最大值比較 JCBB ; AL中數(shù)小,轉(zhuǎn)到取代處中數(shù)小,轉(zhuǎn)到取代處 JMPAA ; AL中數(shù)大,跳過去中數(shù)大,跳過去BB: MOVAL,SI ; 把大數(shù)放到把大數(shù)放到AL中保存中保存AA: INCSI ; 指針下移指針下移 LOOPLP ;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村承包堰塘合同范本3篇
- 優(yōu)化組織結(jié)構(gòu)方案3篇
- 成年兒女見證父母離婚過程3篇
- 勞動(dòng)合同糾紛起訴狀2篇
- 信用社質(zhì)押借款合同范本3篇
- 公司法法律事務(wù)咨詢承諾2篇
- 年科研保密協(xié)議3篇
- 保持清潔承諾3篇
- 房產(chǎn)租賃逾期付款的情緒管理3篇
- 二手挖機(jī)求購(gòu)協(xié)議3篇
- 江蘇省蘇州市2024-2025學(xué)年統(tǒng)編版(2024)第二學(xué)期七年級(jí)語文期中模擬卷(二)(含答案)
- 探討“職繼融通”研究的內(nèi)涵、框架及其未來發(fā)展趨勢(shì)
- 醫(yī)保飛行檢查培訓(xùn)
- 2025年中考英語押題預(yù)測(cè)卷(蘇州專用)(原卷版)
- CT引導(dǎo)下經(jīng)皮胃造瘺術(shù)專家共識(shí)(2025版)解讀課件
- 2024年美容師考試相關(guān)法律法規(guī)解讀試題及答案
- 2025年新版勞動(dòng)合同范本
- 2024年高考真題-地理(河北卷) 含答案
- 醫(yī)學(xué)教材 《瘧疾》課件
- 西方文論經(jīng)典導(dǎo)讀智慧樹知到期末考試答案章節(jié)答案2024年浙江大學(xué)
- 中國(guó)居民膳食指南(全)
評(píng)論
0/150
提交評(píng)論