影音先锋男人资源在线观看,精品国产日韩亚洲一区91,中文字幕日韩国产,2018av男人天堂,青青伊人精品,久久久久久久综合日本亚洲,国产日韩欧美一区二区三区在线

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

上傳人:仙*** 文檔編號(hào):28526027 上傳時(shí)間:2021-08-29 格式:DOC 頁(yè)數(shù):20 大?。?37KB
收藏 版權(quán)申訴 舉報(bào) 下載
《微型計(jì)算機(jī)原理與接口技術(shù)》課程設(shè)計(jì)說(shuō)明書(shū)鍵盤(pán)錄入轉(zhuǎn)換程序設(shè)計(jì)_第1頁(yè)
第1頁(yè) / 共20頁(yè)
《微型計(jì)算機(jī)原理與接口技術(shù)》課程設(shè)計(jì)說(shuō)明書(shū)鍵盤(pán)錄入轉(zhuǎn)換程序設(shè)計(jì)_第2頁(yè)
第2頁(yè) / 共20頁(yè)
《微型計(jì)算機(jī)原理與接口技術(shù)》課程設(shè)計(jì)說(shuō)明書(shū)鍵盤(pán)錄入轉(zhuǎn)換程序設(shè)計(jì)_第3頁(yè)
第3頁(yè) / 共20頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《《微型計(jì)算機(jī)原理與接口技術(shù)》課程設(shè)計(jì)說(shuō)明書(shū)鍵盤(pán)錄入轉(zhuǎn)換程序設(shè)計(jì)》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《《微型計(jì)算機(jī)原理與接口技術(shù)》課程設(shè)計(jì)說(shuō)明書(shū)鍵盤(pán)錄入轉(zhuǎn)換程序設(shè)計(jì)(20頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、武漢理工大學(xué)《微型計(jì)算機(jī)原理與接口技術(shù)》課程設(shè)計(jì)說(shuō)明書(shū) 目 錄 摘要 Ⅰ 1設(shè)計(jì)概述 1 2 程序設(shè)計(jì)相關(guān)知識(shí)介紹 2 2.1 DOS及其功能調(diào)用 2 2.2 ASCII碼 6 3程序設(shè)計(jì) 7 3.1主程序設(shè)計(jì) 7 3.2 JUDGE子程序設(shè)計(jì) 9 3.3 CHANGE子程序設(shè)計(jì) 9 3.4 程序編寫(xiě) 10 4 程序調(diào)試 16 4.1匯編語(yǔ)言源程序的匯編、連接和裝入運(yùn)行 16 4.2調(diào)試過(guò)程與調(diào)試結(jié)果及分析 16 5 設(shè)計(jì)小結(jié) 17 心得體會(huì) 18 參考文獻(xiàn) 19 1設(shè)計(jì)概述 此次課程設(shè)計(jì)為鍵盤(pán)錄入轉(zhuǎn)換程序設(shè)計(jì),滿(mǎn)足以下要

2、求:通過(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ì)。

3、 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)中斷(20H~27H和2FH)分為兩種: 1. DOS專(zhuān)用中斷:INT22H、IN

4、T23H和INT24H,用戶(hù)不能使用。 2.DOS可調(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的中斷向量(中

5、斷處理程序首地址)被初始化在中斷向量表中向量地址為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

6、 直接控制臺(tái)I/O DL=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ū)首址

7、 0DH 初始化鍵盤(pán) 1.功能01H、07H和08H 功能描述:從標(biāo)準(zhǔn)輸入設(shè)備(如:鍵盤(pán))讀入一個(gè)字符。該中斷在處理過(guò)程中將一直處于等待狀態(tài)直到有字符可讀為止。該輸入還可被重定向,如果這樣做,則無(wú)法判斷文件是否已到文件尾。 入口參數(shù):AH=01H,過(guò)濾掉控制字符,并回顯。   AH=07H,不過(guò)濾掉控制字符,不回顯。   AH=08H,過(guò)濾掉控制字符,不回顯。 出口參數(shù):AL=輸入字符的ASCII碼。 例如:讀鍵盤(pán)輸入一個(gè)字符并且回顯的程序。 MOV AH,1 INT 21H 2.功能02H 功能描述:向標(biāo)準(zhǔn)輸出設(shè)備(如:屏幕)

8、輸出一個(gè)字符。該輸出還可被重定向,如果這樣做,則將無(wú)法判斷磁盤(pán)是否滿(mǎn)。 入口參數(shù):AH=02H,DL=待輸出字符的ASCII碼。 出口參數(shù):無(wú)。 其基本格式如下: MOV AH,2 MOV DL,要顯示的字符的ASCII INT 21H 3.功能03H 功能描述:從輔助設(shè)備讀入一個(gè)字符,該輔助設(shè)備的缺省值為COM1。 入口參數(shù):AH=03H。 出口參數(shù):AL=讀入字符的ASCII碼。 4.功能04H 功能描述:向輔助設(shè)備輸出一個(gè)字符,該輔助設(shè)備的缺省值為COM1 入口參數(shù):AH=04H,DL=待輸出字符的ASCII碼。 出口參數(shù):無(wú)。 5.功能06H 功能描述

9、:控制臺(tái)(如:鍵盤(pán)、屏幕)輸入/輸出。如果輸入/輸出操作被重定向,那么,將無(wú)法判斷文件是否已到文件尾,或磁盤(pán)已滿(mǎn)。 入口參數(shù):AH=06H,DL=輸入/輸出功能選擇。 出口參數(shù):若DL=00H-FEH,則此功能為輸出,DL為待輸出字符的ASCII碼;若DL=0FFH,則此功能為輸入,此時(shí):若ZF=1,則無(wú)字符可讀,否則,AL=讀入字符的ASCII碼。 6. 功能09H 功能描述:輸出一個(gè)字符串到標(biāo)準(zhǔn)輸出設(shè)備上。如果輸出操作被重定向,那么,將無(wú)法判斷磁盤(pán)已滿(mǎn)。 入口參數(shù):AH=09H,DS:DX=待輸出字符的地址,待顯示的字符串以’$’作為其結(jié)束標(biāo)志,否則會(huì)引起屏幕混亂。顯示時(shí)在字符串

10、結(jié)束前加上回車(chē)及換行的ASCII碼0DH和0AH,可使光標(biāo)自動(dòng)換行。 出口參數(shù):無(wú)。 其基本格式如下: MOV AH,9 LEA DX,<字符串> INT 21H 7.功能0AH 功能描述:從標(biāo)準(zhǔn)輸入設(shè)備上讀入一個(gè)字節(jié)字符串,遇到“回車(chē)鍵”結(jié)束輸入(輸入的字符在標(biāo)準(zhǔn)的輸出設(shè)備上有回顯)。如果該輸入操作被重定向,那么,將無(wú)法判斷文件是否已到文件尾。 入口參數(shù):AH=0AH,DS:DX=存放輸入字符的起始地址。第一個(gè)字節(jié)為緩沖區(qū)的最大容量,可認(rèn)為是入口參數(shù);第二個(gè)字節(jié)為實(shí)際輸入的字符數(shù)(不包括回車(chē)鍵),可看作出口參數(shù);從第三個(gè)字節(jié)開(kāi)始存放實(shí)際輸入的字符串;字符串以回車(chē)鍵結(jié)束,回車(chē)符

11、是接受的最后一個(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,STR1 MOV AH,OAH INT 21H 8.功能0BH 功能描述:檢查標(biāo)準(zhǔn)輸入設(shè)備上是否有字符可讀,該輸入操作可被重定向。 入口參數(shù):AH=0BH。 出口參數(shù):AL=00H——無(wú)字符可讀;FFH——有字符可讀。 9.功能0CH 功能描述:清空當(dāng)前的標(biāo)準(zhǔn)輸入緩沖區(qū),再讀入字符。其輸入操作可被重定向。 入口

12、參數(shù):AH=0CH,AL=01H、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è)英文

13、大寫(xiě)字母, 26個(gè)英文小寫(xiě)字母,0~9共十個(gè)數(shù)字,32個(gè)通用控制字符和34個(gè)專(zhuān)用字符。 在計(jì)算機(jī)中用一個(gè)字節(jié)存放字符編碼,故在ASCII的最高位補(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)空格前的字符串在

14、屏幕向以正序顯示,“.”前的字符串在屏幕上以反序顯示。 由于需要通過(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)輸入字符

15、有空格時(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子程序

16、 INT 21H的01H號(hào)子功能接收鍵入字符 CF=1? DH=1? ‘$’傳送到[STRING+SI+1] 調(diào)用CHANGE子程序 SI加1 Y N INT 21H的02H號(hào)子功能顯示回車(chē)和換行 INT 21H的09號(hào)子功能顯示STR2和STRING字符串 DI加1 N Y 結(jié) 束 圖1 主程序設(shè)計(jì)流程圖 3.2 JUDGE子程序設(shè)計(jì) 對(duì)輸入的字符首先判斷其是否為空格鍵,若為空格鍵則將DH和CF置1,并且將數(shù)輸入的字符送到STRING中,若不為空格鍵則繼續(xù)

17、判斷其是否為“.”鍵,則將CF置0,將其值返回后終止輸入字符。其程序流程圖如下。 將SI傳送給DI AL=20H? 將1傳送給DH AL=2EH? N Y JUDGE子程序 STC AL傳送到STRING Y N CF=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),然后將[S

18、TRING+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+SI] SI減1,DI加1 斷點(diǎn)數(shù)據(jù)出堆棧 CF=0? 返 回 N Y 圖3 CH

19、ANGE子程序流程圖 3.4 程序編寫(xiě) 根據(jù)分析和程序流程圖,編寫(xiě)以下程序。 %定義數(shù)據(jù)段% DATA SEGMENT STR1 DB‘PLEASE INPUT THE STRING:’,0AH,0DH,’$’ STR2 DB ‘THE RESULT IS:’,0AH,0DH,’$’ STRING DB 100 DUP(?) MENU1 DB WELCOME SUNLIFEI DE DESIGN $ DATA ENDS SHUCHU MACRO OP1,OP2,OP3,OP4,OP5,OP6 %循環(huán)輸出,用于初始化界面周邊的笑臉?lè)?/p>

20、% MOV CX,0 MOV DH,OP1 %起始行 MOV DL,OP2 %起始列% OP6: MOV AH,02H MOV BH,01H INT 10H PUSH CX MOV AH,0AH MOV AL,OP3 %要顯示的字符 MOV CX,01H MOV BH,00H INT 10H POP CX INC CX INC OP4 %這里指的要循環(huán)輸出的是行還是列% CMP CX,OP5 %循環(huán)次數(shù)% JNE OP6 ENDM ME

21、NU MACRO OP1,OP2,OP3 %用于屏幕上文字的輸出% MOV CX,0 %1,2為起始輸出的行、列,3為字符串的地址% MOV AH,02H MOV BH,00H MOV DH,OP1 MOV DL,OP2 INT 10H LEA DX,OP3 MOV AH,9 INT 21H ENDM CLS MACRO OP1,OP2,OP3,OP4 %用于清屏,分別是起止的行和列 MOV AH,6 MOV BH,17H MOV AL,0 MOV CH,OP1 MOV CL,OP2 MOV DH,OP3 MOV DL,OP4

22、 INT 10H MOV AH,2 MOV BH,0 MOV DH,0 MOV DL,0 INT 10H ENDM %定義堆棧段% 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%

23、 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

24、 %調(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: MOV[STRING+SI+1],‘$’ %傳送指令% CALL CHANGE %調(diào)用CHANGE子

25、程序% 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)功能,將輸入的字符串顯示%

26、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)輸入% I

27、NT 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 %將輸入

28、的數(shù)據(jù)與“.”比較% JNZ NEXT2 %輸入數(shù)據(jù)不為“.”時(shí)跳轉(zhuǎn)NEXT2% STC JMP NEXT3 %跳轉(zhuǎn)到NEXT3% NEXT2: CLC %標(biāo)志位CF清零% NECT3: MOV[STRING+SI],AL %傳送指令% RET %返回指令% JUDGE ENDP %字符串反向屏幕顯示子程序% CHANGE PROC PUSH AX

29、 %堆棧操作保護(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%

30、 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

31、 %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 RET CHANGE ENDP %子程序結(jié)束% CODE ENDS

32、 %代碼結(jié)束% END START 4 程序調(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)代碼、

33、注釋等全部信息,列表文件可供打印??晒卜终{(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é)果如下,由于輸入字

34、符存在“$”,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 有

35、空格鍵時(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ì)是昔日鎏金般的圓明園或是今日一塑自由女神像;

36、在電子工程師心中,設(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)行了梳理,遇到難處先是苦思冥

37、想再向同學(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)品

38、上市之初及以后相當(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ò)而能改,善莫大焉”的知行觀。 最后,我想我必須對(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. 6 [3] 戴梅萼. 微型計(jì)算機(jī)技術(shù)及應(yīng)用. 清華大學(xué)出版社 . 2005. 2 [4] 張小鳴. 微機(jī)原理與接口技術(shù). 清華大學(xué)出版社 . 2009.6 [5] 姚燕南. 微型計(jì)算機(jī)原理. 西安電子科技大學(xué)出版社 . 2005.9 19

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(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),我們立即給予刪除!