匯編語言課程設計---大小寫字母轉(zhuǎn)換_第1頁
已閱讀1頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設計報告</b></p><p>  2010~2011學年第二學期</p><p><b>  目錄</b></p><p>  1 、課程設計的目的···········

2、83;····································&

3、#183;3</p><p>  2 、課程設計的要求······························&

4、#183;··················3</p><p>  3、題目 ············

5、3;····································&#

6、183;········3</p><p>  4、設計思路·······················

7、·································3</p><p>

8、  5、程序流程圖···································&

9、#183;···················4</p><p>  6、設計源程序···········

10、3;····································&#

11、183;······5</p><p>  7、動畫示意圖·························

12、;······························8</p><p>  8、 總結(jié)·

13、3;····································&#

14、183;·····················8</p><p>  9、‘參考文獻··········

15、;··················8</p><p><b>  大小寫字母轉(zhuǎn)換</b></p><p><b>  一、課程設計的目的</b></p>

16、<p>  《匯編語言課程設計》是軟件工程專業(yè)集中實踐性環(huán)節(jié)之一,是學習完《匯編語言》課程后進行的一次全面的綜合練習。其目的是: </p><p>  培養(yǎng)學生熟練掌握匯編語言指令系統(tǒng),深化和鞏固指令系統(tǒng)和編程方法,提高學生的編程應用能力。為將來從事專業(yè)工作打下基礎,培養(yǎng)良好的職業(yè)道德和嚴謹?shù)墓ぷ髯黠L。</p><p><b>  二、課程設計的要求</b&g

17、t;</p><p>  具備初步的獨立分析和解決問題的能力;</p><p>  初步掌握問題分析、系統(tǒng)設計、程序編碼、測試等基本方法和技能;</p><p>  提高綜合運用所學的理論知識和方法的能力;</p><p>  訓練用系統(tǒng)的觀點和軟件開發(fā)一般規(guī)范進行軟件開發(fā),培養(yǎng)科學的工作方法和作風;</p><p>

18、  設計的題目要求達到一定工作量,并具有一定的深度和難度;</p><p>  編寫出課程設計說明書。</p><p><b>  三、題目</b></p><p>  輸入大寫字母,轉(zhuǎn)換成小寫字母;輸入小寫字母轉(zhuǎn)換成大寫字母;非字母,發(fā)出警告聲。</p><p>  四、課程設計報告內(nèi)容</p><

19、p><b>  設計思路:</b></p><p>  課程設計要求進行大小寫字母的轉(zhuǎn)換。其實字母大小寫的區(qū)別在于他們的ASCII碼范圍,它們之間的轉(zhuǎn)換其實就是加減相應的ASCII碼值。在判斷輸入的字母是大寫的還是小寫的(即判斷輸入符號ASCII碼在41H~5AH還是在61H~7AH內(nèi))之后,決定判斷是加上還是減去ASCII碼值。另外如果輸入的不是字母(輸入字符對應ASCII碼值不在4

20、1H~5AH或61H~7AH內(nèi)),則需要報警提示,這不但涉及到用匯編語言實現(xiàn)發(fā)聲的方法,而且對計算機硬件的了解也有要求,因此原理部分加入了部分有關(guān)聲音產(chǎn)生的硬件知識。</p><p>  五、 程序設計流程圖</p><p><b>  1</b></p><p><b>  N</b></p><p&

21、gt;  Y </p><p><b>  圖2-1程序流程圖</b></p><p><b>  六、設計源程序</b></p><p>  code segment ;代碼段</p><p>  assu

22、me cs:code,ds:code</p><p>  org 100h ;從100h開始</p><p>  start: jmp begin ;跳到begin</p><p>  p1 db 100 </p><p>&

23、lt;b>  p2 db 0</b></p><p>  array db 100h dup(?) ;置100個字節(jié)的緩沖區(qū)存放數(shù)據(jù)</p><p><b>  begin:</b></p><p>  lea bx,array ;將array的首地址給bx</p>

24、;<p>  mov ax,cs </p><p>  mov ds,ax ;置cs-->ds</p><p>  mov dx,offset p1 ;將p1的偏移量給dx</p><p>  mov ah,0ah

25、 ;調(diào)用中斷21的0a號功能從鍵盤接收字符</p><p><b>  int 21h</b></p><p>  xor bx,bx ;將bx清零</p><p>  mov bl,p2 ;p2-->bl</p><p> 

26、 mov array[bx],'$' ;送'$'至字符串尾</p><p>  mov di,0ffffh ;-1-->di</p><p>  next: inc di ;di自加</p><p>  cmp array[d

27、i],'$' ;比較</p><p>  je exit ;相等,則跳到exit執(zhí)行</p><p>  cmp array[di],41h ;(A~Z-->41h-5ah a~z-->61h-7ah)與A比較</p><p>  jl ex

28、it1 ;小于,則跳</p><p>  cmp array[di],5ah ;與Z比較</p><p>  jg next1 ;大于,則跳</p><p>  add array[di],20h ;加20h,大寫轉(zhuǎn)小寫</p>

29、;<p>  jmp next </p><p>  next1: cmp array[di],'$' ;比較</p><p>  je exit ;相等,則跳到exit執(zhí)行</p><p>  cmp array[di],61h

30、 ;(A~Z-->41h-5ah a~z-->61h-7ah)與a比較</p><p>  jl next ;小于,則跳</p><p>  cmp array[di],7ah ;與z比較</p><p>  jg exit1

31、 ;大于,則跳</p><p>  sub array[di],20h ;減20h,小寫轉(zhuǎn)大寫</p><p>  jmp next </p><p>  disp: loop next</p><p>  exit: mov p1,0dh

32、 ;回車換行</p><p>  mov p2,0ah</p><p>  mov ah,09h</p><p><b>  int 21h</b></p><p><b>  jmp begin</b></p><p>  exit1: mov p1, 0dh<

33、;/p><p>  mov p2, 0ah </p><p>  call sound ;調(diào)用發(fā)聲子程序</p><p>  call sound</p><p>  call sound</p><p>  call sound</p><p><b&

34、gt;  jmp begin</b></p><p>  mov ah,4ch ;程序結(jié)束</p><p><b>  int 21h </b></p><p>  sound proc</p><p><b>  push ax</b></

35、p><p><b>  push dx</b></p><p>  mov dx, cx</p><p><b>  in al,61h</b></p><p>  and al,11111100b ;使第0,1位為0</p><p>  trig:

36、xor al,2 ;使第1位翻轉(zhuǎn) PB的低兩位為3,即使輸出有效</p><p>  out 61h,al</p><p><b>  mov cx,bx</b></p><p>  delay:loop delay</p><p>  dec dx </p>

37、;<p>  jne trig </p><p><b>  pop dx</b></p><p><b>  pop ax</b></p><p><b>  ret</b></p><p>  sound endp</p><p>

38、<b>  code ends</b></p><p><b>  end begin</b></p><p>  七、 運行結(jié)果分析:</p><p>  當輸入字母串ABCDEFabcdef后,按回車鍵轉(zhuǎn)換為abcdefABCDEF,結(jié)果如下圖所示:</p><p>  圖2-2 程序運行結(jié)果&

39、lt;/p><p>  當輸入非英文字母時,按下回車鍵后發(fā)出滴滴的報警聲,實現(xiàn)程序功能。</p><p><b>  八、總結(jié)</b></p><p>  《匯編語言課程設計》是軟件工程專業(yè)集中實踐性環(huán)節(jié)之一,是學習完《匯編語言》課程后進行的一次全面的綜合練習。通過這次匯編語言課程設計讓我初步掌握問題分析、系統(tǒng)設計、程序編碼、測試等基本方法和技能,

40、提高綜合運用所學的理論知識和方法的能力, 初步具備的獨立分析和解決問題的能力。</p><p>  這次課程設計,使我能熟練掌握匯編語言指令系統(tǒng),深化和鞏固指令系統(tǒng)和編程方法,提高學生的編程應用能力。為將來從事專業(yè)工作打下基礎,培養(yǎng)良好的職業(yè)道德和嚴謹?shù)墓ぷ髯黠L。</p><p><b>  九、參考文獻:</b></p><p>  [1]《

41、匯編語言程序設計》,朱耀庭等編著,北京:清華大學出版社</p><p>  [2] 姚燕南,薛鈞義主編.《微型計算機原理》第四版.西安電子科技大學出版社.</p><p>  [3] 潘峰主編.《微型計算機原理與匯編語言》第三版.電子工業(yè)出版社.</p><p>  [4] 雛逢興編著.《計算機硬件技術(shù)基礎》高等教育出版社.</p><p>

溫馨提示

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

評論

0/150

提交評論