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