2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  摘要</b></p><p>  匯編語言是面向機(jī)器的程序設(shè)計(jì)語言。在匯編語言中,用助記符代替操作碼,用地址符號(hào)或標(biāo)號(hào)代替地址碼。這樣用符號(hào)代替機(jī)器語言的二進(jìn)制代碼,就把機(jī)器語言變成了匯編語言。匯編語言能夠最大限度的發(fā)揮硬件的性能。</p><p>  本次課程設(shè)計(jì)的內(nèi)容是使用匯編語言設(shè)計(jì)一個(gè)可運(yùn)行于計(jì)算機(jī)的時(shí)鐘模擬顯示程序。要求在屏幕中

2、央顯示當(dāng)前時(shí)間,格式為"時(shí):分:秒"且12/24時(shí)制可調(diào)。</p><p>  關(guān)鍵詞:計(jì)算機(jī) 匯編語言 電子時(shí)鐘</p><p><b>  Abstract</b></p><p>  Assembly language is a programming language for the machine. In as

3、sembly language, the use of mnemonics instead of operation code, instead of the address code with the address sign or label. This use of symbols instead of binary machine language code, put the assembly language into mac

4、hine language. Assembly language can maximize the performance of hardware.</p><p>  The content of this course design is the use of assembly language to design a simulation display program can be run on a c

5、omputer clock. Requirements: the current time is displayed in the center of the screen, the format is "hours: minutes: seconds" and the system is adjustable for 12/24.</p><p><b>  目錄</b>

6、;</p><p>  第一章 緒論 …………………………………………………………………1</p><p>  1.1 電子時(shí)鐘的背景………………………………………………………1</p><p>  1.2 電子時(shí)鐘的應(yīng)用………………………………………………………1</p><p>  第二章 總體設(shè)計(jì)………………………………………………

7、……………2</p><p>  2.1 設(shè)計(jì)內(nèi)容………………………………………………………………2</p><p>  2.2 設(shè)計(jì)原理………………………………………………………………2</p><p>  2.3 程序流程圖……………………………………………………………3</p><p>  第三章 詳細(xì)設(shè)計(jì)……………………………………

8、………………………4</p><p>  3.1 時(shí)制選擇模塊…………………………………………………………4</p><p>  3.2 設(shè)置時(shí)間模塊…………………………………………………………4</p><p>  3.3 延時(shí)模塊………………………………………………………………5</p><p>  3.4 時(shí)間顯示模塊………………………

9、…………………………………6</p><p>  第四章 調(diào)試過程及結(jié)果 ……………………………………………………8</p><p>  4.1 調(diào)試過程………………………………………………………………8</p><p>  4.2 運(yùn)行結(jié)果………………………………………………………………8</p><p>  總結(jié)………………………………

10、……………………………………………10</p><p>  致謝……………………………………………………………………………11</p><p>  附錄……………………………………………………………………………12</p><p><b>  第一章 緒論</b></p><p>  1.1電子時(shí)鐘的背景 </

11、p><p>  20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 時(shí)間對(duì)人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間,忘記了要做的事情,當(dāng)事情不是很重要的時(shí)候,這種遺忘無傷大雅。但是,一旦重要事情,一時(shí)的耽誤可能釀成大禍。</p>

12、<p>  電子時(shí)鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。</p><p>  1.2電子時(shí)鐘的應(yīng)用</p><p>  電子鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,通常具有可選的12小時(shí)或24小時(shí)的計(jì)時(shí)方式,能快速校準(zhǔn)時(shí)、分、秒。與機(jī)械時(shí)鐘相比,電子鐘更具有直

13、觀性,且因非機(jī)械驅(qū)動(dòng),具有更長的使用壽命,相較石英鐘的石英機(jī)芯驅(qū)動(dòng),更具準(zhǔn)確性。電子鐘已成為人們?nèi)粘I钪斜夭豢缮俚谋匦杵?,廣泛用于個(gè)人家庭以及車站、碼頭、劇院、辦公室等公共場(chǎng)所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),它還用于計(jì)時(shí)、自動(dòng)報(bào)時(shí)及自動(dòng)控制等各個(gè)領(lǐng)域。</p><p><b>  第二章

14、總體設(shè)計(jì)</b></p><p><b>  2.1 設(shè)計(jì)內(nèi)容</b></p><p>  使用匯編語言設(shè)計(jì)一個(gè)可運(yùn)行于計(jì)算機(jī)的時(shí)鐘模擬顯示程序。程序運(yùn)行成功后,界面中首先顯示“12/24:”提示選擇12或24時(shí)制,輸入以后會(huì)出現(xiàn)“please enter the time:”提示輸入初始時(shí)間,其格式為:時(shí)(xx):分(xx):秒(xx)。然后界面就出現(xiàn)所

15、設(shè)的初值并開始計(jì)時(shí),其輸出格式為xx:xx:xx。</p><p><b>  2.2 設(shè)計(jì)原理</b></p><p> ?。?)12/24時(shí)制的設(shè)置</p><p>  調(diào)用DOS操作系統(tǒng)模塊1,輸入12/24時(shí)制的第一位即高位,再調(diào)用DOS操作系統(tǒng)模塊1輸入12/24時(shí)制的第二位即低位。然后將輸入的兩個(gè)ASCII碼值轉(zhuǎn)換為壓縮BCD碼存入

16、定義的變量S中,用于與12H比較并跳轉(zhuǎn)到相應(yīng)進(jìn)制顯示的程序中。</p><p> ?。?)時(shí)鐘起始時(shí)間的設(shè)置</p><p>  先調(diào)用設(shè)置光標(biāo)子程序和清除屏幕子程序,調(diào)用DOS操作系統(tǒng)模塊9,在顯示屏上顯示提示符“please enter the time:”,再調(diào)用DOS操作系統(tǒng)模塊10,提示要輸入時(shí)鐘的起始時(shí)間,輸入時(shí)間的格式是“時(shí)(xx):分(xx):秒(xx)”。</p&g

17、t;<p><b> ?。?)延時(shí)程序</b></p><p>  調(diào)用TIME延時(shí)1s子程序,累加到存放秒值的寄存器DL中,并進(jìn)行十進(jìn)制調(diào)整。在累加的過程中,不斷地對(duì)時(shí)、分、秒進(jìn)行比較調(diào)整。</p><p><b> ?。?)時(shí)間顯示</b></p><p>  調(diào)用DOS操作系統(tǒng)模塊9,可用來顯示存儲(chǔ)器內(nèi)

18、字符串。由于顯示的字符串必須為ASCII編碼,因此要編寫一個(gè)子程序?qū)嚎sBCD碼字符串轉(zhuǎn)換成ASCII碼字符串,字符串最后以字符“$”結(jié)束,并按時(shí)、分、秒的順序送存儲(chǔ)器緩沖區(qū)內(nèi)。調(diào)用DOS操作系統(tǒng)模塊9時(shí),(DS:DX)應(yīng)指向字符串首址。</p><p>  程序一旦進(jìn)入運(yùn)行,就將不間斷地在顯示屏顯示時(shí)間,要想使程序停止運(yùn)行,可同時(shí)在鍵盤按下Ctrl和Break二鍵。</p><p>&l

19、t;b>  2.3 程序流程圖</b></p><p><b>  第三章 詳細(xì)設(shè)計(jì)</b></p><p>  3.1 時(shí)制選擇模塊</p><p>  要想實(shí)現(xiàn)此功能需使用分支結(jié)構(gòu)程序,從1號(hào)中斷輸入時(shí)制,然后將輸入的兩個(gè)ASCII碼值轉(zhuǎn)換為壓縮BCD碼存入定義的變量S中,用于與12H比較,跳轉(zhuǎn)到相應(yīng)進(jìn)制顯示的程序中。其程

20、序片段如下:</p><p>  MOV AH,1    ;DOS功能模塊,從鍵盤輸入字符 INT 21H</p><p>  MOV BL,AL ;將輸入的12或24轉(zhuǎn)換為壓縮BCD碼存放在變量S中</p><p>  AND BL,0FH</p><p><b>  SHL

21、 BL,1</b></p><p><b>  SHL BL,1</b></p><p><b>  SHL BL,1</b></p><p><b>  SHL BL,1</b></p><p><b>  MOV AH,1</b></

22、p><p><b>  INT 21H</b></p><p><b>  MOV CL,AL</b></p><p>  AND CL,0FH</p><p><b>  OR CL,BL</b></p><p><b>  MOV S,CL&l

23、t;/b></p><p>  MOV AH,1 ;輸入最后一個(gè)回車字符</p><p><b>  INT 21H</b></p><p><b>  ……</b></p><p><b>  CMP S,12H</b></p><p

24、>  JNZ JZ24 ;24進(jìn)制則跳轉(zhuǎn)到J24執(zhí)行24進(jìn)制顯示的程序</p><p><b>  3.2設(shè)置時(shí)間模塊</b></p><p>  先調(diào)用設(shè)置光標(biāo)子程序和清除屏幕子程序,調(diào)用DOS操作系統(tǒng)模塊9,在顯示屏上顯示提示語“please enter the time:”,再調(diào)用DOS操作系統(tǒng)模塊10,提示要輸入時(shí)鐘的起始時(shí)間,輸入時(shí)間的格

25、式是“時(shí)(xx):分(xx):秒(xx)”。輸入的時(shí)間以字符串形式放在已定義的存儲(chǔ)器緩沖區(qū),然后調(diào)用TBCD和MUL10子程序,將存放在存儲(chǔ)器緩沖區(qū)的ASCII字符轉(zhuǎn)換成壓縮BCD碼,并將時(shí)、分、秒的值放置在寄存器CH、DH、DL中。其程序片段如下:</p><p>  MOV DX,OFFSET CT    ;DOS功能模塊,顯示字符串,提示從鍵盤輸入  

26、;MOV AH,9  INT 21H</p><p>  MOV DX,OFFSET BUFFER</p><p>  MOV AH,10    ;DOS功能模塊,從鍵盤輸入字符串到緩沖區(qū) INT 21H</p><p>  MOV BX,OFFSET BUFFER+2<

27、;/p><p>  CALL TBCD ;時(shí)轉(zhuǎn)換為BCD數(shù) </p><p><b>  INC BX</b></p><p><b>  INC BX</b></p><p>  CALL TBCD ;分轉(zhuǎn)換為B

28、CD數(shù) </p><p>  INC BX </p><p><b>  INC BX</b></p><p>  CALL TBCD ;秒轉(zhuǎn)換為BCD數(shù)</p><p>  MOV BX,OFFSET BUFFER+2 ;原輸入緩沖區(qū)的BCD

29、數(shù)轉(zhuǎn)換壓縮BCD數(shù)的同時(shí)將輸入緩沖區(qū)的數(shù)據(jù)傳給CH(時(shí)),DH(分),DL(秒)</p><p>  MOV AL,[BX] </p><p>  CALL MUL10 </p><p>  MOV CH,AL </p><p><b>  INC

30、 BX</b></p><p><b>  INC BX</b></p><p><b>  3.3 延時(shí)模塊</b></p><p>  調(diào)用TIME延時(shí)1s子程序,累加到存放秒值的寄存器DL中,并進(jìn)行十進(jìn)制調(diào)整。在累加的過程中,不斷地對(duì)時(shí)、分、秒進(jìn)行比較,秒不能等于60,分不能等于60,時(shí)不能等于12或

31、24。秒等于限值時(shí),則使秒值為0并且分值加1;時(shí)等于限值時(shí),先置零然后就轉(zhuǎn)顯示屏輸出。其程序片段如下:</p><p>  TIME PROC </p><p><b>  PUSH CX</b></p><p><b>  PUSH AX</b></p>

32、<p>  MOV AX,25000 ;嵌套循環(huán)AX為外循環(huán),CX為內(nèi)循環(huán)</p><p>  WAITED: MOV CX,24000</p><p>  GOON: LOOP GOON</p><p><b>  DEC AX</b></p><p>  JNZ WAITED&l

33、t;/p><p><b>  POP AX</b></p><p><b>  POP CX</b></p><p><b>  RET </b></p><p>  TIME ENDP</p><p><b>  3.4時(shí)間顯示模塊</

34、b></p><p>  調(diào)用DOS操作系統(tǒng)模塊9,可用來顯示存儲(chǔ)器內(nèi)字符串。由于顯示的字符串必須為ASCII編碼,因此要編寫一個(gè)子程序TRAN將寄存器CH、DH、DL內(nèi)壓縮BCD碼字符串轉(zhuǎn)換成ASCII碼字符串,字符串最后以字符“$”結(jié)束,并按時(shí)、分、秒的順序送存儲(chǔ)器緩沖區(qū)內(nèi)。調(diào)用DOS操作系統(tǒng)模塊9時(shí),(DS:DX)應(yīng)指向字符串首址。其程序片段如下:</p><p>  DISP

35、LAY: MOV BX,OFFSET BUFFER </p><p><b>  INC BX</b></p><p><b>  INC BX</b></p><p>  CALL CLEAR</p><p><b>  CALL SET</b>

36、;</p><p>  MOV AL,CH ;將小時(shí)的壓縮BCD數(shù)轉(zhuǎn)化為ASCII碼在存儲(chǔ)器中進(jìn)行修改</p><p>  CALL TRAN </p><p><b>  INC BX</b></p><p>  MOV AL,':' ;在中間添加一個(gè)‘:’</p&

37、gt;<p>  MOV [BX],AL</p><p><b>  INC BX</b></p><p>  MOV AL,DH </p><p>  CALL TRAN </p><p><b>  INC BX</b></p><p>  

38、MOV AL,':'</p><p>  MOV [BX],AL</p><p><b>  INC BX</b></p><p>  MOV AL,DL </p><p>  CALL TRAN </p><p><b&g

39、t;  ……</b></p><p>  TRANPROC </p><p>  MOV CL,AL </p><p><b>  SHR AL,1</b></p><p><b>  SHR AL,1</b>

40、;</p><p><b>  SHR AL,1</b></p><p><b>  SHR AL,1</b></p><p><b>  OR AL,30H</b></p><p>  MOV [BX],AL</p><p><b>  IN

41、C BX</b></p><p><b>  MOV AL,CL</b></p><p>  AND AL,0FH</p><p><b>  OR AL,30H</b></p><p>  MOV [BX],AL</p><p><b>  RET&

42、lt;/b></p><p><b>  TRANENDP</b></p><p>  第四章 調(diào)試過程及結(jié)果</p><p><b>  4.1 調(diào)試過程</b></p><p> ?。?)編寫源程序,并命名為1.asm,并保存于asm文件夾中。</p><p> 

43、 (2)在DOS窗口下匯編源程序,使之生成目標(biāo)文件,檢查其中的錯(cuò)誤并改正,直到編譯無錯(cuò)誤出現(xiàn)為止。</p><p> ?。?)連接目標(biāo)程序,產(chǎn)生可執(zhí)行文件1.exe,運(yùn)行1.exe。</p><p> ?。?)屏幕上顯示提示語“12/24:”,用戶輸入12或者24即可實(shí)現(xiàn)12或24進(jìn)制的轉(zhuǎn)換。</p><p> ?。?)屏幕上顯示“please enter the

44、time:”,用戶輸入初始時(shí)間,輸入格式為時(shí)(xx):分(xx):秒(xx)。</p><p>  (6)電子鐘從用戶設(shè)定的時(shí)間開始計(jì)時(shí)。</p><p><b>  4.2 運(yùn)行結(jié)果</b></p><p><b> ?。?)時(shí)制選擇界面</b></p><p>  (2)設(shè)置初始時(shí)間界面<

45、/p><p><b> ?。?)時(shí)間顯示界面</b></p><p><b>  總結(jié)</b></p><p>  編寫各個(gè)模塊所需代碼并調(diào)試運(yùn)行成功后,課程設(shè)計(jì)所要求的電子時(shí)鐘顯示軟件便設(shè)計(jì)完成了,它能顯示數(shù)字式的時(shí)鐘,并且能設(shè)置時(shí)鐘進(jìn)制和初值。整個(gè)頁面簡潔清晰,方便用戶讀取,且操作簡捷,符合課程設(shè)計(jì)中的各項(xiàng)要求。</

46、p><p>  代碼完成后我深切地感覺到,在寫一個(gè)程序的時(shí)候,一定要先設(shè)計(jì)整個(gè)程序的流程圖。因?yàn)閰R編語言是一種低級(jí)語言,沒有面向?qū)ο蟮母拍?,所以在做設(shè)計(jì)的過程中,我們每一步要做什么,每一步要完成什么任務(wù)都必須有清楚的思路,而且畫流程圖在程序測(cè)試的過程中也有利于查錯(cuò)。在編寫程序的時(shí)候,可以多利用左移或右移的操作,這樣會(huì)節(jié)省寄存器的使用。另外,當(dāng)寄存器不夠用時(shí),可以先把幾個(gè)寄存器壓棧,進(jìn)行操作后再出棧,而且這樣不會(huì)改變寄

47、存器中的值。</p><p>  通過這次課程設(shè)計(jì),我對(duì)日常生活中司空見慣的時(shí)鐘的工作原理有了一個(gè)比較深入的了解,認(rèn)識(shí)到了理論與實(shí)際相結(jié)合的重要性,對(duì)課本上的知識(shí)在實(shí)際生活中的運(yùn)用也有了進(jìn)一步的了解,同時(shí)基本上能夠掌握利用匯編語言編程的步驟,可以說是受益匪淺。</p><p><b>  附錄</b></p><p><b>  參考

48、文獻(xiàn)</b></p><p>  [1] 周佩玲,彭虎傅,傅忠謙. 微機(jī)原理與接口技術(shù). 電子工業(yè)出版社.2011 </p><p>  [2] 楊記文. 匯編語言程序設(shè)計(jì)教程. 清華大學(xué)出版社.1998</p><p>  [3] 王爽. 匯編語言(第2版).清華大學(xué)出版社.2008</p><p>  [4] 丁輝. 匯編語言

49、程序設(shè)計(jì)(第3版).電子工業(yè)出版社.2009</p><p>  [5] 邵玉祥. 匯編語言程序設(shè)計(jì). 科學(xué)出版社.2005</p><p>  [6] 賈志平. 微機(jī)原理與接口技術(shù). 中國水利水電出版社.1999</p><p>  [7] 胡薔. 微機(jī)原理及應(yīng)用. 機(jī)械工業(yè)出版社.2006</p><p>  [8] 朱金均,麻新旗. 微

50、機(jī)原理及應(yīng)用技術(shù)(第二版). 機(jī)械工業(yè)出版社.2005</p><p>  [9] 沈美明,溫冬嬋. IBM-PC匯編語言程序設(shè)計(jì).清華大學(xué)出版社.1993</p><p>  [10] 錢曉捷. 新版匯編語言程序設(shè)計(jì). 電子工業(yè)出版社.2007</p><p>  [11] 顧濱. 8086微型計(jì)算機(jī)組成原理及接口.機(jī)械工業(yè)出版社.2001</p>

51、<p>  [12] 呂淑萍. 微型計(jì)算機(jī)原理及應(yīng)用.哈爾濱工程大學(xué)出版社.2004</p><p>  [13] 戴梅萼. 微型計(jì)算機(jī)技術(shù)及應(yīng)用.清華大學(xué)出版社.2005 </p><p>  [14] 姚君遺. 匯編語言程序設(shè)計(jì). 南京大學(xué)出版社</p><p>  [15] (美)埃爾溫. Assembly language for intel-bo

溫馨提示

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

評(píng)論

0/150

提交評(píng)論