【正文】
SULT DB 6 DUP(0),39。 。輸入錯(cuò)誤提示字符串說明STRING DB 0DH,0AH,39。輸出結(jié)果字符串說明 ARRAY4 DB 0DH,0AH,39。輸入第二個(gè)數(shù)字符串說明ARRAY3 DB 0DH,0AH,39。輸入第一個(gè)數(shù)字符串說明ARRAY2 DB 0DH,0AH,39。保存實(shí)際輸入的字符ARRAY1 DB 0DH,0AH,0DH,0AH,39。允許輸入的最多字符數(shù) DB 0 。STR11 DB 0DH,0AH,39。 STR10 DB 0DH,0AH,39。字母轉(zhuǎn)換部分 STR9 DB 0DH,0AH,0DH,0AH,39。$39。 。保留 2 個(gè)字空間作暫存數(shù)據(jù)計(jì)算RESULT1 DB 30 DUP(0),39。Please choose the function:$39。 。STR8 DB 0AH,0DH,39。 STR7 DB 0AH,0DH,0AH,0DH,39。STR6 DB 0AH,0DH,39。STR5 DB 0AH,0DH,39。 STR4 DB 0AH,0DH,39。 STR3 DB 0AH,0DH,39。STR2 DB 0AH,0DH,39。計(jì)算器功能信息字符串定義 廣東海洋大學(xué)《微型計(jì)算機(jī)原理及原理》課程設(shè)計(jì)- 2 -STR1 DB 0AH,0DH,39。 *******數(shù)據(jù)段******。 程序源代碼。例如,a 轉(zhuǎn)換成 A,a 的 ASCII碼是 41H,而 A 的是 61H,要實(shí)現(xiàn) a 向 A 轉(zhuǎn)換,61H 減去 20H 就可以了。運(yùn)算完之后采用“除 10 取余倒排序”的方法,把結(jié)果逐位轉(zhuǎn)換,再加上 30H,即可顯示。例如輸入 112,系統(tǒng)存放的是 31H、31H、32H,通過減去 30H,即可轉(zhuǎn)成 2存放,再把三個(gè)數(shù) 2“乘以 10 加次位”的方法:(1*10+1)*10+2=112 ,把112 也就是 70H 這個(gè)結(jié)果放到寄存器里,即可轉(zhuǎn)換成功。 程序基本算法本次計(jì)算器計(jì)算功能的設(shè)計(jì),關(guān)鍵在于數(shù)制的轉(zhuǎn)換。其中,減法運(yùn)算中,首先比較被減數(shù)與減數(shù)的大小,如果減數(shù)大于被減數(shù)則結(jié)果會(huì)是負(fù)數(shù),所以,首先顯示出“”號(hào),再將被減數(shù)與減數(shù)換位,進(jìn)行減法運(yùn)算。這里轉(zhuǎn)換的方法是采用“乘 10 加次位”的方法。計(jì)算功能,提示輸入第一個(gè)數(shù),先判斷是否符合要求的數(shù),符合的話再把輸入的數(shù)據(jù)先從十六進(jìn)制的 ASCII 碼轉(zhuǎn)換成相應(yīng)的十進(jìn)制,再轉(zhuǎn)換成有實(shí)際意義的十六進(jìn)制進(jìn)制,將該十六進(jìn)制數(shù)存入一個(gè)緩沖器單元,對(duì)于不符合要求的數(shù)就返回重新輸入第一個(gè)數(shù)據(jù)。設(shè)計(jì)語(yǔ)言:8086 匯編語(yǔ)言 程序設(shè)計(jì)流程圖圖 11/2?輸入單字符開始2:第一次輸入字符串0~9/E?0~9 轉(zhuǎn)換與暫存第二次輸入字符串0~9/E?0~9 轉(zhuǎn)換與暫存輸入運(yùn)算符+*/E?相應(yīng)運(yùn)算轉(zhuǎn)換與輸出1:輸入字符串a(chǎn)~z?a~z 轉(zhuǎn)換與輸出E 退出都不是都不是都不是都不是NNN廣東海洋大學(xué)《微型計(jì)算機(jī)原理及原理》課程設(shè)計(jì)- 3 -流程圖介紹:進(jìn)入 DOS 界面,首先顯示出計(jì)算器功能介紹和個(gè)人信息,然后界面輸出操提示要求用戶輸入 1 或者 2 選擇功能,1 表示字母轉(zhuǎn)換功能,2 表示計(jì)算功能。廣東海洋大學(xué)《微型計(jì)算機(jī)原理及原理》課程設(shè)計(jì)- 2 -3 簡(jiǎn)易計(jì)算器的設(shè)計(jì)設(shè)計(jì)一個(gè)簡(jiǎn)易計(jì)算器過程包括:確定功能,畫流程圖,確定算法,編寫程序,程序調(diào)試。學(xué)生要在老師的指導(dǎo)下制定好自己各環(huán)節(jié)的詳細(xì)設(shè)計(jì)進(jìn)程計(jì)劃,按給定的時(shí)間計(jì)劃保質(zhì)保量的完成個(gè)階段的設(shè)計(jì)任務(wù)。學(xué)生在設(shè)計(jì)中可以引用所需的參考資料,避免重復(fù)工作,加快設(shè)計(jì)進(jìn)程,但必須和題目的要求相符合,保證設(shè)計(jì)的正確。學(xué)生必須發(fā)揮自身學(xué)習(xí)的主動(dòng)性和能動(dòng)性,主動(dòng)思考問題、分析問題和解決問題,而不應(yīng)處處被動(dòng)地依賴指導(dǎo)老師。2 基本要求本次課程設(shè)計(jì),1 人 1 題,可以相互討論,但設(shè)計(jì)報(bào)告由學(xué)生獨(dú)立完成,不得互相抄襲。使學(xué)生能比較扎實(shí)地掌握微機(jī)原理的基礎(chǔ)知識(shí)和基本理論,掌握控制系統(tǒng)及有關(guān)設(shè)備的分析、開發(fā)等基本技能,受到必要工程訓(xùn)練、初步的科學(xué)研究方法訓(xùn)練和實(shí)踐鍛練,增強(qiáng)分析問題和解決問題的能力,了解微機(jī)原理和接口技術(shù)的新發(fā)展。關(guān)鍵詞:微機(jī)原理;計(jì)算器;匯編ABSTRACTIIINTRODUCTIONThis course is designed to through the use of emu8086 assembly language programming software to realize plex program design. The content of the course design for the assembly language design a simple calculator, interface display with the keyboard input requirements are two random number, plete the addition, subtraction, multiplication, and division of the operation, and then will operation result shows it. This design can only easy operation between the positive integer single step add, subtract, multiply and divide operation, can39。采用 DOS 調(diào)用(INT 21H)來完成輸入和輸出,輸出字符串操作。該設(shè)計(jì)只能運(yùn)行簡(jiǎn)單正整數(shù)間的單步加減乘除運(yùn)算,不能識(shí)別小數(shù)。 《微型計(jì)算機(jī)原理及應(yīng)用》課程設(shè)計(jì)簡(jiǎn)易計(jì)算器的設(shè)計(jì)姓名 陳**院系 信息學(xué)院自動(dòng)化系班級(jí) ****學(xué)號(hào) 202211******時(shí)間 2022 年 12 月 29 日目 錄目 錄摘要 ......................................................................................................................................IINTRODUCTION................................................................................................................. 1 課程設(shè)計(jì)目的與任務(wù) ...................................................................................................1 設(shè)計(jì)目的 ..............................................................................................................1 設(shè)計(jì)任務(wù) ..............................................................................................................12 基本要求 .......................................................................................................................13 簡(jiǎn)易計(jì)算器的設(shè)計(jì) .......................................................................................................0 程序設(shè)計(jì)流程圖 ..................................................................................................0 程序基本算法 ......................................................................................................1 程序源代碼 ..........................................................................................................1 程序調(diào)試 ..............................................................................................................84 課程設(shè)計(jì)總結(jié)與心得 .................................................................................................11參考文獻(xiàn) ..............................................................................................................................12摘要I摘要本次課程設(shè)計(jì)是通過使用 emu8086 匯編語(yǔ)言編程軟件實(shí)現(xiàn)較復(fù)雜程序的設(shè)計(jì)。該課程設(shè)計(jì)的內(nèi)容為采用匯編語(yǔ)言設(shè)計(jì)一個(gè)簡(jiǎn)易計(jì)算器,界面顯示要求用鍵盤分別輸入兩個(gè)隨機(jī)數(shù),完成加法,減法,乘法和除法的運(yùn)算,然后將運(yùn)算結(jié)果顯示出來。除法中的結(jié)果可以精確到 3 位小數(shù),減法可以顯示負(fù)數(shù)的結(jié)果。通過這次設(shè)計(jì)實(shí)踐能夠進(jìn)一步加深對(duì)專業(yè)知識(shí)和理論知識(shí)學(xué)習(xí)的認(rèn)識(shí)和理解,使自己的設(shè)計(jì)水平和對(duì)所學(xué)的知識(shí)的應(yīng)用能力以及分析問題解決問題的能力得到全面提高。t identify decimal. The result in the division accurate to 3 decimal places, subtraction can display the negative results. Using DOS call (INT 21 H) to plete the input and output, the output string operation. This design practice can further deepen the theoretical knowledge of professional knowledge and learning the understanding and the understanding, make oneself of the design level of knowledge and the application ability and the ability to analyse and solve questions fully improve.KEYWORDS: Microputer principle;calculator ;Assembly language廣東海洋大學(xué)《微型計(jì)算機(jī)原理及原理》課程設(shè)計(jì)- 1 -簡(jiǎn)易計(jì)算器的設(shè)計(jì)自動(dòng)****,202211*****,陳***1 課程設(shè)計(jì)目的與任務(wù) 設(shè)計(jì)目的為了使學(xué)生加深對(duì)所學(xué)的微機(jī)原理知識(shí)的理解,培養(yǎng)學(xué)生的專業(yè)素質(zhì),提高其利用微機(jī)原理知識(shí)處理問題的能力,為今后專業(yè)課程的學(xué)習(xí)、畢業(yè)設(shè)計(jì)和工作打下良好的基礎(chǔ)。 設(shè)計(jì)任務(wù)本次課程設(shè)計(jì)有四個(gè)任務(wù)可供選擇,這里選擇設(shè)計(jì)一個(gè)簡(jiǎn)易計(jì)算器,要求能正確完成加、減、乘、除四則運(yùn)算。教師的主導(dǎo)作用主要在于指明設(shè)計(jì)思路,啟發(fā)學(xué)生獨(dú)立設(shè)計(jì)的思路,解答疑難問題和按設(shè)計(jì)進(jìn)度進(jìn)行階段審查。同學(xué)應(yīng)積極主動(dòng)的提出問題、解決問題、討論問題,互相幫助和啟發(fā)。指導(dǎo)教師要引導(dǎo)學(xué)生學(xué)會(huì)掌握和使用各種已有的技術(shù)資料,不能盲目地、機(jī)械地抄襲資料,必須具體分析,使設(shè)計(jì)質(zhì)量和設(shè)計(jì)能力都獲得提高。設(shè)計(jì)中可邊設(shè)計(jì),邊修改,軟件設(shè)計(jì)與硬件設(shè)計(jì)可交替進(jìn)行,問題答疑與調(diào)試和方案修改相結(jié)合,提高設(shè)計(jì)的效率,保證按時(shí)完成設(shè)計(jì)工作并交出合格的設(shè)計(jì)報(bào)告。設(shè)計(jì)工具:個(gè)人電腦,emu8086。字母轉(zhuǎn)換功能,只能從小寫向大寫轉(zhuǎn)換,當(dāng)用戶輸入字母時(shí),先判斷是否為小寫字母,不是則重新進(jìn)入功能選擇界面,是就開始轉(zhuǎn)換并且顯示在界面大寫。輸入完第一個(gè)數(shù)后,界面再要求操用戶輸進(jìn)第二個(gè)數(shù),同樣的方法判斷再進(jìn)行轉(zhuǎn)換數(shù)制,在存到緩沖期的下一個(gè)單元。接下來界面再提示用戶輸入“+,,*,/”其中一個(gè)運(yùn)算符,然后程序進(jìn)行比較輸入的運(yùn)算符,然后跳到相應(yīng)的代碼段執(zhí)行相應(yīng)的運(yùn)算,如果輸入的字符不是運(yùn)算符就重新輸入運(yùn)算符。當(dāng)完成運(yùn)算后,因?yàn)榻Y(jié)果是十六進(jìn)制的,所以要進(jìn)行轉(zhuǎn)換數(shù)制,采用“除 10 取余倒排列”的方法,最后,就將結(jié)果逐位輸出顯示。用戶輸入的是字符串,而在以每個(gè)字符的十六進(jìn)制的 ASCII 碼存放,為了把字符串轉(zhuǎn)換成有實(shí)際數(shù)學(xué)意思的十六進(jìn)制數(shù),就要首先把 ASC