版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計(jì)說明書課程名稱:微機(jī)原理課程設(shè)計(jì)題目:數(shù)制轉(zhuǎn)換實(shí)驗(yàn)院 系:理學(xué)院專業(yè)班級:應(yīng)用物理13-1學(xué)號:2013305188學(xué)生:立才指導(dǎo)教師:聲2016年6 月17 日理工大學(xué)課程設(shè)計(jì)論文任務(wù)書理學(xué)院 院系信計(jì)教研室學(xué)號2013305188學(xué)生立才專業(yè)班級應(yīng)物13-1設(shè)計(jì)題目數(shù)制轉(zhuǎn)換實(shí)驗(yàn),小寫轉(zhuǎn)大寫實(shí)驗(yàn)設(shè) 計(jì) 技 術(shù) 參 數(shù)在 masm for windows 上經(jīng) debug調(diào)試可運(yùn)行;可滿足設(shè)計(jì)要求。設(shè) 計(jì) 要 求為掌握鍵盤承受數(shù)據(jù)的方法,并了解將鍵盤數(shù)據(jù)顯示時必須轉(zhuǎn)換為ASCII碼的原理,編寫程序,將鍵盤承受到的四位十六進(jìn)制數(shù)據(jù)轉(zhuǎn)換為等值的二進(jìn)制數(shù) 顯示。為了解小寫字母和大寫字母在計(jì)算
2、機(jī)的表示方法,并學(xué)習(xí)如何進(jìn)展轉(zhuǎn)換, 編寫程序,承受鍵盤字符,并將其中的小寫字母轉(zhuǎn)變?yōu)榇髮懽帜?,然后顯示在屏 幕上。工 作 量查閱相關(guān)材料,完成設(shè)計(jì),完成設(shè)計(jì)報(bào)告工 作 計(jì) 劃1.綜合論證,確定設(shè)計(jì)方案。2.查閱資料,完成設(shè)計(jì)。3.完成設(shè)計(jì)報(bào)告。參 考 資 料1燕南,薛鈞義主編.?微型計(jì)算機(jī)原理?第四版M.電子科技大學(xué).2峰主編.?微型計(jì)算機(jī)原理與匯編語言?第三版M.電子工業(yè).3雛逢興編著.?計(jì)算機(jī)硬件技術(shù)根底?M,高等教育.指導(dǎo)教師簽字教研室主任簽字理工大學(xué)課程設(shè)計(jì)論文成績評定表學(xué)生: 立才學(xué)號:2013305188專業(yè)班級:應(yīng)物13-1課程設(shè)計(jì)題目:數(shù)制轉(zhuǎn)換實(shí)驗(yàn)指導(dǎo)教師評語:成績:指導(dǎo)教師:
3、年 月曰目錄1. 課程設(shè)計(jì)實(shí)驗(yàn)?zāi)康呐c要求 11.1 從鍵盤輸入數(shù)據(jù)并顯示 11.2 將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母 12. 課程設(shè)計(jì)實(shí)驗(yàn)容 12.1 從鍵盤輸入數(shù)據(jù)并顯示 12.2 將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母 23. 課程設(shè)計(jì)實(shí)驗(yàn)流程圖 23.1 從鍵盤輸入數(shù)據(jù)并顯示 23.2 將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母 34. 課程設(shè)計(jì)實(shí)驗(yàn)程序 44.1 從鍵盤輸入數(shù)據(jù)并顯示 44.2 將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母 85. 課程設(shè)計(jì)實(shí)驗(yàn)運(yùn)行結(jié)果 125.1 從鍵盤輸入數(shù)據(jù)并顯示 125.2 將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母 136. 課程設(shè)計(jì)實(shí)驗(yàn)心得 141. 課程設(shè)計(jì)實(shí)驗(yàn)?zāi)康呐c
4、要求1.1 從鍵盤輸入數(shù)據(jù)并顯示1. 掌握鍵盤承受數(shù)據(jù)的方法,并了解將鍵盤數(shù)據(jù)顯示時必須轉(zhuǎn)換為 ASCII 碼的原理,編寫程序, 將鍵盤承受到的四位十六進(jìn)制數(shù)據(jù)轉(zhuǎn)換 為等值的二進(jìn)制數(shù)顯示。2. 掌握子程序定義和調(diào)用的方法。3. 掌握循環(huán)移位指令的用法和無符號數(shù)比擬大小的方法。1.2 將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母1. 了解小寫字母和大寫字母在計(jì)算機(jī)的表示方法,并學(xué)習(xí)如何進(jìn)展轉(zhuǎn) 換,編寫程序,承受鍵盤字符,并將其中的小寫字母轉(zhuǎn)變?yōu)榇髮懽?母,然后顯示在屏幕上。2. 熟練掌握匯編語言程序設(shè)計(jì)的方法及上機(jī)步驟3. 掌握將小寫字母轉(zhuǎn)換為相應(yīng)的大寫字母的方法4. 掌握子程序的設(shè)計(jì)方法5. 掌握DOa
5、能的調(diào)用方法2. 課程設(shè)計(jì)實(shí)驗(yàn)容2.1 從鍵盤輸入數(shù)據(jù)并顯示為了解小寫字母和大寫字母在計(jì)算機(jī)的表示方法,并學(xué)習(xí)如何進(jìn)展轉(zhuǎn)換, 編寫程序, 承受鍵盤字符, 并將其中的小寫字母轉(zhuǎn)變?yōu)榇髮懽帜福?然后顯示在屏 幕上。課程設(shè)計(jì)要求進(jìn)展小寫字母到大寫字母的轉(zhuǎn)換。其實(shí)字母大小寫的區(qū)別在 于他們的 ASCII 碼圍,它們之間的轉(zhuǎn)換其實(shí)就是加減相應(yīng)的 ASCII 碼值。在判斷 輸入的字母是大寫的還是小寫的即判斷輸入符號ASCII碼在41H5AH還是在61H7AH之后,決定判斷是加上還是減去 ASCII碼值2.2將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母第一步是實(shí)現(xiàn)小寫字母向大寫字母的轉(zhuǎn)換,主要利用小寫字母比大寫字母
6、大20H的關(guān)系。第二部要鍵盤輸入,顯示輸出。3. 課程設(shè)計(jì)實(shí)驗(yàn)流程圖3.1從鍵盤輸入數(shù)據(jù)并顯示圖3-1實(shí)驗(yàn)流程圖3.2將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母圖3-2實(shí)驗(yàn)流程圖4. 課程設(shè)計(jì)實(shí)驗(yàn)程序4.1 從鍵盤輸入數(shù)據(jù)并顯示data segment; 數(shù)據(jù)區(qū)定義開場strr db 'please input hexadecimal number:$'errr db 'this is an error number!$' 數(shù)據(jù)區(qū)定義完畢data endsstack segment stack; 堆棧區(qū)定義開場db 100 dup(?); 堆棧區(qū)定義完畢stack en
7、dscode segment; 代碼區(qū)定義開場assume cs:code,ds:data,ss:stackstart: mov ax,datamov ds,axmov ax,stackmov ss,ax; 設(shè)定區(qū)址mov cx,00hxor bx,bxcall getnum; 按提示輸入四個字符,存入 BX 中mov cx,10h; 用于下面的 loop next 處,因?yàn)?BX 共有 16 位call newline 轉(zhuǎn)到新行mov dl,0ahmov ah,02h int 21h 換行mov dl,0dhmov ah,02h int 21h 回車next: rol bx,1; 把 BX
8、所存字符的二進(jìn)制的最高位移到最低位 mov dl,bland dl,01h; 獲取最低位add dl,30h; 將最低位轉(zhuǎn)成數(shù)字,即字符 '0' 或 '1'mov ah,02hint 21h; 即將之前 BX 的最高位輸出到屏幕loop next; 循環(huán),將 BX 的每一位都輸出來mov ah,4ch int 21h 完成; 功能:承受四個字符,必須輸入 0-9 A-F ,否那么提示錯要重輸 ; 假設(shè)先后輸入 1 2 3 4 ,那么最后 BX 為 0x1234 getnum proc near子過程 getnum 開場again: push cx mov cl,
9、4 shl bx,cl; 把 BX 左移四位,空出了低四位again1: call newline; 轉(zhuǎn)到新行l(wèi)ea dx,strrmov ah,09hint 21h; 輸出 "please input hexadecimal number:"mov ah,01hint 21h 承受輸入字符cmp al,46hja done如果字符比 'F' 大那么轉(zhuǎn)到 done小那么轉(zhuǎn)到 next1cmp al,41h next1 如果字符比 'A'sub al,07h; 如果字符在 'A' 和 'F' 間,那么減七; 提示
10、:數(shù)字 1-9 為 0x31-0x39 ,字符 A-F 處理后為 0x3A-0x3F ,正好接 在數(shù)字后jmp ttnext1: cmp al,39h ja done如果字符比 '9' 大那么轉(zhuǎn)到 donett: cmp al,30h done; 如果字符比 '0' 小那么轉(zhuǎn)到 donesub al,30h0x0-0xF; 減 0x30 ,于是原字符 0-9 A-F 變成相應(yīng)的十六進(jìn)制數(shù)mov ah,00h add bx,ax; 把 0x0-0xF 存到 bx 的低四位pop cx inc cx cmp cx,04h ; 是否循環(huán)了四次 je tt2; 是的話就
11、跳到 tt2 完畢jmp again; 否那么跳到 again 再來一次done: call newline lea dx,errr mov ah,09h int 21h; 如果輸入的字符不符合要求,輸出錯誤提示 jmp again1; 轉(zhuǎn)到 again1 再次承受輸入tt2: ret; 子過程 getnum 完畢 getnum endp; 功能:輸出回車換行符,即轉(zhuǎn)到新行 newline proc near; 子過程 newline 開場mov dl,0ah; 設(shè)輸出字符為 0x0A ,即換行符 mov ah,02h int 21hmov dl,0dh; 設(shè)輸出字符為 0x0D ,即回車符
12、mov ah,02h int 21hret; 子過程 newline 完畢newline endp; 代碼區(qū)定義完畢code ends; 指定執(zhí)行起點(diǎn)end start4.2 將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母DATAS SEGMENT MESSAGE DB 'Wele to the system!',13,10,13,10tonoDB 'The function of the program is changing small letters capital letters.',13,10DB 'If you enter capital letters
13、 or numbers there will be changes.',13,10,13,10DB 'Please enter a string.',13,10,'$'CR DB 13,10,'$' ; 回車換行STRING DB 100 DB 0DB 80 DUP(0) ; 定義緩沖區(qū)AGAIN DB 'Do you want to try again?(Y or N)',13,10,'$'rightERROR DB 'ERROR!',13,10,'Please enter the
14、 momds.',13,10,'$' ; 錯誤提示DATAS ENDSSTACKS SEGMENTDB 200 DUP(?)STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:HEAD:MOV AX,DATASMOV DS,AXLEA DX,MESSAGE ; 輸出提示語MOV AH,09HINT 21HLEA DX,STRINGMOV AH,0AHINT 21H ;把字符串輸入到 BUF區(qū)LEA DX,CRMOV AH,09HINT 21H; 以上為回車換行LEA SI,STRING+2 ;
15、把字符串首地址存入 BXMOV CL,STRING+1 ; 把字符個數(shù)存 CXMOV CH,0NEXT1:MOV DL,SICMP DL,'a'NEXT2CMP DL,'z'JA NEXT2 ;ASCII 碼小于 a 和大于 z 的跳過,其余的減 32 SUB DL,20H ; 大小寫字母的 ASCII 碼差 32NEXT2:MOV AH,02HINT 21HINC SI ;BX 自加,判斷下一個字符DEC CX ;CX 自減,最終將是 0 JNE NEXT1 ;CX 非零時,跳回 NEXT1 MOV DX,OFFSET CR ; 輸出回車換行MOV AH,09
16、HINT 21HJMP EXITOVERFLOW: ; 錯誤提示LEA DX,CRMOV AH,09HINT 21HLEA DX,ERRORMOV AH,09HINT 21HEXIT:LEA DX,CRMOV AH,09HINT 21HLEA DX,AGAIN ; 提示是否再試一次MOV AH,09HINT 21HMOV AH,01HINT 21HPUSH AXLEA DX,CRMOV AH,09HINT 21HPOP AXCMP AL,'Y'JZ HEADCMP AL,'y'JZ HEADCMP AL,'N'JZ OVERCMP AL,'
17、;n'JZ OVERJMP OVERFLOWOVER:MOV AH,4CHINT 21HCODES ENDSEND START5. 課程設(shè)計(jì)實(shí)驗(yàn)運(yùn)行結(jié)果5.1從鍵盤輸入數(shù)據(jù)并顯示DQSBqk 0,74.匚pu speeds3000 cycles. Frameskip 0, Program: DOSBOKplease pleaseDpleasei input input inpu t inpwthexa deci ma 1 Mxadgima 1 hexadec inM 1 hexddecinKilmumLer!2 number:3 nvmlier: 1 numLer:3001000110
18、0010011Press anij key to comt inuc圖5-1實(shí)驗(yàn)運(yùn)行結(jié)果5.2 將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫字母DOSEqx 074, Cpu speed: 3000 cycles. Frameskip 0, Program: TEMPFILEpelconne to the system!FThe function of the prog蛙已hi is changimg :small If L|OKenter capita 1 letters or numbers therelettersui 1 i becapital 1 Ettel'S. chaftg'e
19、s:.Please asdf 料SDFGG!Do youenter a string .wairt to try again7(Y or H)lcome to the system?Tlie functionIlf you enterof the program is clianifin( sma 11 capital letters or numbers therelettersuill betonacapital letters.(Please enterq string.圖5-2實(shí)驗(yàn)運(yùn)行結(jié)果6. 課程設(shè)計(jì)實(shí)驗(yàn)心得通過這次課程設(shè)計(jì), 使我認(rèn)識到自己理論知識掌握不夠, 對于許多指令和一 些根本的編程方法都掌握不清晰。 為了順利完成課程設(shè)計(jì), 我重新拿起課本, 用 心閱讀,問題才一一解決。由此看來,知識只有在實(shí)踐中才能真正掌握。難怪人 們說匯編語言編程必須在使用中慢慢理解。本學(xué)期做了許多微機(jī)原理的實(shí)驗(yàn),開場以為這次課程設(shè)計(jì)會像前幾次實(shí)驗(yàn) 簡單。直到要編寫程序?qū)崿F(xiàn)的時候,才發(fā)現(xiàn)自己對匯編程序的了解確實(shí)還不夠, 尤其是編程方面的能力有待提高。 在不斷地再次學(xué)習(xí)和理解過程中, 我慢慢掌握 了更多匯編語言的應(yīng)用知識,最終寫出了大小寫字母轉(zhuǎn)換的程序。把編寫好的程序輸入軟件時候
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版建筑工程施工安全合同書
- 2024年電線電纜購銷合同模板
- 二零二五年度臺球俱樂部運(yùn)營管理合同:俱樂部與運(yùn)營商之間的管理細(xì)節(jié)
- 二零二五年度64排螺旋CT設(shè)備采購與智能診斷系統(tǒng)合同2篇
- 2024版受傷一次性賠償協(xié)議書
- 2024年廣告服項(xiàng)目可行性研究報(bào)告
- 2025云南省建筑安全員-B證考試題庫及答案
- 2024年中國當(dāng)歸面膜市場調(diào)查研究報(bào)告
- 2024年天麻杜仲膠囊項(xiàng)目可行性研究報(bào)告
- 2024年大力士膠項(xiàng)目可行性研究報(bào)告
- 融媒體專題報(bào)道方案
- 工作失誤匯報(bào)
- 呼吸科主任述職報(bào)告
- 旅游法規(guī)期末試卷與參考答案匯編
- 11054-國家開放大學(xué)2023年春期末統(tǒng)一考試《流通概論》答案
- 晉江物流行業(yè)分析
- 編譯原理考試題及答案匯總
- 國家開放大學(xué)2023年7月期末統(tǒng)一試《11132衛(wèi)生管理》試題及答案-開放本科
- 咽喉癌病歷書寫
- 2023年自然資源部所屬事業(yè)單位招聘(208人)筆試參考題庫(共500題)答案詳解版
評論
0/150
提交評論