資源描述:
《匯編代碼轉(zhuǎn)換程序(字母轉(zhuǎn)換進(jìn)制轉(zhuǎn)換)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、湖南農(nóng)業(yè)大學(xué)課程設(shè)計報告學(xué)院:信息科學(xué)技術(shù)學(xué)院班級:2010級計算機3班姓名:楊田嬌學(xué)號:201041842312課程設(shè)計題目:代碼轉(zhuǎn)換程序設(shè)計課程名稱:匯編語言與微機原理指導(dǎo)老師:唐小勇評閱成績:評閱意見:成績評定教師簽名:日期:年月日目錄概述…………………………………………………………1一 設(shè)計題目………………………………………………1二 設(shè)計內(nèi)容與要求………………………………………1三 設(shè)計思想…………………………………………………1四 程序流程圖……………………………………………3五 程序源代碼……………………………………………5六 設(shè)計過程中遇到的問題及解決方法……………………
2、14七 設(shè)計心得…………………………………………………15代碼轉(zhuǎn)換程序設(shè)計概述:代碼轉(zhuǎn)換程序主要是實現(xiàn)字母間的轉(zhuǎn)換和數(shù)值之間的轉(zhuǎn)換。其中字母轉(zhuǎn)換是大小寫字母之間的互換,二進(jìn)制轉(zhuǎn)換則是二進(jìn)制,十進(jìn)制,十六進(jìn)制之間的轉(zhuǎn)換。程序設(shè)計成一個代碼轉(zhuǎn)換系統(tǒng),給出一個可供選擇的菜單,根據(jù)界面的信息選擇不同的子功能。通過做這個程序,加強匯編語言編程的能力,更好的了解其基本原理,基本的思想,基本的方法以及相關(guān)的注意事項。一、設(shè)計題目代碼轉(zhuǎn)換程序設(shè)計二、設(shè)計內(nèi)容與要求完成一個字母或數(shù)制之間的轉(zhuǎn)化程序,主程序分別具有5種可選擇的子功能,按相應(yīng)的字符可分別進(jìn)入相應(yīng)的子功能并在屏幕上顯示結(jié)果,按“q”鍵退出。5種
3、可選擇的子功能分別為:1)實現(xiàn)小寫字母向大寫字母的轉(zhuǎn)換2)實現(xiàn)大寫字母向小寫字母的轉(zhuǎn)換3)實現(xiàn)二進(jìn)制數(shù)向十六進(jìn)制數(shù)的轉(zhuǎn)換4)實現(xiàn)十六進(jìn)制數(shù)向二進(jìn)制數(shù)的轉(zhuǎn)換5)實現(xiàn)十六進(jìn)制數(shù)向十進(jìn)制數(shù)的轉(zhuǎn)換三、設(shè)計思想運行程序,首先會顯示主界面,用戶可依據(jù)提示選擇不同的編號,實現(xiàn)不同的子功能。1、大寫字母向小寫字母的轉(zhuǎn)換。當(dāng)用戶選擇編號a,便選中了這一個子功能。通過判斷標(biāo)識符,程序跳轉(zhuǎn)到標(biāo)識符所在的位置。根據(jù)提示輸入一個大寫字母,會有一個判斷輸入是否合法的過程,若輸入的是非大寫字母,則會提示輸入錯誤,請重新輸入,直到輸入正確為止。通過改變assic碼值,實現(xiàn)大寫字母向小寫字母的轉(zhuǎn)換。顯示轉(zhuǎn)換后的字母,然后
4、跳轉(zhuǎn)到主菜單。2、小寫字母向大寫字母的轉(zhuǎn)換。當(dāng)用戶選擇編號b,便選擇了這一個子功能。通過判斷標(biāo)識符,程序跳轉(zhuǎn)到標(biāo)識符所在的位置。根據(jù)提示輸入一個小寫字母,接下來判斷其合法性,若輸入的字母是非小寫字母,則會提示輸入錯誤,請重新輸入,直到輸入正確為止。通過改變assic碼值,實現(xiàn)小寫字母向大寫字母的轉(zhuǎn)換。顯示轉(zhuǎn)換后的字母后,跳轉(zhuǎn)到主菜單。3、二進(jìn)制向十六進(jìn)制的轉(zhuǎn)換。當(dāng)用戶選擇編號c,便選擇了這一個子功能。通過判斷標(biāo)識符,程序跳轉(zhuǎn)到標(biāo)識符所在的位置。根據(jù)提示首先輸入一個數(shù)字表示二進(jìn)制的位數(shù),在程序中有變量記錄二進(jìn)制的位數(shù)。再根據(jù)提示輸入一個二進(jìn)制數(shù)。其轉(zhuǎn)換的主要思想是二進(jìn)制數(shù)的每四位代表十六進(jìn)
5、制的,通過移位來逐一將四個二進(jìn)制位數(shù)的和轉(zhuǎn)換成十六進(jìn)制數(shù)保存在一個寄存器中,然后再繼續(xù)按照每四位一求和的方法保存十六進(jìn)制數(shù)的每一位,直到二進(jìn)制數(shù)的所有位計算完畢,當(dāng)對四位二進(jìn)制數(shù)相加完畢后,將保存和的寄存器清零,采用相對尋址改變十六進(jìn)制數(shù)每一位存放的位置。其中還會對十六進(jìn)制每一位上的數(shù)字進(jìn)行判斷,若是大于9,則轉(zhuǎn)換成相應(yīng)的字母,最后采用相對尋址的方式將十六進(jìn)制的每一位依次輸出。顯示完畢后,跳轉(zhuǎn)到主菜單。4、十六進(jìn)制向二進(jìn)制的轉(zhuǎn)換。當(dāng)用戶選擇編號d,便選擇了這一個子功能。通過判斷標(biāo)識符,程序跳轉(zhuǎn)到標(biāo)識符所在的位置。根據(jù)提示輸入一個十六進(jìn)制數(shù),此時會進(jìn)行判斷,判斷輸入的字符串是否符合十六進(jìn)制
6、數(shù)的要求,若是輸入錯誤,則提示輸入錯誤,重新輸入,直到輸入正確為止。其轉(zhuǎn)換的主要思想是通過轉(zhuǎn)換成十進(jìn)制,然后將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制,在十六進(jìn)制轉(zhuǎn)換成十進(jìn)制中,按權(quán)值展開再相加的思想,在十進(jìn)制轉(zhuǎn)換成二進(jìn)制的中,主要是采用連除的方法,將每一次的余數(shù)保存在堆棧中,直到商為零。最后出棧,根據(jù)棧的先進(jìn)后出的原則,出棧的順序就是轉(zhuǎn)換后的二進(jìn)制數(shù)的順序。將轉(zhuǎn)換后的二進(jìn)制數(shù)輸出后,跳轉(zhuǎn)到主菜單。5、十六進(jìn)制向十進(jìn)制的轉(zhuǎn)換。當(dāng)用戶選擇編號e,便選擇了這一個子功能。通過判斷標(biāo)識符,程序跳轉(zhuǎn)到標(biāo)識符所在的位置。根據(jù)提示輸入一個十六進(jìn)制數(shù),此時會進(jìn)行判斷,若是輸入字符串不符合十六進(jìn)制數(shù)的要求,則提示輸入錯誤,重
7、新輸入,直到輸入正確為止。十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制的主要思想是,按權(quán)值展開再相加。首先是將輸入的字符轉(zhuǎn)換成相應(yīng)的數(shù)字,通過設(shè)置相應(yīng)的變量,在最低位上的權(quán)值是1,然后依次是16,256……依次進(jìn)行累乘,直到十六進(jìn)制數(shù)位數(shù)全部循環(huán)完畢,將每一位所得的數(shù)保存在寄存器中,每進(jìn)行一次就實現(xiàn)一次求和運算。最后將轉(zhuǎn)換成的十進(jìn)制數(shù)輸出,跳轉(zhuǎn)到主菜單。6、退出。當(dāng)用戶選擇編號q,便選擇了退出。通過判斷標(biāo)識符,程序跳轉(zhuǎn)到標(biāo)識符所在的位置,實現(xiàn)退出。一、程