




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
四、程序框圖
實驗一排序程序的設(shè)計與實踐
第一頁第二頁,共34頁。五、程序清單DATASEGMENTBUFDB21H,34H,0A6H,78H,0F8H,88H,0C9H,01H,33H,11HLENEQU$-BUFDATAENDSSTACKSEGMENTBUFSDB300DUP(?)LENSEQU$-BUFSSTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXMOVSP,LENS
S5:MOVCX,LEN
DECCXA53:MOVBX,OFFSETBUFPUSHCXA52:MOVAX,[BX]CMPAL,AHJCA51A54:INCBX
LOOPA52POPCXLOOPA53MOVAH,4CHINT21HA51:XCHGAL,AHMOV[BX],AXJMPA54CODEENDSENDSTART實驗一排序程序的設(shè)計與實踐
第二頁第三頁,共34頁。六、實驗步驟及要求
(1)、在EDIT環(huán)境下鍵入編寫程序,保存為*.asm;(2)、編譯、連接源程序*.asm,分別生成*.obj、*.lst和*.exe文件。(3)、在TD調(diào)試環(huán)境下,用連續(xù)單步方式調(diào)試*.exe,觀察排序時數(shù)據(jù)移動變化情況。(4)、改程序為按從小到大排序。實驗一排序程序的設(shè)計與實踐
第三頁第四頁,共34頁。七、實驗報告要求(包含預(yù)習(xí)報告要求和最終報告要求)1.實驗名稱:
注意實驗項目名稱應(yīng)與實驗大綱中的實驗項目名稱相符。2.實驗?zāi)康?/p>
3.實驗內(nèi)容及要求預(yù)習(xí)最終
4.程序設(shè)計(從大到小)報告要求報告要求包含流程圖和源程序,源程序必須加必要注釋。
5.實驗結(jié)果及結(jié)果分析6.實驗中出現(xiàn)的問題及解決方法7.回答思考題(如何改為由小到大排序)
實驗一排序程序的設(shè)計與實踐
第四頁第五頁,共34頁。實驗一求最大值程序
一、實驗?zāi)康?.掌握條件判斷指令的用法。2.掌握循環(huán)程序的設(shè)計方法。3.學(xué)習(xí)在屏幕上顯示字符的方法。4.學(xué)習(xí)在PC機(jī)上建立、匯編、鏈接、調(diào)試和運(yùn)行匯編語言的過程。
二、實驗內(nèi)容
在首地址為DATA1的數(shù)組中找出最大值,并在屏幕上顯示出來。DATA1DB35H,07H,0ABH,56H,12H,98H,0CDH,76H,0FAH,0BFH顯示結(jié)果如下圖所示:第五頁第六頁,共34頁。實驗一求最大值程序
三、程序框圖
第六頁第七頁,共34頁。實驗一求最大值程序
四、實驗步驟及要求(1)輸入程序,進(jìn)行調(diào)試,運(yùn)行出求最大值程序的結(jié)果。(2)熟悉TD調(diào)試環(huán)境下,在TD環(huán)境下單步運(yùn)行本程序,以加深對程序指令的理解。(3)如何把程序改成求最小值的程序。(4)如果為有符號數(shù),其最大值、最小值怎么求取。第七頁第八頁,共34頁。實驗一求最大值程序
五、程序介紹
要掌握這個程序,需要理解以下幾點:
1.程序完成的任務(wù)有:定義及初始化、求最值、顯示最值。2.怎么顯示字符?例如顯示“A”,利用INT21H的AH=02H號子功能,顯示DL的內(nèi)容,DL中的值為字符對應(yīng)的ASCII碼值。
3.宏定義介紹DISXMACROX
MOVDL,XMOVAH,02INT21HENDM4.如果結(jié)果最大值是FAH,存儲在AL中,如何顯示?先AL暫存BL,對AL邏輯右移4位,再判斷是不是大于9,若大于9加37H,否則加30H,然后送去顯示。取出暫存的BL送AL,然后與0FH相與,再判斷是不是大于9,若大于9加37H,否則加30H,再送去顯示。5.返回DOS可用INT21H的AH=4CH號子功能。6.如何顯示字符串?利用INT21H的AH=09H號子功能,DX指向顯示字符串首地址。第八頁第九頁,共34頁。實驗一求最大值程序
六、實驗程序DISXMACROXMOVDL,XMOVAH,02INT21HENDMSTACKSEGMENTSTADB512DUP(?)TOPEQULENGTHSTASTACKENDSDATASEGMENTBUFDB'MAXNUMBER:',0DH,0AH,'$'DATA1DB35H,07H,0ABH,56H,12HDB98H,0CDH,76H,0FAH,0BFHBLOCKDB10DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,STACKMOVSS,AXMOVSP,TOPMOVAX,DATAMOVDS,AXMOVDX,OFFSETBUFMOVAH,09INT21HMOVSI,OFFSETBLOCKMOVCX,[SI]DECCXMOVSI,OFFSETDATA1MOVAL,[SI]MAX1:INCSICMPAL,[SI]JANEXTMOVAL,[SI];AL中定義為最大值NEXT:LOOPMAX1第九頁第十頁,共34頁。實驗一求最大值程序
MOVBL,ALMOVCL,04SHRAL,CLCMPAL,09JAMAX4ADDAL,30HMAX2:DISXALMOVAL,BLANDAL,0FHCMPAL,09JAMAX5ADDAL,30HMAX3:DISXAL
MOVAH,4CHINT21HMAX4:ADDAL,37HJMPMAX2MAX5:ADDAL,37HJMPMAX3CODEENDSENDSTART第十頁第十一頁,共34頁。實驗一求最大值程序
七、實驗報告要求(包含預(yù)習(xí)報告要求和最終報告要求)1.實驗名稱:
注意實驗項目名稱應(yīng)與實驗大綱中的實驗項目名稱相符。2.實驗?zāi)康?/p>
3.實驗內(nèi)容及要求預(yù)習(xí)最終
4.程序設(shè)計(求最大值)報告要求報告要求包含流程圖和源程序,源程序必須加必要注釋。
5.實驗結(jié)果及結(jié)果分析6.實驗中出現(xiàn)的問題及解決方法7.回答思考題
第十一頁第十二頁,共34頁。實驗二多位十進(jìn)制數(shù)加法程序設(shè)計與調(diào)試
一、實驗?zāi)康?.學(xué)習(xí)宏指令的編寫方法。2.學(xué)習(xí)在屏幕上顯示字符串的方法。3.學(xué)習(xí)子程序的調(diào)用方法。4.掌握數(shù)據(jù)傳送和算術(shù)運(yùn)算指令的用法。5.掌握多位十進(jìn)制數(shù)加(減)程序的編制方法。6.學(xué)習(xí)在PC機(jī)上建立、匯編、鏈接、調(diào)試和運(yùn)行匯編語言的過程。第十二頁第十三頁,共34頁。實驗二多位十進(jìn)制數(shù)加法程序設(shè)計與調(diào)試
二、實驗內(nèi)容
將兩個5位十進(jìn)制數(shù)相加,要求被加數(shù)與加數(shù)均以ASCII碼形式各自順序存放在DATA1和DATA2為首的5個內(nèi)存單元中,結(jié)果送DATA3處,并在屏幕上顯示出來。
DATA1DB33H,39H,31H,37H,34HDATA2DB36H,35H,30H,38H,32H
47193+2805675249第十三頁第十四頁,共34頁。實驗二多位十進(jìn)制數(shù)加法程序設(shè)計與調(diào)試
三.程序理解介紹
1.加數(shù)與被加數(shù)均以ASCII碼形式存在內(nèi)存中,在進(jìn)行運(yùn)算之前,先轉(zhuǎn)換為十六進(jìn)制數(shù)的形式(只要減去30H即可)。2.多位數(shù)的加法要用帶進(jìn)位的加法指令A(yù)DC,并且在首次相加之前要注意先清進(jìn)位位。
3.因為是非組合的BCD碼(或ASCII碼)的運(yùn)算,所以用十進(jìn)制調(diào)整指令A(yù)AA對運(yùn)算結(jié)果加以修正。
4.運(yùn)算結(jié)果在送顯示之前應(yīng)轉(zhuǎn)換為用ASCII碼表示的數(shù)字串(加上30H即可)。5.在屏幕上顯示結(jié)果可利用INT21H的02號子功能,因該功能一次只能顯示一個字符,故對于顯示數(shù)字串來說,要編寫一段顯示子程序,反復(fù)使用02H號子功能。
6.加數(shù)與被加數(shù)為5位,而和可能為5位或6位,即考慮到帶進(jìn)位和不帶進(jìn)位的情況。在顯示和數(shù)時最好按實際情況顯示,而不要出現(xiàn)0。
第十四頁第十五頁,共34頁。實驗二多位十進(jìn)制數(shù)加法程序設(shè)計與調(diào)試
四.實驗程序DISXMACROXMOVDL,XMOVAH,02HINT21HENDMDATASEGMENTMESSDB'TWOMULBITDECIMALNUMBERSADD',0DH,0AHDB0DH,0AH,'$'DATA1DB33H,39H,31H,37H,34HDATA2DB36H,35H,30H,38H,32HDATA3DB6DUP(?)DATAENDSSTACKSEGMENTSTADB20DUP(?)TOPEQULENGTHSTASTACKENDS
第十五頁第十六頁,共34頁。實驗二兩個多位十進(jìn)制數(shù)相加的
程序CODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXMOVAX,TOPMOVSP,AXMOVDX,OFFSETMESSMOVAH,09HINT21HMOVSI,OFFSETDATA1MOVBX,05CALLDISPLDISX2BHMOVSI,OFFSETDATA2MOVBX,05CALLDISPLMOVSI,OFFSETDATA1MOVDI,OFFSETDATA2
CALLADDADISX3DHMOVSI,OFFSETDATA3MOVBX,05CALLDISPLDISX0DHDISX0AHMOVAH,4CHINT21HDISPLPROCNEARDS1:DISX[SI+BX-1]DECBXJNZDS1RETDISPLENDP第十六頁第十七頁,共34頁。實驗二多位十進(jìn)制數(shù)加法程序設(shè)計與調(diào)試
ADDAPROCNEARMOVDX,SIMOVBP,DIMOVBX,05AD1:SUBBYTEPTR[SI+BX-1],30HSUBBYTEPTR[DI+BX-1],30HDECBXJNZAD1MOVCX,05CLCMOVBX,OFFSETDATA3AD2:MOVAL,[SI]MOVAH,[DI]ADCAL,AHAAAMOV[BX],AL
INCSIINCDIINCBXLOOPAD2MOVSI,OFFSETDATA3MOVBX,05AD3:ADDBYTEPTR[SI+BX-1],30HDECBXJNZAD3RETADDAENDPCODEENDSENDSTART
第十七頁第十八頁,共34頁。實驗二多位十進(jìn)制數(shù)加法程序設(shè)計與調(diào)試
五.實驗要求先完成不考慮最高位相加產(chǎn)生進(jìn)位的程序的調(diào)試,然后改寫程序完成考慮進(jìn)位相加,并能正常顯示的程序。47193+68056115249第十八頁第十九頁,共34頁。實驗二多位十進(jìn)制數(shù)加法程序設(shè)計與調(diào)試
六、實驗報告要求(包含預(yù)習(xí)報告要求和最終報告要求)1.實驗名稱:
注意實驗項目名稱應(yīng)與實驗大綱中的實驗項目名稱相符。2.實驗?zāi)康?/p>
3.實驗內(nèi)容及要求預(yù)習(xí)最終
4.程序設(shè)計報告要求報告要求包含流程圖和源程序,源程序必須加必要注釋。
5.實驗結(jié)果及結(jié)果分析6.實驗中出現(xiàn)的問題及解決方法7.回答思考題
第十九頁第二十頁,共34頁。實驗三十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制數(shù)程序設(shè)計
一、實驗?zāi)康?/p>
1.掌握數(shù)制轉(zhuǎn)換的基本原理。2.學(xué)會編寫十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制數(shù)的程序。3.掌握鍵入字符串的接收方法。4.掌握在屏幕上顯示字符及字符串的方法。第二十頁第二十一頁,共34頁。實驗三十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制數(shù)程序設(shè)計
二、實驗內(nèi)容及結(jié)果
將十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制數(shù)。假定十進(jìn)制輸入數(shù)的范圍為0~65535,要求通過鍵盤輸入,并且將轉(zhuǎn)換后的二進(jìn)制數(shù)以十六進(jìn)制數(shù)的形式顯示在屏幕上。
第二十一頁第二十二頁,共34頁。實驗三十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制數(shù)程序設(shè)計
三、實驗重點問題
1.轉(zhuǎn)換方法十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制數(shù)。十進(jìn)制數(shù)的范圍為0~65535,通過鍵盤輸入十進(jìn)制數(shù),轉(zhuǎn)換后的二進(jìn)制數(shù)結(jié)果以十六進(jìn)制數(shù)形式在屏幕上顯示。十翻二所采用的基本公式為(0~65535轉(zhuǎn)化為××××H):高位×10+低位例如:十進(jìn)制數(shù)135={[(0×10)+1]×10+3}×10+5
第二十二頁第二十三頁,共34頁。實驗三十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制數(shù)程序設(shè)計
2.
0AH號系統(tǒng)功能調(diào)用的使用格式如下:
BUFDB15;定義緩沖區(qū)DB?DB15DUP(?)MOVDX,OFFSETBUF;0AH號系統(tǒng)功能調(diào)用MOVAH,0AHINT21H3.
每次加低位運(yùn)算前均要將低位數(shù)由ASCII碼轉(zhuǎn)換為十進(jìn)制數(shù)。4.將轉(zhuǎn)換結(jié)果送顯示可利用INT21H的02號子功能,送顯示前應(yīng)轉(zhuǎn)換為ASCII碼(DISX)。第二十三頁第二十四頁,共34頁。實驗三十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制數(shù)程序設(shè)計
四、實驗程序DISXMACROXMOVAH,02MOVDL,XINT21HENDMCRLFMACRODISX0DHDISX0AHENDMSTACKSEGMENTSTADB512DUP(?)TOPEQULENGTHSTASTACKENDSDATASEGMENTBUFDB6DB?DB6DUP(?)MES1DB'INPUTDECIMALISTNUMBER:','$'MES2DB'OUTPUT:','$'MES3DB'INPUTERROR!','$'DATAENDS第二十四頁第二十五頁,共34頁。實驗三十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制數(shù)程序設(shè)計
CODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKMOVSS,AXMOVSP,TOPMOVDX,OFFSETMES1MOVAH,09HINT21H
MOVDX,OFFSETBUFMOVAH,0AHINT21HCRLFCRLFMOVSI,OFFSETBUFMOVCL,[SI+1]XORCH,CHXORAX,AXCLCSFE1:MOVBX,10MULBX;(AX)*(BX)=DX:AXCMPDX,0JNEERROMOVDL,[SI+2]CMPDL,30HJBERROCMPDL,39HJAERROANDDL,0FHXORDH,DHADDAX,DXJCERROINCSILOOPSFE1第二十五頁第二十六頁,共34頁。實驗三十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制數(shù)程序設(shè)計
PUSHAXMOVDX,OFFSETMES2MOVAH,09HINT21HPOPAXCALLDISUPJMPSFE2CRLFERRO:MOVDX,OFFSETMES3MOVAH,09HINT21HSFE2:MOVAH,4CHINT21HDISUP:MOVCH,02HMOVBX,AXDISUP1:MOVAL,BHMOVCL,04SHRAL,CLCMPAL,09JADISUP4ADDAL,30HDISUP2:DISXALMOVAL,BHANDAL,0FHCMPAL,09JADISUP5ADDAL,30HDISUP3:DISXALDECCHJNZDISUP6DISX48HRET第二十六頁第二十七頁,共34頁。實驗三十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制數(shù)程序設(shè)計
DISUP4:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中地理培優(yōu)輔差階段計劃
- 《河南省義務(wù)教育課堂教學(xué)基本要求》對課程標(biāo)準(zhǔn)的融合心得體會
- 高考語文核心素養(yǎng)答題心得體會
- 小班班務(wù)心理健康計劃
- 建筑企業(yè)技術(shù)支持崗位職責(zé)
- 歷史教師中考輔導(dǎo)教學(xué)計劃
- 金蝶財務(wù)軟件財務(wù)會計操作流程
- 電子商務(wù)公司各崗位職責(zé)
- 學(xué)校教師法制學(xué)習(xí)規(guī)范培訓(xùn)計劃
- 節(jié)假日保安服務(wù)安全保證措施
- 信息安全培訓(xùn)《釣魚郵件防范技巧》
- 2025至2030中國燙印箔行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 部編版高一語文必修上冊教案計劃
- 臨時工請假管理制度
- 小學(xué)用電安全課件
- 體育老師招聘試題及答案
- 自然生態(tài)探險之旅行業(yè)跨境出海項目商業(yè)計劃書
- 2025年北京市高考英語試卷真題(含答案解析)
- 西藏自治區(qū)拉薩市達(dá)孜區(qū)孜縣2025年七下英語期中質(zhì)量檢測模擬試題含答案
- 2025年中國浮萍項目投資可行性研究報告
- 商洛學(xué)院《大學(xué)學(xué)術(shù)綜合英語》2023-2024學(xué)年第二學(xué)期期末試卷
評論
0/150
提交評論