歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類(lèi) > DOC文檔下載  

《微型計(jì)算機(jī)原理與接口技術(shù)》課程設(shè)計(jì)說(shuō)明書(shū)鍵盤(pán)錄入轉(zhuǎn)換程序設(shè)計(jì)

  • 資源ID:29573299       資源大小:237KB        全文頁(yè)數(shù):20頁(yè)
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶(hù)名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢(xún)和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類(lèi)文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

《微型計(jì)算機(jī)原理與接口技術(shù)》課程設(shè)計(jì)說(shuō)明書(shū)鍵盤(pán)錄入轉(zhuǎn)換程序設(shè)計(jì)

武漢理工大學(xué)微型計(jì)算機(jī)原理與接口技術(shù)課程設(shè)計(jì)說(shuō)明書(shū)目 錄摘要1設(shè)計(jì)概述12 程序設(shè)計(jì)相關(guān)知識(shí)介紹22.1 DOS及其功能調(diào)用22.2 ASCII碼63程序設(shè)計(jì)73.1主程序設(shè)計(jì)73.2 JUDGE子程序設(shè)計(jì)93.3 CHANGE子程序設(shè)計(jì)93.4 程序編寫(xiě)104 程序調(diào)試164.1匯編語(yǔ)言源程序的匯編、連接和裝入運(yùn)行164.2調(diào)試過(guò)程與調(diào)試結(jié)果及分析165 設(shè)計(jì)小結(jié)17心得體會(huì)18參考文獻(xiàn)191設(shè)計(jì)概述 此次課程設(shè)計(jì)為鍵盤(pán)錄入轉(zhuǎn)換程序設(shè)計(jì),滿(mǎn)足以下要求:通過(guò)鍵盤(pán)連續(xù)錄入可顯示多個(gè)字符,遇“.”時(shí)終止;字符串以空格和“.”分隔,輸入完成后,空格前的字符串以正向在屏幕上顯示,“.”前的字符串以反向在屏幕上顯示。程序設(shè)計(jì)主要包括調(diào)用DOS系統(tǒng)的INT 21H功能從鍵盤(pán)輸入字符然后顯示字符,通過(guò)調(diào)用相應(yīng)的字程序判斷輸入的字符是否為空格和“.”,當(dāng)輸入“.”時(shí)終止字符的輸入,配合調(diào)用另一子程序來(lái)實(shí)現(xiàn)空格前的字符串在屏幕向以正序顯示,“.”前的字符串在屏幕上以反序顯示,從而完成此次課程設(shè)計(jì)。由于本程序設(shè)計(jì)大量使用調(diào)用DOS系統(tǒng)的INT 21H功能,本報(bào)告書(shū)將首先介紹DOS系統(tǒng)的INT 21H功能,然后進(jìn)行詳細(xì)的程序設(shè)計(jì)。2 程序設(shè)計(jì)相關(guān)知識(shí)介紹2.1 DOS及其功能調(diào)用DOS操作系統(tǒng)從兩個(gè)層次上向用戶(hù)提供與操作系統(tǒng)的接口,普通用戶(hù)可以通過(guò)鍵盤(pán)命令在命令處理模塊層次上和操作系統(tǒng)互交,高級(jí)用戶(hù)可以通過(guò)軟件中斷的方式在DOS的較低層次上合操作系統(tǒng)交互,包括DOS中斷調(diào)用和BIOS功能調(diào)用。DOS操作系統(tǒng)將輸入輸出管理程序編制成一系列子程序,不僅系統(tǒng)可以使用,用戶(hù)也可以像調(diào)用子程序一樣方便的調(diào)用它們。這些子程序或常駐內(nèi)存,或固化在系統(tǒng)的ROM中。目前DOS常用的9類(lèi)中斷(20H27H和2FH)分為兩種:1 DOS專(zhuān)用中斷:INT22H、INT23H和INT24H,用戶(hù)不能使用。2DOS可調(diào)用中斷:INT20H、INT27H(程序退出)、INT21H(系統(tǒng)功能調(diào)用)、INT25H、INT26H(磁盤(pán)R/W中斷)、INT 2FH(假脫機(jī)打印文件)。DOS系統(tǒng)功能調(diào)用的方式是通過(guò)執(zhí)行軟中斷指令I(lǐng)NT21H來(lái)實(shí)現(xiàn)的。當(dāng)寄存器AX中設(shè)置不同的值時(shí),該指令將完成不同的功能。在21H類(lèi)型所對(duì)應(yīng)的中斷程序中包含了一系列最常用的功能子程序,這些子程序分別分別實(shí)現(xiàn)外部設(shè)備管理功能、文件讀寫(xiě)和管理功能、目錄管理功能等,所以21H類(lèi)型中斷幾乎包括了整個(gè)系統(tǒng)的功能,系統(tǒng)功能調(diào)用的名稱(chēng)也就由此而來(lái)。DOS啟動(dòng)成功后,INT21H的中斷向量(中斷處理程序首地址)被初始化在中斷向量表中向量地址為84H到87H的4個(gè)字節(jié)單元內(nèi)。所有系統(tǒng)功能調(diào)用的各自功能的介紹見(jiàn)表1,有些系統(tǒng)調(diào)用功能簡(jiǎn)單,不需要設(shè)置入口參數(shù),或者說(shuō)沒(méi)有出口參數(shù)。詳細(xì)的功能、入口參數(shù)、出口參數(shù)要求可見(jiàn)專(zhuān)門(mén)的手冊(cè)。通常,默認(rèn)標(biāo)準(zhǔn)設(shè)備為:標(biāo)準(zhǔn)輸入設(shè)備(控制臺(tái)輸入)是鍵盤(pán);輸出設(shè)備(控制臺(tái)輸出)是顯示器;標(biāo)準(zhǔn)輔助設(shè)備是第一個(gè)RS232串口異步通訊接口,打印輸出為第一個(gè)并行接口等。表1 字符I/O系統(tǒng)功能調(diào)用功能號(hào)功能入口參數(shù)出口參數(shù)01H帶回顯的鍵盤(pán)輸入AL=輸入字符03H串行口輸入字符AL=輸入字符06H直接控制臺(tái)I/ODL=FF(輸入)DL=字符(輸出)AL=輸入字符07H直接控制臺(tái)輸入(無(wú)回顯)AL=輸入字符08H無(wú)回顯的鍵盤(pán)輸入AL=輸入字符0AH字符串緩沖輸入DS:DX=緩沖區(qū)首址0BH取鍵盤(pán)輸入狀態(tài)AL=00無(wú)鍵入AL=FF有鍵入0CH清鍵盤(pán)緩沖區(qū)后,輸入AL=功能號(hào)(01/06/07/08或0A)02H字符顯示DL=輸出字符04H串行口輸出字符DL=輸出字符05H字符打印DL=輸出字符09H字符串顯示DS:DX=緩沖區(qū)首址0DH初始化鍵盤(pán)1功能01H、07H和08H 功能描述:從標(biāo)準(zhǔn)輸入設(shè)備(如:鍵盤(pán))讀入一個(gè)字符。該中斷在處理過(guò)程中將一直處于等待狀態(tài)直到有字符可讀為止。該輸入還可被重定向,如果這樣做,則無(wú)法判斷文件是否已到文件尾。入口參數(shù):AH01H,過(guò)濾掉控制字符,并回顯。 AH07H,不過(guò)濾掉控制字符,不回顯。 AH08H,過(guò)濾掉控制字符,不回顯。出口參數(shù):AL輸入字符的ASCII碼。例如:讀鍵盤(pán)輸入一個(gè)字符并且回顯的程序。MOV AH,1INT 21H2功能02H功能描述:向標(biāo)準(zhǔn)輸出設(shè)備(如:屏幕)輸出一個(gè)字符。該輸出還可被重定向,如果這樣做,則將無(wú)法判斷磁盤(pán)是否滿(mǎn)。 入口參數(shù):AH02H,DL待輸出字符的ASCII碼。出口參數(shù):無(wú)。其基本格式如下:MOV AH,2MOV DL,要顯示的字符的ASCIIINT 21H3功能03H功能描述:從輔助設(shè)備讀入一個(gè)字符,該輔助設(shè)備的缺省值為COM1。入口參數(shù):AH03H。出口參數(shù):AL讀入字符的ASCII碼。4功能04H功能描述:向輔助設(shè)備輸出一個(gè)字符,該輔助設(shè)備的缺省值為COM1入口參數(shù):AH04H,DL待輸出字符的ASCII碼。出口參數(shù):無(wú)。5功能06H功能描述:控制臺(tái)(如:鍵盤(pán)、屏幕)輸入/輸出。如果輸入/輸出操作被重定向,那么,將無(wú)法判斷文件是否已到文件尾,或磁盤(pán)已滿(mǎn)。入口參數(shù):AH06H,DL輸入/輸出功能選擇。出口參數(shù):若DL00H-FEH,則此功能為輸出,DL為待輸出字符的ASCII碼;若DL0FFH,則此功能為輸入,此時(shí):若ZF1,則無(wú)字符可讀,否則,AL讀入字符的ASCII碼。6. 功能09H功能描述:輸出一個(gè)字符串到標(biāo)準(zhǔn)輸出設(shè)備上。如果輸出操作被重定向,那么,將無(wú)法判斷磁盤(pán)已滿(mǎn)。入口參數(shù):AH09H,DS:DX待輸出字符的地址,待顯示的字符串以$作為其結(jié)束標(biāo)志,否則會(huì)引起屏幕混亂。顯示時(shí)在字符串結(jié)束前加上回車(chē)及換行的ASCII碼0DH和0AH,可使光標(biāo)自動(dòng)換行。出口參數(shù):無(wú)。其基本格式如下:MOV AH,9LEA DX,<字符串>INT 21H7功能0AH功能描述:從標(biāo)準(zhǔn)輸入設(shè)備上讀入一個(gè)字節(jié)字符串,遇到“回車(chē)鍵”結(jié)束輸入(輸入的字符在標(biāo)準(zhǔn)的輸出設(shè)備上有回顯)。如果該輸入操作被重定向,那么,將無(wú)法判斷文件是否已到文件尾。入口參數(shù):AH0AH,DS:DX存放輸入字符的起始地址。第一個(gè)字節(jié)為緩沖區(qū)的最大容量,可認(rèn)為是入口參數(shù);第二個(gè)字節(jié)為實(shí)際輸入的字符數(shù)(不包括回車(chē)鍵),可看作出口參數(shù);從第三個(gè)字節(jié)開(kāi)始存放實(shí)際輸入的字符串;字符串以回車(chē)鍵結(jié)束,回車(chē)符是接受的最后一個(gè)字符;若輸入的字符數(shù)超過(guò)緩沖區(qū)的最大容量,則多出的部分被丟棄,系統(tǒng)并發(fā)出響鈴,直到輸入“回車(chē)”鍵才結(jié)束輸入。 出口參數(shù):無(wú)。例如:用DOS系統(tǒng)調(diào)用0AH從鍵盤(pán)輸入一個(gè)字符串STR1 DB 10,? 10 DUP(?)LEA DX,STR1MOV AH,OAHINT 21H8功能0BH功能描述:檢查標(biāo)準(zhǔn)輸入設(shè)備上是否有字符可讀,該輸入操作可被重定向。入口參數(shù):AH0BH。出口參數(shù):AL00H無(wú)字符可讀;FFH有字符可讀。9功能0CH功能描述:清空當(dāng)前的標(biāo)準(zhǔn)輸入緩沖區(qū),再讀入字符。其輸入操作可被重定向。入口參數(shù):AH0CH,AL01H、06H、07H、08H或0AH。出口參數(shù):若入口參數(shù)AL為0AH,則DS:DX存放輸入字符的起始地址,否則,出口參數(shù)AL輸入字符的ASCII碼。2.2 ASCII碼由于計(jì)算機(jī)硬件只能識(shí)別二進(jìn)制數(shù),字母和字符也必須使用二進(jìn)制編碼來(lái)表示。目前用來(lái)表示字母和字符的二進(jìn)制編碼方式有很多種,最常用的是ASCII碼。ASCII碼又稱(chēng)美國(guó)信息交換標(biāo)準(zhǔn)碼(American Standard Code for Information Interchange) ,多用于輸入輸出設(shè)備(如電傳打字機(jī)),是7位二進(jìn)制編碼。它總共可表示128個(gè)符號(hào),包括26個(gè)英文大寫(xiě)字母, 26個(gè)英文小寫(xiě)字母,09共十個(gè)數(shù)字,32個(gè)通用控制字符和34個(gè)專(zhuān)用字符。在計(jì)算機(jī)中用一個(gè)字節(jié)存放字符編碼,故在A(yíng)SCII的最高位補(bǔ)0。因此ASCII可表示8位二進(jìn)制或兩位16進(jìn)制數(shù)。本設(shè)計(jì)所需要的“.”的ASCII碼為2EH,空格的ASCII碼為20H,回車(chē)及換行的ASCII碼0DH和0AH。3程序設(shè)計(jì)3.1主程序設(shè)計(jì)程序設(shè)計(jì)主要包括調(diào)用DOS系統(tǒng)的INT 21H功能從鍵盤(pán)輸入字符然后顯示字符,通過(guò)調(diào)用相應(yīng)的字程序判斷輸入的字符是否為空格和“.”,當(dāng)輸入“.”時(shí)終止字符的輸入,配合調(diào)用另一子程序來(lái)實(shí)現(xiàn)空格前的字符串在屏幕向以正序顯示,“.”前的字符串在屏幕上以反序顯示。由于需要通過(guò)鍵盤(pán)連續(xù)錄入可顯示的字符,需要調(diào)用DOS系統(tǒng)的INT 21H一系列子功能從鍵盤(pán)輸入字符然后顯示出來(lái),最開(kāi)始進(jìn)行初始化,首先調(diào)用09H號(hào)子功能從鍵盤(pán)輸入“PLEASE INPUT THE STRING:”提示輸入一連串字符,以回車(chē)和換行作為結(jié)束自動(dòng)切入另一行從而從鍵盤(pán)輸入字符;通過(guò)調(diào)用JUDGE子程序?qū)斎氲淖址M(jìn)行判斷,判斷其是否為空格鍵和”.”鍵,當(dāng)遇到空格時(shí)繼續(xù)輸入字符,遇到“.”時(shí)終止字符輸入。同時(shí)根據(jù)JUDGE子程序的返回值作為判斷調(diào)用CHANGE子程序,當(dāng)輸入字符沒(méi)有空格時(shí)字符全部以反序輸出顯示在屏幕上,當(dāng)輸入字符有空格時(shí)對(duì)于空格前的字符以正序輸出顯示在屏幕上,對(duì)于“.”前的字符以反序輸出顯示在屏幕上。另外,考慮到若輸入字符存在“$”,DOS系統(tǒng)的INT 21H下的09H字功能以“$”為結(jié)束符,自動(dòng)結(jié)束字符串的顯示,故當(dāng)輸入”.”后很可能并未終止輸入字符,這將在程序調(diào)試時(shí)得出結(jié)論。主程序的程序流程圖如下。偏移地址指針SI清零INT 21H的09號(hào)子功能顯示STR1字符串DH清零段寄存器、堆棧和界面初始化開(kāi) 始INT 21H的01H號(hào)子功能接收鍵入字符調(diào)用JUDGE子程序INT 21H的01H號(hào)子功能接收鍵入字符CF=1?DH=1?$傳送到STRING+SI+1調(diào)用CHANGE子程序SI加1YNINT 21H的02H號(hào)子功能顯示回車(chē)和換行INT 21H的09號(hào)子功能顯示STR2和STRING字符串DI加1NY結(jié) 束 圖1 主程序設(shè)計(jì)流程圖3.2 JUDGE子程序設(shè)計(jì)對(duì)輸入的字符首先判斷其是否為空格鍵,若為空格鍵則將DH和CF置1,并且將數(shù)輸入的字符送到STRING中,若不為空格鍵則繼續(xù)判斷其是否為“.”鍵,則將CF置0,將其值返回后終止輸入字符。其程序流程圖如下。將SI傳送給DIAL=20H?將1傳送給DHAL=2EH?NYJUDGE子程序STCAL傳送到STRING YNCF=1圖2 JUDGE子程序流程圖返 回3.3 CHANGE子程序設(shè)計(jì)由于字符串處理在堆棧中進(jìn)行,首先將斷點(diǎn)數(shù)據(jù)壓入堆棧,以便調(diào)用子程序后可以正確的返回主程序中,對(duì)輸入的數(shù)據(jù)的長(zhǎng)度進(jìn)行處理,計(jì)算設(shè)置SI 和DI 的初值,設(shè)置循環(huán),將循環(huán)次數(shù)賦予CL從而控制循環(huán),然后將STRING+SI傳送到AL中,用XCHG將AL和STRING+DI數(shù)據(jù)交換,循環(huán)結(jié)束后從而使得正序輸入的數(shù)據(jù)以反向輸出顯示在屏幕上,最后將斷點(diǎn)數(shù)據(jù)出堆棧返回到主程序。子程序流程圖如下。CHANGE子程序斷點(diǎn)數(shù)據(jù)壓入堆棧設(shè)置SI和DI初值將STRING+SI傳送到AL將STRING+DI與 AL數(shù)據(jù)交換將AL傳送到 STRING+SISI減1,DI加1斷點(diǎn)數(shù)據(jù)出堆棧CF=0?返 回NY 圖3 CHANGE子程序流程圖3.4 程序編寫(xiě)根據(jù)分析和程序流程圖,編寫(xiě)以下程序。%定義數(shù)據(jù)段%DATA SEGMENT STR1 DBPLEASE INPUT THE STRING:,0AH,0DH,$ STR2 DB THE RESULT IS:,0AH,0DH,$ STRING DB 100 DUP(?) MENU1 DB WELCOME SUNLIFEI DE DESIGN $DATA ENDSSHUCHU MACRO OP1,OP2,OP3,OP4,OP5,OP6 %循環(huán)輸出,用于初始化界面周邊的笑臉?lè)?MOV CX,0MOV DH,OP1 %起始行MOV DL,OP2 %起始列%OP6: MOV AH,02HMOV BH,01HINT 10HPUSH CXMOV AH,0AHMOV AL,OP3 %要顯示的字符MOV CX,01HMOV BH,00HINT 10HPOP CXINC CXINC OP4 %這里指的要循環(huán)輸出的是行還是列%CMP CX,OP5 %循環(huán)次數(shù)%JNE OP6ENDMMENU MACRO OP1,OP2,OP3 %用于屏幕上文字的輸出%MOV CX,0%1,2為起始輸出的行、列,3為字符串的地址%MOV AH,02HMOV BH,00HMOV DH,OP1MOV DL,OP2INT 10HLEA DX,OP3MOV AH,9INT 21H ENDMCLS MACRO OP1,OP2,OP3,OP4 %用于清屏,分別是起止的行和列 MOV AH,6MOV BH,17HMOV AL,0MOV CH,OP1MOV CL,OP2MOV DH,OP3MOV DL,OP4INT 10HMOV AH,2 MOV BH,0MOV DH,0MOV DL,0INT 10HENDM%定義堆棧段%STACK SEGMENT DB 100 DUP(?)STACK ENDS%定義代碼段%CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK%主程序設(shè)計(jì)%START:MOV AX,DATA %將數(shù)據(jù)段地址傳送給DS% MOV DS,AX MOV AX,STACK %將堆棧段地址傳送給SS% MOV SS,AX MOV SI,0 %源字符串首地址置0% MOV AH,9 %調(diào)用DOS的09H功能號(hào)功能,將輸入的字符串顯示% LEA DX,STR1 %將STR1的有效地址傳送給DX% INT 21H %調(diào)用DOS的21H中斷% XOR DH,DH %異或?qū)H清零%LOOP1:MOV AH,01H %調(diào)用DOS的01H功能號(hào)功能,帶回顯的鍵盤(pán)輸入% INT 21H CALL JUDGE %調(diào)用JUDGE子程序% JC DONE %進(jìn)位標(biāo)志CF=1時(shí)跳轉(zhuǎn)% INC SI %SI加1% JMP LOOP1 %無(wú)條件跳轉(zhuǎn)%DOWN: CMP DH,1 %將DH與1比較% JE NEXT %DH=1時(shí)跳轉(zhuǎn)% DEC DI %DI減1%NEXT: MOVSTRING+SI+1,$ %傳送指令% CALL CHANGE %調(diào)用CHANGE子程序% MOV AH,02H %調(diào)用DOS的02H功能號(hào)功能,將輸入的字符串顯示MOV DL,0DH %將字符串結(jié)束前的回車(chē)顯示回來(lái)% INT 21H %調(diào)用DOS的21H中斷% MOV DL,0AH %將字符串結(jié)束前換行顯示出來(lái)% INT 21H %調(diào)用DOS的21H中斷% MOV AH,09H %調(diào)用DOS的09H功能號(hào)功能,將輸入的字符串顯示% LEA DX,STR2 %將STR2的有效地址傳送給DX% INT 21H %調(diào)用DOS的21H中斷% MOV AH,09H %調(diào)用DOS的09H功能號(hào)功能,將輸入的字符串顯示% LEA DX,STRING %將STRING的有效地址傳送給DX% INT 21H %調(diào)用DOS的21H中斷% MOV AH,01H %調(diào)用DOS的01H功能號(hào)功能,帶回顯的鍵盤(pán)輸入% INT 21H MOV AH,4CH %結(jié)束程序% INT 21H%空格和“.”判斷子程序%JUDGE PROC CMP AL,20H %將輸入的數(shù)據(jù)與空格鍵比較% JNZ NEXT1 %輸入數(shù)據(jù)不為空格鍵時(shí)跳轉(zhuǎn)到NEXT1% MOV DI,SI %輸入數(shù)據(jù)為空格鍵時(shí)傳送數(shù)據(jù)% MOV DH,01H %傳送指令%NEXT1: CMP AL,2EH %將輸入的數(shù)據(jù)與“.”比較% JNZ NEXT2 %輸入數(shù)據(jù)不為“.”時(shí)跳轉(zhuǎn)NEXT2% STC JMP NEXT3 %跳轉(zhuǎn)到NEXT3%NEXT2: CLC %標(biāo)志位CF清零%NECT3: MOVSTRING+SI,AL %傳送指令% RET %返回指令%JUDGE ENDP%字符串反向屏幕顯示子程序%CHANGE PROC PUSH AX %堆棧操作保護(hù)現(xiàn)場(chǎng)% PUSH BX PUSH CX PUSH SI PUSH DI MOV AX,SI %傳送指令% SUB AX,DI %將兩者相加結(jié)果送AX% DEC AX %AX加1% MOV BL,02H %傳送指令% DIV BL %AX除以2% MOV CL,AL %傳送指令% XOR CH,CH %將CH清零% SUB SI,CX %兩數(shù)相減將結(jié)果送SI% ADD DI,CX %將兩者相加結(jié)果送AX% LOOP2: MOV AL,STRING+SI %傳送指令% XCHG STRING+DI,AL %將兩者數(shù)據(jù)交換% MOV STRING+SI,AL %傳送指令% DEC DI %DI減1% INC SI %SI加1% LOOP LOOP2 %循環(huán)LOOP2過(guò)程% POP DI %恢復(fù)現(xiàn)場(chǎng)% POP SI POP CX POP BX POP AX RETCHANGE ENDP %子程序結(jié)束%CODE ENDS %代碼結(jié)束%END START4 程序調(diào)試4.1匯編語(yǔ)言源程序的匯編、連接和裝入運(yùn)行匯編語(yǔ)言源程序編寫(xiě)好以后,并不能直接運(yùn)行,必須在匯編環(huán)境下對(duì)源程序進(jìn)行匯編和連接,生成可執(zhí)行的文件后才能運(yùn)行程序。一般需經(jīng)過(guò)4個(gè)步驟。編輯:首先通過(guò)編輯器輸入、建立匯編源程序(文件名.ASM),并以ASCII碼的形式存入內(nèi)存緩沖區(qū)。匯編:將匯編源程序(文件名.ASM)經(jīng)匯編程序翻譯后生成擴(kuò)展名為.OBJ的目標(biāo)文件、擴(kuò)展名為.LST的列表文件和擴(kuò)展名為.CRF的交叉索引文件。通常目標(biāo)文件時(shí)必須建立的,他包含了程序中所有機(jī)器代碼。列表文件包含了源程序、目標(biāo)代碼、注釋等全部信息,列表文件可供打印??晒卜终{(diào)試檢查用。交叉索引文件時(shí)用來(lái)了解源程序中的符號(hào)定義及引用情況的。后面兩個(gè)文件不是必需的,可通過(guò)匯編時(shí)的命名加以選擇,打入“回車(chē)鍵”就是不需要。連接:將.OBJ文件(一個(gè)或多個(gè))與系統(tǒng)提供的.LIB庫(kù)文件連接,形成.EXE可執(zhí)行文件和.MAP內(nèi)存分配文件。連接后的殼執(zhí)行文件(.EXE)是可以運(yùn)行的文件。調(diào)試:對(duì).EXE文件進(jìn)行調(diào)試。4.2調(diào)試過(guò)程與調(diào)試結(jié)果及分析通過(guò)以上步驟在MF2KI軟件中進(jìn)行調(diào)試,首先輸入源程序,點(diǎn)擊匯編后,檢查是否存在錯(cuò)誤,修改好所有出現(xiàn)的錯(cuò)誤后,當(dāng)輸入“abcdefgh$ xyz .n”后,其結(jié)果如下,由于輸入字符存在“$”,DOS系統(tǒng)的INT 21H下的09H字功能以“$”為結(jié)束符,自動(dòng)結(jié)束字符串的顯示,故當(dāng)輸入”.”后并未終止輸入字符。圖4 有“$”存在時(shí)的調(diào)試結(jié)果當(dāng)輸入字符“abcdefg xyz xyzabcdefgh.”時(shí),其結(jié)果如下。當(dāng)輸入字符有“.”時(shí)終止字符輸入 ,由于存在空格鍵故輸入字符中空格鍵前的字符串以正序顯示,最后一個(gè)空格鍵后的字符串以反序顯示在屏幕上。圖5 有空格鍵時(shí)的調(diào)試結(jié)果當(dāng)輸入字符“abcdefgxyzxyzabcdefgh.”時(shí),其結(jié)果如下。當(dāng)輸入字符有“.”時(shí)終止字符輸入 ,由于不存在空格鍵故輸入字符串以反序顯示在屏幕上。圖6 有空格鍵時(shí)的調(diào)試結(jié)果通過(guò)以上調(diào)試及分析所編寫(xiě)的程序正確能滿(mǎn)足程序要求。5 設(shè)計(jì)小結(jié)此次程序設(shè)計(jì)主要包括調(diào)用DOS系統(tǒng)的INT 21H功能從鍵盤(pán)輸入字符然后顯示字符,通過(guò)調(diào)用相應(yīng)的字程序判斷輸入的字符是否為空格和“.”,當(dāng)輸入“.”時(shí)終止字符的輸入,配合調(diào)用另一子程序來(lái)實(shí)現(xiàn)空格前的字符串在屏幕向以正序顯示,“.”前的字符串在屏幕上以反序顯示,通過(guò)編寫(xiě)相應(yīng)的主程序和JUDGE、CHANGE兩個(gè)子程序,經(jīng)反復(fù)調(diào)試、運(yùn)行及修改得出滿(mǎn)足要求的程序,從而完成此次課程設(shè)計(jì)。心得體會(huì)在畫(huà)家眼里,設(shè)計(jì)是一幅清明上河圖或是一幅向日葵;在建筑師眼中,設(shè)計(jì)是昔日鎏金般的圓明園或是今日一塑自由女神像;在電子工程師心中,設(shè)計(jì)是貝爾實(shí)驗(yàn)室的電話(huà)機(jī)或是華為的程控交換機(jī)。凡此種種,但凡涉及設(shè)計(jì)都是一件美好的事情,因?yàn)樗芙o人以美的幻想,因?yàn)樗芙o人以金般財(cái)富,因?yàn)樗芙o人以成就之感,更為現(xiàn)實(shí)的是她能給人以成長(zhǎng)以及成長(zhǎng)所需的營(yíng)養(yǎng),而這種營(yíng)養(yǎng)更是一種福祉,一輩子消受不竭享用不盡。我就是以此心態(tài)對(duì)待此次微機(jī)原理課程設(shè)計(jì)的,所謂“態(tài)度決定一切”,于是偶然又必然地收獲了諸多,概而言之,大約以下幾點(diǎn): 溫故而知新。課程設(shè)計(jì)發(fā)端之始,思緒全無(wú),舉步維艱,對(duì)于理論知識(shí)學(xué)習(xí)不夠扎實(shí)的我深感“書(shū)到用時(shí)方恨少”,于是想起圣人之言“溫故而知新”,便重拾教材與實(shí)驗(yàn)手冊(cè),對(duì)知識(shí)系統(tǒng)而全面進(jìn)行了梳理,遇到難處先是苦思冥想再向同學(xué)請(qǐng)教,終于熟練掌握了基本理論知識(shí),學(xué)會(huì)了如何思考的思維方式,找到了設(shè)計(jì)的靈感。 思路即出路。當(dāng)初沒(méi)有思路,誠(chéng)如舉步維艱,茫茫大地,不見(jiàn)道路。在對(duì)理論知識(shí)梳理掌握之后,茅塞頓開(kāi),柳暗花明,思路如泉涌,高歌“條條大路通羅馬”。頓悟,沒(méi)有思路便無(wú)出路,原來(lái)思路即出路。 實(shí)踐出真知。文革之后,關(guān)于真理的大討論最終結(jié)果是“實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)”,自從耳聞以來(lái),便一直以為馬克思主義中國(guó)化生成的教條。時(shí)至今日,課程設(shè)計(jì)基本告成,才切身領(lǐng)悟“實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)”,才明曉實(shí)踐出真知。 創(chuàng)新求發(fā)展?!皠?chuàng)新”目前在我國(guó)已經(jīng)提升到國(guó)家發(fā)展戰(zhàn)略地位,足見(jiàn)“創(chuàng)新”的舉足輕重。而在DVD產(chǎn)品上市之初及以后相當(dāng)長(zhǎng)時(shí)間內(nèi),原本前景看好的國(guó)內(nèi)市場(chǎng)卻使國(guó)內(nèi)DVD生產(chǎn)商無(wú)利可圖,只因核心技術(shù)受制于人,每臺(tái)售出總要交付高額專(zhuān)利技術(shù)使用費(fèi)。因此,我們?cè)谡n程設(shè)計(jì)中不忘在小處創(chuàng)新,未必是創(chuàng)新技術(shù),但凡創(chuàng)新思維亦可,未必成功,只要實(shí)現(xiàn)創(chuàng)新思維培育和鍛煉即可。 過(guò)而能改,善莫大焉。至善至美,是人類(lèi)永恒的追求。但是,不從忘卻“金無(wú)足赤,人無(wú)完人”,我們換種思維方式,去惡亦是至善,改錯(cuò)亦為至美。在課程設(shè)計(jì)過(guò)程中,我們不斷發(fā)現(xiàn)錯(cuò)誤,不斷改正,不斷領(lǐng)悟,不斷獲取。最終的仿真環(huán)節(jié),本身就是在踐行“過(guò)而能改,善莫大焉”的知行觀(guān)。最后,我想我必須對(duì)我的指導(dǎo)老師說(shuō)一聲謝謝!參考文獻(xiàn)1 陸紅偉. 微機(jī)原理實(shí)驗(yàn)與課程設(shè)計(jì)指導(dǎo)書(shū). 中國(guó)電力出版社 . 2006. 5 2 呂淑萍. 微型計(jì)算機(jī)原理及應(yīng)用. 哈爾濱工程大學(xué)出版社 . 2004. 63 戴梅萼. 微型計(jì)算機(jī)技術(shù)及應(yīng)用. 清華大學(xué)出版社 . 2005. 24 張小鳴. 微機(jī)原理與接口技術(shù). 清華大學(xué)出版社 . 2009.65 姚燕南. 微型計(jì)算機(jī)原理. 西安電子科技大學(xué)出版社 . 2005.919

注意事項(xiàng)

本文(《微型計(jì)算機(jī)原理與接口技術(shù)》課程設(shè)計(jì)說(shuō)明書(shū)鍵盤(pán)錄入轉(zhuǎn)換程序設(shè)計(jì))為本站會(huì)員(仙***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話(huà):18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!