張欣 17號 微機原理課程設(shè)計

張欣 17號 微機原理課程設(shè)計

ID:38749062

大?。?31.17 KB

頁數(shù):12頁

時間:2019-06-18

張欣 17號  微機原理課程設(shè)計_第1頁
張欣 17號  微機原理課程設(shè)計_第2頁
張欣 17號  微機原理課程設(shè)計_第3頁
張欣 17號  微機原理課程設(shè)計_第4頁
張欣 17號  微機原理課程設(shè)計_第5頁
資源描述:

《張欣 17號 微機原理課程設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、微機原理課程設(shè)計微機原理課程設(shè)計報告書設(shè)計項目:鍵盤錄入數(shù)據(jù)的轉(zhuǎn)換與顯示程序設(shè)計班級:10級通信姓名:張欣學(xué)號:20100306117指導(dǎo)教師:袁靜微機原理課程設(shè)計目錄一、設(shè)計任務(wù)-1-二、設(shè)計內(nèi)容-1-三、設(shè)計原理-2-四、程序流程圖-3-五、程序代碼-5-六、程序運行結(jié)果-8-七、程序調(diào)試中的問題及解決方法-9-八、心得收獲-10-九、參考書目-10-微機原理課程設(shè)計一、設(shè)計任務(wù)鍵盤錄入數(shù)據(jù)的轉(zhuǎn)換與顯示程序設(shè)計。二、設(shè)計內(nèi)容1.設(shè)計內(nèi)容編寫一個程序,能從鍵盤讀入兩個5位十進制數(shù)(1個符號位和4位數(shù)值位),并將這兩個十進制

2、數(shù)分別轉(zhuǎn)換為二進制數(shù),然后求其和,再將和以十進制形式在屏幕上顯示。該程序主要是十進制與二進制數(shù)之間的相互轉(zhuǎn)換。由于用戶輸入的數(shù)一般是十進制表示的,而這些數(shù)在計算機內(nèi)存儲、運算時一般都用二進制,這就涉及到了十進制數(shù)向二進制數(shù)的轉(zhuǎn)換問題;當(dāng)計算結(jié)果需要顯示時,又要將二進制數(shù)轉(zhuǎn)換為十進制,這又涉及到了二進制數(shù)如何轉(zhuǎn)換為十進制數(shù)的問題。由于在計算機內(nèi)這種轉(zhuǎn)換經(jīng)常進行,所以二進制數(shù)與十進制數(shù)之間的轉(zhuǎn)換算法是應(yīng)掌握的基本算法之一。從鍵盤接收的十進制數(shù)以ASCII碼形式存放在內(nèi)存單元中,先將其轉(zhuǎn)換為十進制數(shù)字,再用累加和乘10加X的方法變

3、成二進制數(shù),如將358轉(zhuǎn)換為二進制數(shù),可先將累加和賦0,再計算(((0*10+3)*10+5)*10+8),結(jié)果為二進制數(shù),再由符號位決定是否需要求補。在顯示結(jié)果前,首先要把二進制表示的和轉(zhuǎn)換成十進制數(shù)字,轉(zhuǎn)換時,先檢查和的符號位,以決定輸出“+”還是“-”。若是負數(shù),應(yīng)先求補,得到原碼后即可與正數(shù)作統(tǒng)一處理。轉(zhuǎn)換方法為將和的二進制數(shù)除以10000,商即為萬位數(shù),再將余數(shù)除以1000,商即為千位數(shù),以此類推,求出百、十位數(shù),剩下的為個位數(shù)。最后,將各個數(shù)加上30H,即成為對應(yīng)字符。利用DOS中斷的21號功能進行字符的接收和顯

4、示。2.設(shè)計思路程序分為主程序和子程序,主程序主要是接收從鍵盤輸入的數(shù)、兩個數(shù)的求和以及和的顯示;子程序分別實現(xiàn)將十進制數(shù)轉(zhuǎn)換為二進制和將二進制數(shù)轉(zhuǎn)換為十進制數(shù)。用戶輸入的數(shù)據(jù)限制在4位(不含符號位)以內(nèi)。這樣,數(shù)值在-9999~+9999范圍以內(nèi),轉(zhuǎn)換為二進制后在16位補碼的表示范圍內(nèi),而其相加后的和也在16位補碼的表示范圍內(nèi),同時,在將二進制數(shù)轉(zhuǎn)換為十進制數(shù)顯示時,也只考慮萬位以下數(shù)字的轉(zhuǎn)換即可。-9-微機原理課程設(shè)計三、設(shè)計原理1.程序分為主程序和子程序,主程序主要是接收從鍵盤輸入的數(shù),兩個數(shù)的求和,以及和的顯示;子程

5、序分別實現(xiàn)十進制數(shù)轉(zhuǎn)換為二進制和將二進制數(shù)轉(zhuǎn)換為十進制數(shù)。2.先輸入主程序。輸入兩個數(shù)時,鍵盤接收的十進制數(shù)以ASCII碼形式存放在內(nèi)存單元中,將其轉(zhuǎn)換為十進制數(shù)字。數(shù)值在-9999至+9999范圍內(nèi)。3.主程序中,兩個二進制數(shù)數(shù)求和,結(jié)果也在16位補碼的表示范圍內(nèi)。4.主程序中,和顯示前,首先把二進制轉(zhuǎn)換為十進制數(shù),檢查和的符號位,若為負數(shù)則求補。5.子程序中,實現(xiàn)十進制數(shù)轉(zhuǎn)換為二進制方法是先將累加和賦0,再用累加和乘10加X得出結(jié)果。轉(zhuǎn)換后在16位補碼的表示范圍內(nèi),如果為負數(shù),則需求補。6.子程序中,實現(xiàn)二進制數(shù)轉(zhuǎn)換為十

6、進制前先檢查符號位,若為負數(shù)則求補,轉(zhuǎn)換方法為將二進制數(shù)除以1000,再將余數(shù)除以1000,依次類推,求出百,十位數(shù),剩下的為個位數(shù),最后將各個數(shù)加上30H,即成為對應(yīng)字符。-9-微機原理課程設(shè)計四、程序流程圖主程序流程圖-9-微機原理課程設(shè)計ASC_TO_BIN子程序流程圖BIN_TO_ASCII子程序流程圖-9-微機原理課程設(shè)計INT21H號中斷是一個系統(tǒng)中斷,中斷程序根據(jù)中斷前寫入AH中的值決定中斷的功能,中斷程序執(zhí)行的流程圖如圖中斷程序流程圖五、程序代碼DATASEGMENTCOMMONINPUT_MESSAGEDB

7、0AH,'PLEASEINPUTANUMBER(LESSTHAN5FIGURES):$'QUIT_MESSAGEDB0AH,'ENTERQORqTOQUITANYOTHERTOCONTINUE:$'IN_ASC_BUFDB6;十進制數(shù)的輸入緩沖區(qū),共可接收6個字符DB?;保留,用于10號調(diào)用時DOS填入實際輸入字符個數(shù)DB6DUP(?);一個符號位,四位數(shù)字ASCII碼,加上一個回車符,共計6字符BIN_BUF1DW?;一個數(shù)轉(zhuǎn)換為二進制后,放于此處OUTPUT_MESSAGEDB0AH,'THESUMIS:','$'OUT

8、_ASC_SUMDB6DUP(?),'$';將二個數(shù)的和轉(zhuǎn)換為ASCII碼后,放于此處,;以供9號調(diào)用顯示DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAslPROCFARSTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETINPUT_M

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。